From: ageay Date: Fri, 23 Mar 2012 09:00:20 +0000 (+0000) Subject: MED CMakization. X-Git-Tag: V6_main_FINAL~733 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=339ac2a157e7a8b4f586e4147a8d35646ced1645;p=tools%2Fmedcoupling.git MED CMakization. --- diff --git a/src/INTERP_KERNELTest/CMakeLists.txt b/src/INTERP_KERNELTest/CMakeLists.txt new file mode 100644 index 000000000..d516f422d --- /dev/null +++ b/src/INTERP_KERNELTest/CMakeLists.txt @@ -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 index 000000000..1f1dfde2f --- /dev/null +++ b/src/INTERP_KERNELTest/perf_test.py @@ -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[\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")