diff --git a/src/ext/unit_tests/extGerberImport.cc b/src/ext/unit_tests/extGerberImport.cc index dd1b7b9b2..267aa15b5 100644 --- a/src/ext/unit_tests/extGerberImport.cc +++ b/src/ext/unit_tests/extGerberImport.cc @@ -83,16 +83,19 @@ TEST(6) TEST(7) { + test_is_long_runner (); run_test (_this, "pcb-1"); } TEST(8) { + test_is_long_runner (); run_test (_this, "microchip-2"); } TEST(9) { + test_is_long_runner (); run_test (_this, "microchip-3"); } @@ -118,6 +121,7 @@ TEST(13) TEST(14) { + test_is_long_runner (); run_test (_this, "gerbv_examples/amacro-ref"); } @@ -128,6 +132,7 @@ TEST(15) TEST(16) { + test_is_long_runner (); run_test (_this, "gerbv_examples/protel-pnp"); } @@ -168,16 +173,19 @@ TEST(23) TEST(24) { + test_is_long_runner (); run_test (_this, "sr-sample"); } TEST(25) { + test_is_long_runner (); run_test (_this, "sr-sample2"); } TEST(26) { + test_is_long_runner (); run_test (_this, "pos-neg"); } diff --git a/src/ext/unit_tests/unit_tests.pro b/src/ext/unit_tests/unit_tests.pro index 2aaac91ad..148142adc 100644 --- a/src/ext/unit_tests/unit_tests.pro +++ b/src/ext/unit_tests/unit_tests.pro @@ -2,7 +2,7 @@ DESTDIR_UT = $$OUT_PWD/../.. DESTDIR = $$OUT_PWD/.. -TARGET = ant_tests +TARGET = ext_tests include($$PWD/../../lib_ut.pri) diff --git a/src/gsi/gsi.pro b/src/gsi/gsi.pro index e3580d66b..6e190ecd3 100644 --- a/src/gsi/gsi.pro +++ b/src/gsi/gsi.pro @@ -1,54 +1,7 @@ -DESTDIR = $$OUT_PWD/.. -TARGET = klayout_gsi +TEMPLATE = subdirs +SUBDIRS = gsi gsi_test unit_tests -include($$PWD/../lib.pri) - -DEFINES += MAKE_GSI_LIBRARY - -SOURCES = \ - gsi.cc \ - gsiClassBase.cc \ - gsiClass.cc \ - gsiDeclBasic.cc \ - gsiDeclInternal.cc \ - gsiExpression.cc \ - gsiExternalMain.cc \ - gsiInterpreter.cc \ - gsiMethods.cc \ - gsiInspector.cc \ - gsiObject.cc \ - gsiSerialisation.cc \ - gsiTypes.cc \ - gsiObjectHolder.cc \ - -HEADERS = \ - gsiCallback.h \ - gsiCallbackVar.h \ - gsiClassBase.h \ - gsiClass.h \ - gsiDeclBasic.h \ - gsiDecl.h \ - gsiExpression.h \ - gsiExternalMain.h \ - gsi.h \ - gsiInspector.h \ - gsiInterpreter.h \ - gsiIterators.h \ - gsiMethods.h \ - gsiMethodsVar.h \ - gsiObject.h \ - gsiSerialisation.h \ - gsiSignals.h \ - gsiTypes.h \ - gsiObjectHolder.h \ - gsiCommon.h - -# Note: unlike other modules, the tl declarations have to go here -# since gsi is dependent on tl -SOURCES += gsiDeclTl.cc - -INCLUDEPATH += $$TL_INC -DEPENDPATH += $$TL_INC -LIBS += -L$$DESTDIR -lklayout_tl +gsi_test.depends += gsi +unit_tests.depends += gsi gsi_test diff --git a/src/gsi/gsi.cc b/src/gsi/gsi/gsi.cc similarity index 100% rename from src/gsi/gsi.cc rename to src/gsi/gsi/gsi.cc diff --git a/src/gsi/gsi.h b/src/gsi/gsi/gsi.h similarity index 100% rename from src/gsi/gsi.h rename to src/gsi/gsi/gsi.h diff --git a/src/gsi/gsi/gsi.pro b/src/gsi/gsi/gsi.pro new file mode 100644 index 000000000..9b839c2f1 --- /dev/null +++ b/src/gsi/gsi/gsi.pro @@ -0,0 +1,54 @@ + +DESTDIR = $$OUT_PWD/../.. +TARGET = klayout_gsi + +include($$PWD/../../lib.pri) + +DEFINES += MAKE_GSI_LIBRARY + +SOURCES = \ + gsi.cc \ + gsiClassBase.cc \ + gsiClass.cc \ + gsiDeclBasic.cc \ + gsiDeclInternal.cc \ + gsiExpression.cc \ + gsiExternalMain.cc \ + gsiInterpreter.cc \ + gsiMethods.cc \ + gsiInspector.cc \ + gsiObject.cc \ + gsiSerialisation.cc \ + gsiTypes.cc \ + gsiObjectHolder.cc \ + +HEADERS = \ + gsiCallback.h \ + gsiCallbackVar.h \ + gsiClassBase.h \ + gsiClass.h \ + gsiDeclBasic.h \ + gsiDecl.h \ + gsiExpression.h \ + gsiExternalMain.h \ + gsi.h \ + gsiInspector.h \ + gsiInterpreter.h \ + gsiIterators.h \ + gsiMethods.h \ + gsiMethodsVar.h \ + gsiObject.h \ + gsiSerialisation.h \ + gsiSignals.h \ + gsiTypes.h \ + gsiObjectHolder.h \ + gsiCommon.h + +# Note: unlike other modules, the tl declarations have to go here +# since gsi is dependent on tl +SOURCES += gsiDeclTl.cc + +INCLUDEPATH += $$TL_INC +DEPENDPATH += $$TL_INC +LIBS += -L$$DESTDIR -lklayout_tl + diff --git a/src/gsi/gsiCallback.h b/src/gsi/gsi/gsiCallback.h similarity index 100% rename from src/gsi/gsiCallback.h rename to src/gsi/gsi/gsiCallback.h diff --git a/src/gsi/gsiCallbackVar.h b/src/gsi/gsi/gsiCallbackVar.h similarity index 100% rename from src/gsi/gsiCallbackVar.h rename to src/gsi/gsi/gsiCallbackVar.h diff --git a/src/gsi/gsiClass.cc b/src/gsi/gsi/gsiClass.cc similarity index 100% rename from src/gsi/gsiClass.cc rename to src/gsi/gsi/gsiClass.cc diff --git a/src/gsi/gsiClass.h b/src/gsi/gsi/gsiClass.h similarity index 100% rename from src/gsi/gsiClass.h rename to src/gsi/gsi/gsiClass.h diff --git a/src/gsi/gsiClassBase.cc b/src/gsi/gsi/gsiClassBase.cc similarity index 100% rename from src/gsi/gsiClassBase.cc rename to src/gsi/gsi/gsiClassBase.cc diff --git a/src/gsi/gsiClassBase.h b/src/gsi/gsi/gsiClassBase.h similarity index 100% rename from src/gsi/gsiClassBase.h rename to src/gsi/gsi/gsiClassBase.h diff --git a/src/gsi/gsiCommon.h b/src/gsi/gsi/gsiCommon.h similarity index 100% rename from src/gsi/gsiCommon.h rename to src/gsi/gsi/gsiCommon.h diff --git a/src/gsi/gsiDecl.h b/src/gsi/gsi/gsiDecl.h similarity index 100% rename from src/gsi/gsiDecl.h rename to src/gsi/gsi/gsiDecl.h diff --git a/src/gsi/gsiDeclBasic.cc b/src/gsi/gsi/gsiDeclBasic.cc similarity index 100% rename from src/gsi/gsiDeclBasic.cc rename to src/gsi/gsi/gsiDeclBasic.cc diff --git a/src/gsi/gsiDeclBasic.h b/src/gsi/gsi/gsiDeclBasic.h similarity index 100% rename from src/gsi/gsiDeclBasic.h rename to src/gsi/gsi/gsiDeclBasic.h diff --git a/src/gsi/gsiDeclInternal.cc b/src/gsi/gsi/gsiDeclInternal.cc similarity index 100% rename from src/gsi/gsiDeclInternal.cc rename to src/gsi/gsi/gsiDeclInternal.cc diff --git a/src/gsi/gsiDeclTl.cc b/src/gsi/gsi/gsiDeclTl.cc similarity index 100% rename from src/gsi/gsiDeclTl.cc rename to src/gsi/gsi/gsiDeclTl.cc diff --git a/src/gsi/gsiEnums.h b/src/gsi/gsi/gsiEnums.h similarity index 100% rename from src/gsi/gsiEnums.h rename to src/gsi/gsi/gsiEnums.h diff --git a/src/gsi/gsiExpression.cc b/src/gsi/gsi/gsiExpression.cc similarity index 100% rename from src/gsi/gsiExpression.cc rename to src/gsi/gsi/gsiExpression.cc diff --git a/src/gsi/gsiExpression.h b/src/gsi/gsi/gsiExpression.h similarity index 100% rename from src/gsi/gsiExpression.h rename to src/gsi/gsi/gsiExpression.h diff --git a/src/gsi/gsiExternalMain.cc b/src/gsi/gsi/gsiExternalMain.cc similarity index 100% rename from src/gsi/gsiExternalMain.cc rename to src/gsi/gsi/gsiExternalMain.cc diff --git a/src/gsi/gsiExternalMain.h b/src/gsi/gsi/gsiExternalMain.h similarity index 100% rename from src/gsi/gsiExternalMain.h rename to src/gsi/gsi/gsiExternalMain.h diff --git a/src/gsi/gsiInspector.cc b/src/gsi/gsi/gsiInspector.cc similarity index 100% rename from src/gsi/gsiInspector.cc rename to src/gsi/gsi/gsiInspector.cc diff --git a/src/gsi/gsiInspector.h b/src/gsi/gsi/gsiInspector.h similarity index 100% rename from src/gsi/gsiInspector.h rename to src/gsi/gsi/gsiInspector.h diff --git a/src/gsi/gsiInterpreter.cc b/src/gsi/gsi/gsiInterpreter.cc similarity index 100% rename from src/gsi/gsiInterpreter.cc rename to src/gsi/gsi/gsiInterpreter.cc diff --git a/src/gsi/gsiInterpreter.h b/src/gsi/gsi/gsiInterpreter.h similarity index 100% rename from src/gsi/gsiInterpreter.h rename to src/gsi/gsi/gsiInterpreter.h diff --git a/src/gsi/gsiIterators.h b/src/gsi/gsi/gsiIterators.h similarity index 100% rename from src/gsi/gsiIterators.h rename to src/gsi/gsi/gsiIterators.h diff --git a/src/gsi/gsiMethods.cc b/src/gsi/gsi/gsiMethods.cc similarity index 100% rename from src/gsi/gsiMethods.cc rename to src/gsi/gsi/gsiMethods.cc diff --git a/src/gsi/gsiMethods.h b/src/gsi/gsi/gsiMethods.h similarity index 100% rename from src/gsi/gsiMethods.h rename to src/gsi/gsi/gsiMethods.h diff --git a/src/gsi/gsiMethodsVar.h b/src/gsi/gsi/gsiMethodsVar.h similarity index 100% rename from src/gsi/gsiMethodsVar.h rename to src/gsi/gsi/gsiMethodsVar.h diff --git a/src/gsi/gsiObject.cc b/src/gsi/gsi/gsiObject.cc similarity index 100% rename from src/gsi/gsiObject.cc rename to src/gsi/gsi/gsiObject.cc diff --git a/src/gsi/gsiObject.h b/src/gsi/gsi/gsiObject.h similarity index 100% rename from src/gsi/gsiObject.h rename to src/gsi/gsi/gsiObject.h diff --git a/src/gsi/gsiObjectHolder.cc b/src/gsi/gsi/gsiObjectHolder.cc similarity index 100% rename from src/gsi/gsiObjectHolder.cc rename to src/gsi/gsi/gsiObjectHolder.cc diff --git a/src/gsi/gsiObjectHolder.h b/src/gsi/gsi/gsiObjectHolder.h similarity index 100% rename from src/gsi/gsiObjectHolder.h rename to src/gsi/gsi/gsiObjectHolder.h diff --git a/src/gsi/gsiSerialisation.cc b/src/gsi/gsi/gsiSerialisation.cc similarity index 100% rename from src/gsi/gsiSerialisation.cc rename to src/gsi/gsi/gsiSerialisation.cc diff --git a/src/gsi/gsiSerialisation.h b/src/gsi/gsi/gsiSerialisation.h similarity index 100% rename from src/gsi/gsiSerialisation.h rename to src/gsi/gsi/gsiSerialisation.h diff --git a/src/gsi/gsiSignals.h b/src/gsi/gsi/gsiSignals.h similarity index 100% rename from src/gsi/gsiSignals.h rename to src/gsi/gsi/gsiSignals.h diff --git a/src/gsi/gsiTypes.cc b/src/gsi/gsi/gsiTypes.cc similarity index 100% rename from src/gsi/gsiTypes.cc rename to src/gsi/gsi/gsiTypes.cc diff --git a/src/gsi/gsiTypes.h b/src/gsi/gsi/gsiTypes.h similarity index 100% rename from src/gsi/gsiTypes.h rename to src/gsi/gsi/gsiTypes.h diff --git a/src/unit_tests/gsiTest.cc b/src/gsi/gsi_test/gsiTest.cc similarity index 100% rename from src/unit_tests/gsiTest.cc rename to src/gsi/gsi_test/gsiTest.cc diff --git a/src/unit_tests/gsiTest.h b/src/gsi/gsi_test/gsiTest.h similarity index 98% rename from src/unit_tests/gsiTest.h rename to src/gsi/gsi_test/gsiTest.h index 4ecf6e892..611430a66 100644 --- a/src/unit_tests/gsiTest.h +++ b/src/gsi/gsi_test/gsiTest.h @@ -33,6 +33,7 @@ #include #include +#include "gsiCommon.h" #include "tlVariant.h" #include "tlString.h" @@ -57,7 +58,7 @@ enum Enum * It provides instance counting and tracking of one instance. * It provides copy semantics. */ -struct A +struct GSI_PUBLIC A : public gsi::ObjectBase { /** @@ -238,7 +239,7 @@ struct A }; -struct A_NC +struct GSI_PUBLIC A_NC : public A { A_NC () : A () { } @@ -252,7 +253,7 @@ private: }; template -struct ValueIter +struct GSI_PUBLIC ValueIter { public: typedef typename std::iterator_traits it_traits; @@ -285,7 +286,7 @@ private: }; template -struct FreeIter +struct GSI_PUBLIC FreeIter { public: typedef typename std::iterator_traits it_traits; @@ -361,7 +362,7 @@ private: }; template -struct FreeIterUsePtr +struct GSI_PUBLIC FreeIterUsePtr { public: typedef typename std::iterator_traits it_traits; @@ -398,7 +399,7 @@ private: Iter mb, me; }; -struct B +struct GSI_PUBLIC B { B (); B (const B &d); @@ -824,7 +825,7 @@ struct B static B *b_inst; }; -class C +class GSI_PUBLIC C { public: virtual ~C () { } @@ -849,7 +850,7 @@ public: static std::vector m_v; }; -class C_P +class GSI_PUBLIC C_P : public C { public: @@ -861,7 +862,7 @@ public: gsi::Callback f_cb; }; -struct E +struct GSI_PUBLIC E : public gsi::ObjectBase { E (); @@ -896,7 +897,7 @@ private: }; // Same as "E", but not based on ObjectBase -struct F +struct GSI_PUBLIC F { F() : x(0) { } static const F *ic(); @@ -910,7 +911,7 @@ struct F static std::auto_ptr f_inst; }; -struct G +struct GSI_PUBLIC G { G () : m_iv (0) { } int iv() const { return m_iv; } @@ -925,7 +926,7 @@ struct G std::string m_sv; }; -class X +class GSI_PUBLIC X : public gsi::ObjectBase { public: @@ -956,7 +957,7 @@ private: static std::auto_ptr sp_a, sp_b; }; -class Y +class GSI_PUBLIC Y : public X { public: @@ -987,27 +988,27 @@ private: Y *mp_c; }; -class Y2 +class GSI_PUBLIC Y2 : public X { public: int x1 () const { return 2; } }; -class Y3 +class GSI_PUBLIC Y3 : public X { public: int x1 () const { return 3; } }; -class Y4 +class GSI_PUBLIC Y4 { public: int x1 () const { return 4; } }; -class YY : public Y +class GSI_PUBLIC YY : public Y { public: YY (); @@ -1015,7 +1016,7 @@ public: virtual QString cls_name() const; }; -class Z +class GSI_PUBLIC Z { public: Z (); @@ -1030,7 +1031,7 @@ private: X *mp_x; }; -class Z_P +class GSI_PUBLIC Z_P : public Z { public: @@ -1043,7 +1044,7 @@ public: gsi::Callback f_cb; }; -class SQ +class GSI_PUBLIC SQ : public QObject { Q_OBJECT @@ -1069,7 +1070,7 @@ private: int m_tag; }; -class SE +class GSI_PUBLIC SE : public tl::Object { public: diff --git a/src/gsi/gsi_test/gsi_test.pro b/src/gsi/gsi_test/gsi_test.pro new file mode 100644 index 000000000..bc44be6b8 --- /dev/null +++ b/src/gsi/gsi_test/gsi_test.pro @@ -0,0 +1,18 @@ + +DESTDIR = $$OUT_PWD/../.. +TARGET = gsi_test + +include($$PWD/../../lib.pri) + +DEFINES += MAKE_GSI_LIBRARY + +SOURCES = \ + gsiTest.cc \ + +HEADERS = \ + gsiTest.h \ + +INCLUDEPATH += $$TL_INC $$GSI_INC +DEPENDPATH += $$TL_INC $$GSI_INC +LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi + diff --git a/src/unit_tests/gsiExpression.cc b/src/gsi/unit_tests/gsiExpression.cc similarity index 99% rename from src/unit_tests/gsiExpression.cc rename to src/gsi/unit_tests/gsiExpression.cc index 1a54709a9..b9d53999b 100644 --- a/src/unit_tests/gsiExpression.cc +++ b/src/gsi/unit_tests/gsiExpression.cc @@ -23,6 +23,7 @@ #include "gsiExpression.h" #include "gsiDecl.h" +#include "gsiTest.h" #include "dbBox.h" #include "dbEdge.h" diff --git a/src/gsi/unit_tests/unit_tests.pro b/src/gsi/unit_tests/unit_tests.pro new file mode 100644 index 000000000..1c5c51f8f --- /dev/null +++ b/src/gsi/unit_tests/unit_tests.pro @@ -0,0 +1,16 @@ + +DESTDIR_UT = $$OUT_PWD/../.. +DESTDIR = $$OUT_PWD/.. + +TARGET = gsi_tests + +include($$PWD/../../lib_ut.pri) + +SOURCES = \ + gsiExpression.cc \ + +INCLUDEPATH += $$TL_INC $$GSI_INC $$GSI_TEST_INC $$UT_INC $$DB_INC +DEPENDPATH += $$TL_INC $$GSI_INC $$GSI_TEST_INC $$UT_INC $$DB_INC + +LIBS += -L$$DESTDIR_UT -lklayout_tl -lklayout_gsi -lgsi_test -lklayout_ut -lklayout_db + diff --git a/src/klayout.pri b/src/klayout.pri index c75a1d3b9..e8c1b0a63 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -5,7 +5,8 @@ DB_INC = $$PWD/db/db DRC_INC = $$PWD/drc/drc EDT_INC = $$PWD/edt/edt EXT_INC = $$PWD/ext/ext -GSI_INC = $$PWD/gsi +GSI_INC = $$PWD/gsi/gsi +GSI_TEST_INC = $$PWD/gsi/gsi_test GSIQT_INC = $$PWD/gsiqt IMG_INC = $$PWD/img LIB_INC = $$PWD/lib diff --git a/src/unit_tests/unit_tests.pro b/src/unit_tests/unit_tests.pro index 344729494..8a72f1421 100644 --- a/src/unit_tests/unit_tests.pro +++ b/src/unit_tests/unit_tests.pro @@ -8,12 +8,7 @@ TEMPLATE = app TARGET = ut_runner -HEADERS = \ - gsiTest.h - SOURCES = \ - gsiExpression.cc \ - gsiTest.cc \ imgObject.cc \ layAnnotationShapes.cc \ layBitmap.cc \ @@ -37,3 +32,8 @@ equals(HAVE_QT5, "1") { CONFIG += qtestlib } +# TODO: remove later +INCLUDEPATH += $$GSI_TEST_INC +DEPENDPATH += $$GSI_TEST_INC +LIBS += -L$$DESTDIR -lgsi_test +