mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 05:27:55 +00:00
generate config/testdata/b10-config.db at build time from a master file.
so that it can be overridden safely. git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac315@2766 e5f2f494-b856-4b98-b285-d166d9295462
This commit is contained in:
parent
99d1d3326c
commit
62b66adf7e
@ -433,6 +433,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/lib/python/isc/notify/tests/Makefile
|
||||
src/lib/config/Makefile
|
||||
src/lib/config/tests/Makefile
|
||||
src/lib/config/testdata/Makefile
|
||||
src/lib/dns/Makefile
|
||||
src/lib/dns/tests/Makefile
|
||||
src/lib/dns/python/Makefile
|
||||
|
@ -1,4 +1,4 @@
|
||||
SUBDIRS = . tests
|
||||
SUBDIRS = . testdata tests
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib
|
||||
AM_CPPFLAGS += -I$(top_builddir)/src/lib/cc
|
||||
@ -13,7 +13,7 @@ EXTRA_DIST = testdata/b10-config-bad1.db
|
||||
EXTRA_DIST += testdata/b10-config-bad2.db
|
||||
EXTRA_DIST += testdata/b10-config-bad3.db
|
||||
EXTRA_DIST += testdata/b10-config-bad4.db
|
||||
EXTRA_DIST += testdata/b10-config.db
|
||||
EXTRA_DIST += testdata/b10-config.db.master #.db will be auto-generated
|
||||
EXTRA_DIST += testdata/data22_1.data
|
||||
EXTRA_DIST += testdata/data22_2.data
|
||||
EXTRA_DIST += testdata/data22_3.data
|
||||
|
8
src/lib/config/testdata/Makefile.am
vendored
Normal file
8
src/lib/config/testdata/Makefile.am
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
CLEANFILES = b10-config.db
|
||||
|
||||
BUILT_SOURCES = b10-config.db
|
||||
|
||||
# cfgmgr_test (under lib/python) will override b10-config.db, so we make a
|
||||
# writable copy in the builddir.
|
||||
b10-config.db: b10-config.db.master
|
||||
cp $< $@
|
@ -7,9 +7,12 @@ EXTRA_DIST += unittest_fakesession.py
|
||||
PYCOVERAGE = $(PYTHON)
|
||||
# test using command-line arguments, so use check-local target instead of TESTS
|
||||
check-local:
|
||||
ret=0 ; \
|
||||
for pytest in $(PYTESTS) ; do \
|
||||
echo Running test: $$pytest ; \
|
||||
env PYTHONPATH=$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python \
|
||||
CONFIG_TESTDATA_PATH=$(abs_top_srcdir)/src/lib/config/testdata \
|
||||
$(PYCOVERAGE) $(abs_srcdir)/$$pytest ; \
|
||||
done
|
||||
CONFIG_WR_TESTDATA_PATH=$(abs_top_builddir)/src/lib/config/testdata \
|
||||
$(PYCOVERAGE) $(abs_srcdir)/$$pytest || ret=1; \
|
||||
done; \
|
||||
exit $$ret
|
||||
|
@ -28,19 +28,20 @@ from unittest_fakesession import FakeModuleCCSession
|
||||
class TestConfigManagerData(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.data_path = os.environ['CONFIG_TESTDATA_PATH']
|
||||
self.config_manager_data = ConfigManagerData(self.data_path)
|
||||
self.writable_data_path = os.environ['CONFIG_WR_TESTDATA_PATH']
|
||||
self.config_manager_data = ConfigManagerData(self.writable_data_path)
|
||||
self.assert_(self.config_manager_data)
|
||||
|
||||
def test_init(self):
|
||||
self.assertEqual(self.config_manager_data.data['version'],
|
||||
config_data.BIND10_CONFIG_DATA_VERSION)
|
||||
self.assertEqual(self.config_manager_data.data_path,
|
||||
self.data_path)
|
||||
self.writable_data_path)
|
||||
self.assertEqual(self.config_manager_data.db_filename,
|
||||
self.data_path + os.sep + "b10-config.db")
|
||||
self.writable_data_path + os.sep + "b10-config.db")
|
||||
|
||||
def test_read_from_file(self):
|
||||
ConfigManagerData.read_from_file(self.data_path)
|
||||
ConfigManagerData.read_from_file(self.writable_data_path)
|
||||
self.assertRaises(ConfigManagerDataEmpty,
|
||||
ConfigManagerData.read_from_file,
|
||||
"doesnotexist")
|
||||
@ -84,14 +85,15 @@ class TestConfigManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.data_path = os.environ['CONFIG_TESTDATA_PATH']
|
||||
self.writable_data_path = os.environ['CONFIG_WR_TESTDATA_PATH']
|
||||
self.fake_session = FakeModuleCCSession()
|
||||
self.cm = ConfigManager(self.data_path, self.fake_session)
|
||||
self.cm = ConfigManager(self.writable_data_path, self.fake_session)
|
||||
self.name = "TestModule"
|
||||
self.spec = isc.config.module_spec_from_file(self.data_path + os.sep + "/spec2.spec")
|
||||
|
||||
def test_init(self):
|
||||
self.assert_(self.cm.module_specs == {})
|
||||
self.assert_(self.cm.data_path == self.data_path)
|
||||
self.assert_(self.cm.data_path == self.writable_data_path)
|
||||
self.assert_(self.cm.config != None)
|
||||
self.assert_(self.fake_session.has_subscription("ConfigManager"))
|
||||
self.assert_(self.fake_session.has_subscription("Boss", "ConfigManager"))
|
||||
@ -293,8 +295,8 @@ class TestConfigManager(unittest.TestCase):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if not 'CONFIG_TESTDATA_PATH' in os.environ:
|
||||
print("You need to set the environment variable CONFIG_TESTDATA_PATH to point to the directory containing the test data files")
|
||||
if not 'CONFIG_TESTDATA_PATH' in os.environ or not 'CONFIG_WR_TESTDATA_PATH' in os.environ:
|
||||
print("You need to set the environment variable CONFIG_TESTDATA_PATH and CONFIG_WR_TESTDATA_PATH to point to the directory containing the test data files")
|
||||
exit(1)
|
||||
unittest.main()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user