Fixing issue #1774 (providing klayout.__version__ also for built-in module)

This commit is contained in:
Matthias Koefferlein 2024-07-05 17:50:38 +02:00
parent 708e046eb1
commit 769327cdab
8 changed files with 51 additions and 3 deletions

View File

@ -97,6 +97,7 @@ void run_pythontest (tl::TestBase *_this, const std::string &fn)
TEST(n) { run_pythontest(_this, file); }
PYTHONTEST (kwargs, "kwargs.py")
PYTHONTEST (modTests, "modTests.py")
PYTHONTEST (dbLayoutTest, "dbLayoutTest.py")
PYTHONTEST (dbRegionTest, "dbRegionTest.py")
PYTHONTEST (dbShapesTest, "dbShapesTest.py")

View File

@ -1,5 +1,5 @@
# klayout library definition file
from .tl import __version__
__all__ = [ "tl", "db", "lib", "lay", "rdb" ]

View File

@ -1,5 +1,5 @@
# klayout library definition file
from .tl import __version__
__all__ = [ "tl", "db", "lib", "rdb", "QtCore", "QtGui", "QtXml", "QtSql", "QtNetwork", "QtDesigner", "QtUiTools", "lay" ]

View File

@ -1,6 +1,6 @@
# klayout library definition file
from .tl import __version__
__all__ = [ "tl", "db", "lib", "rdb",
"QtCore", "QtGui", "QtNetwork", "QtSql", "QtWidgets", "QtDesigner", "QtUiTools",
"QtMultimedia", "QtPrintSupport", "QtSvg", "QtXmlPatterns", "QtXml",

View File

@ -1,4 +1,5 @@
# klayout library definition file
from .tl import __version__
__all__ = [ "tl", "db", "lib", "rdb", "lay" ]

View File

@ -23,3 +23,4 @@
#include "../pymodHelper.h"
DEFINE_PYMOD(tlcore, "tl", "KLayout core module 'tl'")

View File

@ -2241,6 +2241,8 @@ class BasicTest(unittest.TestCase):
def test_38(self):
pya.E.reset_inst()
# mixed const / non-const reference and events
ec = pya.E.ic()
self.assertEqual(ec.is_const_object(), True)

43
testdata/python/modTests.py vendored Normal file
View File

@ -0,0 +1,43 @@
# KLayout Layout Viewer
# Copyright (C) 2006-2024 Matthias Koefferlein
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import unittest
class ModuleTest(unittest.TestCase):
def test_1(self):
import klayout as kl
self.assertEqual(kl.__version__ != "", True)
import klayout.db as kldb
self.assertEqual(kldb.__version__, kl.__version__)
import klayout.tl as kltl
self.assertEqual(kltl.__version__, kl.__version__)
# run unit tests
if __name__ == '__main__':
suite = unittest.TestSuite()
# NOTE: Use this instead of loadTestsfromTestCase to select a specific test:
# suite.addTest(BasicTest("test_26"))
suite = unittest.TestLoader().loadTestsFromTestCase(BasicTest)
if not unittest.TextTestRunner(verbosity = 1).run(suite).wasSuccessful():
sys.exit(1)