]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
MED CMakization.
authorageay <ageay>
Fri, 23 Mar 2012 09:00:20 +0000 (09:00 +0000)
committerageay <ageay>
Fri, 23 Mar 2012 09:00:20 +0000 (09:00 +0000)
src/INTERP_KERNELTest/CMakeLists.txt [new file with mode: 0644]
src/INTERP_KERNELTest/perf_test.py [new file with mode: 0755]

diff --git a/src/INTERP_KERNELTest/CMakeLists.txt b/src/INTERP_KERNELTest/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d516f42
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright (C) 2007-2011  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE_DIRECTORIES(
+  ${CPPUNIT_INCLUDES_DIR}
+  ${HDF5_INCLUDES_DIR}
+  ${MED3_INCLUDES_DIR}
+  ${XDR_INCLUDES_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../MEDMEM
+  ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
+  ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
+  ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
+  ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
+  ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
+  )
+
+SET(InterpKernelTest_SOURCES
+  BBTreeTest.cxx
+  CppUnitTest.cxx
+  ExprEvalInterpTest.cxx
+  QuadraticPlanarInterpTest.cxx
+  QuadraticPlanarInterpTest2.cxx
+  QuadraticPlanarInterpTest3.cxx
+  QuadraticPlanarInterpTest4.cxx
+  QuadraticPlanarInterpTest5.cxx
+  SingleElementPlanarTests.cxx
+  TransformedTriangleIntersectTest.cxx
+  TransformedTriangleTest.cxx
+  UnitTetra3D2DIntersectionTest.cxx
+  UnitTetraIntersectionBaryTest.cxx
+  TestInterpKernelUtils.cxx
+)
+
+SET(TestINTERP_KERNEL_SOURCES
+  TestInterpKernel.cxx
+  )
+
+SET(PerfTest_SOURCES
+  PerfTest.cxx
+  )
+
+IF(NOT MED_ENABLE_MICROMED)
+  SET(InterpKernelTest_SOURCES
+    ${InterpKernelTest_SOURCES}
+    InterpolationOptionsTest.cxx
+    MEDMeshMaker.cxx
+    PointLocatorTest.cxx
+    )
+  
+  SET(PerfTest_SOURCES
+    PerfTest.cxx
+    )
+  ADD_EXECUTABLE(PerfTest ${PerfTest_SOURCES})
+  SET_TARGET_PROPERTIES(PerfTest PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+  TARGET_LINK_LIBRARIES(PerfTest InterpKernelTest ${CPPUNIT_LIBS})
+ENDIF(NOT MED_ENABLE_MICROMED)
+
+ADD_LIBRARY(InterpKernelTest SHARED ${InterpKernelTest_SOURCES})
+SET_TARGET_PROPERTIES(InterpKernelTest PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+TARGET_LINK_LIBRARIES(InterpKernelTest medmem ${CPPUNIT_LIBS})
+
+ADD_EXECUTABLE(TestINTERP_KERNEL ${TestINTERP_KERNEL_SOURCES})
+SET_TARGET_PROPERTIES(TestINTERP_KERNEL PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+TARGET_LINK_LIBRARIES(TestINTERP_KERNEL InterpKernelTest ${CPPUNIT_LIBS})
+ADD_TEST(TestINTERP_KERNEL TestINTERP_KERNEL)
+
+INSTALL(TARGETS TestINTERP_KERNEL DESTINATION ${MED_salomebin_BINS})
+INSTALL(TARGETS InterpKernelTest DESTINATION ${MED_salomelib_LIBS})
diff --git a/src/INTERP_KERNELTest/perf_test.py b/src/INTERP_KERNELTest/perf_test.py
new file mode 100755 (executable)
index 0000000..1f1dfde
--- /dev/null
@@ -0,0 +1,146 @@
+#! /bin/env python
+# Copyright (C) 2007-2011  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import re
+import sys
+import time
+import subprocess
+
+RES_FILE="perf_OPTIMIZE"
+
+def test_pair(par1,par2):
+    c=re.compile("[\D]*(?P<num>[\d]+)")
+    val1=c.match(par1).group("num")
+    val2=c.match(par2).group("num")
+    st="%s %s"%(val1,val2)
+    ret=subprocess.call(["./PerfTest",par1,par2])
+    if ret!=0:
+        f=file(RES_FILE,"w") ; f.write("Error on case %s %s !!!!\n"%(par1,par2)) ; del f
+        sys.exit(ret)
+        pass
+    return st
+
+def test_box_box():
+    st="PerfBox PerfBox\n"
+    st+=test_pair("PerfBox1495","PerfBox1495")
+    st+=test_pair("PerfBox2506","PerfBox2506")
+    st+=test_pair("PerfBox5708","PerfBox5708")
+    st+=test_pair("PerfBox13461","PerfBox13461")
+    st+=test_pair("PerfBox30808","PerfBox30808")
+    st+=test_pair("PerfBox47176","PerfBox47176")
+    st+=test_pair("PerfBox1495","PerfBox2506")
+    st+=test_pair("PerfBox1495","PerfBox5708")
+    st+=test_pair("PerfBox1495","PerfBox13461")
+    st+=test_pair("PerfBox1495","PerfBox30808")
+    st+=test_pair("PerfBox1495","PerfBox47176")
+    st+=test_pair("PerfBox2506","PerfBox5708")
+    st+=test_pair("PerfBox2506","PerfBox13461")
+    st+=test_pair("PerfBox2506","PerfBox30808")
+    st+=test_pair("PerfBox2506","PerfBox47176")
+    st+=test_pair("PerfBox5708","PerfBox13461")
+    st+=test_pair("PerfBox5708","PerfBox30808")
+    st+=test_pair("PerfBox5708","PerfBox47176")
+    st+=test_pair("PerfBox13461","PerfBox30808")
+    st+=test_pair("PerfBox13461","PerfBox47176")
+    st+=test_pair("PerfBox30808","PerfBox47176")
+    pass
+
+def test_cyl_cyl():
+    st="PerfCyl PerfCyl\n"
+    st+=test_pair("PerfCyl1047","PerfCyl1047")
+    st+=test_pair("PerfCyl3020","PerfCyl3020")
+    st+=test_pair("PerfCyl6556","PerfCyl6556")
+    st+=test_pair("PerfCyl9766","PerfCyl9766")
+    st+=test_pair("PerfCyl25745","PerfCyl25745")
+    st+=test_pair("PerfCyl47601","PerfCyl47601")
+    st+=test_pair("PerfCyl1047","PerfCyl3020")
+    st+=test_pair("PerfCyl1047","PerfCyl6556")
+    st+=test_pair("PerfCyl1047","PerfCyl9766")
+    st+=test_pair("PerfCyl1047","PerfCyl25745")
+    st+=test_pair("PerfCyl1047","PerfCyl47601")
+    st+=test_pair("PerfCyl3020","PerfCyl6556")
+    st+=test_pair("PerfCyl3020","PerfCyl9766")
+    st+=test_pair("PerfCyl3020","PerfCyl25745")
+    st+=test_pair("PerfCyl3020","PerfCyl47601")
+    st+=test_pair("PerfCyl6556","PerfCyl9766")
+    st+=test_pair("PerfCyl6556","PerfCyl25745")
+    st+=test_pair("PerfCyl6556","PerfCyl47601")
+    st+=test_pair("PerfCyl9766","PerfCyl25745")
+    st+=test_pair("PerfCyl9766","PerfCyl47601")
+    st+=test_pair("PerfCyl25745","PerfCyl47601")
+    return st
+
+def test_box_cyl():
+    st="PerfBox PerfCyl\n"
+    st+=test_pair("PerfBox1495","PerfCyl1047")
+    st+=test_pair("PerfBox1495","PerfCyl3020")
+    st+=test_pair("PerfBox1495","PerfCyl6556")
+    st+=test_pair("PerfBox1495","PerfCyl9766")
+    st+=test_pair("PerfBox1495","PerfCyl25745")
+    st+=test_pair("PerfBox1495","PerfCyl47601")
+    st+=test_pair("PerfBox2506","PerfCyl1047")
+    st+=test_pair("PerfBox2506","PerfCyl3020")
+    st+=test_pair("PerfBox2506","PerfCyl6556")
+    st+=test_pair("PerfBox2506","PerfCyl9766")
+    st+=test_pair("PerfBox2506","PerfCyl25745")
+    st+=test_pair("PerfBox2506","PerfCyl47601")
+    st+=test_pair("PerfBox5708","PerfCyl1047")
+    st+=test_pair("PerfBox5708","PerfCyl3020")
+    st+=test_pair("PerfBox5708","PerfCyl6556")
+    st+=test_pair("PerfBox5708","PerfCyl9766")
+    st+=test_pair("PerfBox5708","PerfCyl25745")
+    st+=test_pair("PerfBox5708","PerfCyl47601")
+    st+=test_pair("PerfBox13461","PerfCyl1047")
+    st+=test_pair("PerfBox13461","PerfCyl3020")
+    st+=test_pair("PerfBox13461","PerfCyl6556")
+    st+=test_pair("PerfBox13461","PerfCyl9766")
+    st+=test_pair("PerfBox13461","PerfCyl25745")
+    st+=test_pair("PerfBox13461","PerfCyl47601")
+    st+=test_pair("PerfBox30808","PerfCyl1047")
+    st+=test_pair("PerfBox30808","PerfCyl3020")
+    st+=test_pair("PerfBox30808","PerfCyl6556")
+    st+=test_pair("PerfBox30808","PerfCyl9766")
+    st+=test_pair("PerfBox30808","PerfCyl25745")
+    st+=test_pair("PerfBox30808","PerfCyl47601")
+    st+=test_pair("PerfBox47176","PerfCyl1047")
+    st+=test_pair("PerfBox47176","PerfCyl3020")
+    st+=test_pair("PerfBox47176","PerfCyl6556")
+    st+=test_pair("PerfBox47176","PerfCyl9766")
+    st+=test_pair("PerfBox47176","PerfCyl25745")
+    st+=test_pair("PerfBox47176","PerfCyl47601")
+    return st
+
+def test_box_transbox():
+    st=" PerfBox PerfBoxT\n"
+    st+=test_pair("PerfBox1495","PerfBoxT1493")
+    st+=test_pair("PerfBox2506","PerfBoxT2676")
+    st+=test_pair("PerfBox5708","PerfBoxT5717")
+    st+=test_pair("PerfBox13461","PerfBoxT12469")
+    st+=test_pair("PerfBox30808","PerfBoxT29019")
+    st+=test_pair("PerfBox47176","PerfBoxT47278")
+    return st
+
+gm=time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm)
+st="PerfTest execution on %s\n"%(time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm))
+st+=test_box_cyl()
+st+=test_box_box()
+st+=test_cyl_cyl()
+st+=test_box_transbox()
+f=file(RES_FILE,"w")