BIND 10 master, updated. 443be4318110331b2761b8d945dab4f05d765a1a Merge branch 'trac2623'
BIND 10 source code commits
bind10-changes at lists.isc.org
Sun Jan 27 23:15:41 UTC 2013
The branch, master has been updated
via 443be4318110331b2761b8d945dab4f05d765a1a (commit)
via 8a33bc3ac5aa1fd9e9532b08d9622530c2b5998b (commit)
via 8f2bbf55feb66a26d6b2c416fd902f488f9848ac (commit)
via 4a7f643283ece35b839644bc5aeadbdce6766c2d (commit)
via ac808e9e265fdafa0182e15da1f5acd1e94d797b (commit)
via 9b3c959af13111af1fa248c5010aa33ee7e307ee (commit)
via 6d750aafaabefdec3e2d3bb75343bc520b8ef6b5 (commit)
via 750c848d04cca9137a34383c6b44bb203e3d2a94 (commit)
via c00795e0f9d07c7f0d47f04098addd3144dce7d4 (commit)
via 388434f8a4c3693e76b95dba9cb9d6ae183a6407 (commit)
from 0a85e0e55c24798e91bdbbd39bd1fbe97d72f3f8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 443be4318110331b2761b8d945dab4f05d765a1a
Merge: 8f2bbf5 8a33bc3
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Jan 28 04:45:02 2013 +0530
Merge branch 'trac2623'
commit 8a33bc3ac5aa1fd9e9532b08d9622530c2b5998b
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Jan 21 01:45:26 2013 +0530
[2623] Fix test failures in msgq_test.py under Python 3.3
commit 8f2bbf55feb66a26d6b2c416fd902f488f9848ac
Merge: 9b3c959 4a7f643
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Jan 28 04:40:47 2013 +0530
Merge branch 'trac2622'
-----------------------------------------------------------------------
Summary of changes:
src/bin/dbutil/dbutil.py.in | 8 +-
src/bin/dbutil/tests/dbutil_test.sh.in | 102 ++++++++++++++------
src/bin/dbutil/tests/testdata/Makefile.am | 1 +
.../tests/testdata/{v2_1.sqlite3 => v2_2.sqlite3} | Bin 15360 -> 16384 bytes
src/bin/msgq/tests/msgq_test.py | 6 +-
src/lib/datasrc/sqlite3_accessor.cc | 5 +-
src/lib/python/isc/config/tests/cfgmgr_test.py | 70 +++++++-------
.../python/isc/config/tests/config_data_test.py | 27 +++---
.../python/isc/config/tests/module_spec_test.py | 2 +-
src/lib/python/isc/datasrc/sqlite3_ds.py | 4 +-
10 files changed, 135 insertions(+), 90 deletions(-)
copy src/bin/dbutil/tests/testdata/{v2_1.sqlite3 => v2_2.sqlite3} (91%)
-----------------------------------------------------------------------
diff --git a/src/bin/dbutil/dbutil.py.in b/src/bin/dbutil/dbutil.py.in
index a844484..7a1469c 100755
--- a/src/bin/dbutil/dbutil.py.in
+++ b/src/bin/dbutil/dbutil.py.in
@@ -200,10 +200,16 @@ UPGRADES = [
"CREATE INDEX nsec3_byhash_and_rdtype ON nsec3 " +
"(hash, rdtype)"
]
+ },
+
+ {'from': (2, 1), 'to': (2, 2),
+ 'statements': [
+ "CREATE INDEX records_byrname_and_rdtype ON records (rname, rdtype)"
+ ]
}
# To extend this, leave the above statements in place and add another
-# dictionary to the list. The "from" version should be (2, 1), the "to"
+# dictionary to the list. The "from" version should be (2, 2), the "to"
# version whatever the version the update is to, and the SQL statements are
# the statements required to perform the upgrade. This way, the upgrade
# program will be able to upgrade both a V1.0 and a V2.0 database.
diff --git a/src/bin/dbutil/tests/dbutil_test.sh.in b/src/bin/dbutil/tests/dbutil_test.sh.in
index d60f186..4bc9f85 100755
--- a/src/bin/dbutil/tests/dbutil_test.sh.in
+++ b/src/bin/dbutil/tests/dbutil_test.sh.in
@@ -165,7 +165,7 @@ upgrade_ok_test() {
if [ $? -eq 0 ]
then
# Compare schema with the reference
- get_schema $testdata/v2_1.sqlite3
+ get_schema $testdata/v2_2.sqlite3
expected_schema=$db_schema
get_schema $tempfile
actual_schema=$db_schema
@@ -177,7 +177,7 @@ upgrade_ok_test() {
fi
# Check the version is set correctly
- check_version $tempfile "V2.1"
+ check_version $tempfile "V2.2"
# Check that a backup was made
check_backup $1 $2
@@ -303,26 +303,32 @@ check_version_fail() {
rm -f $tempfile $backupfile
-# Test 1 - check that the utility fails if the database does not exist
-echo "1.1. Non-existent database - check"
+# This is the section number that is echoed during tests. It is
+# incremented when each section is run.
+sec=0
+
+# Test: check that the utility fails if the database does not exist
+sec=`expr $sec + 1`
+echo $sec".1. Non-existent database - check"
${SHELL} ../run_dbutil.sh --check $tempfile
failzero $?
check_no_backup $tempfile $backupfile
-echo "1.2. Non-existent database - upgrade"
+echo $sec".2. Non-existent database - upgrade"
${SHELL} ../run_dbutil.sh --upgrade --noconfirm $tempfile
failzero $?
check_no_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-# Test 2 - should fail to check an empty file and fail to upgrade it
-echo "2.1. Database is an empty file - check"
+# Test: should fail to check an empty file and fail to upgrade it
+sec=`expr $sec + 1`
+echo $sec".1. Database is an empty file - check"
touch $tempfile
check_version_fail $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "2.2. Database is an empty file - upgrade"
+echo $sec".2. Database is an empty file - upgrade"
touch $tempfile
${SHELL} ../run_dbutil.sh --upgrade --noconfirm $tempfile
failzero $?
@@ -330,13 +336,13 @@ failzero $?
check_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-
-echo "3.1. Database is not an SQLite file - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is not an SQLite file - check"
echo "This is not an sqlite3 database" > $tempfile
check_version_fail $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "3.2. Database is not an SQLite file - upgrade"
+echo $sec".2. Database is not an SQLite file - upgrade"
echo "This is not an sqlite3 database" > $tempfile
${SHELL} ../run_dbutil.sh --upgrade --noconfirm $tempfile
failzero $?
@@ -345,81 +351,113 @@ check_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "4.1. Database is an SQLite3 file without the schema table - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is an SQLite3 file without the schema table - check"
check_version_fail $testdata/no_schema.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "4.1. Database is an SQLite3 file without the schema table - upgrade"
+echo $sec".1. Database is an SQLite3 file without the schema table - upgrade"
upgrade_fail_test $testdata/no_schema.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "5.1. Database is an old V1 database - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is an old V1 database - check"
check_version $testdata/old_v1.sqlite3 "V1.0"
check_no_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "5.2. Database is an old V1 database - upgrade"
+echo $sec".2. Database is an old V1 database - upgrade"
upgrade_ok_test $testdata/old_v1.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "6.1. Database is new V1 database - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is new V1 database - check"
check_version $testdata/new_v1.sqlite3 "V1.0"
check_no_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "6.2. Database is a new V1 database - upgrade"
+echo $sec".2. Database is a new V1 database - upgrade"
upgrade_ok_test $testdata/new_v1.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "7.1. Database is V2.0 database - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is V2.0 database - check"
check_version $testdata/v2_0.sqlite3 "V2.0"
check_no_backup $tempfile $backupfile
rm -f $tempfile $backupfile
-echo "7.2. Database is a V2.0 database - upgrade"
+echo $sec".2. Database is a V2.0 database - upgrade"
upgrade_ok_test $testdata/v2_0.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "8.1. Database is V2.0 database with empty schema table - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is V2.1 database - check"
+check_version $testdata/v2_1.sqlite3 "V2.1"
+check_no_backup $tempfile $backupfile
+rm -f $tempfile $backupfile
+
+echo $sec".2. Database is a V2.1 database - upgrade"
+upgrade_ok_test $testdata/v2_1.sqlite3 $backupfile
+rm -f $tempfile $backupfile
+
+
+sec=`expr $sec + 1`
+echo $sec".1. Database is V2.2 database - check"
+check_version $testdata/v2_2.sqlite3 "V2.2"
+check_no_backup $tempfile $backupfile
+rm -f $tempfile $backupfile
+
+echo $sec".2. Database is a V2.2 database - upgrade"
+upgrade_ok_test $testdata/v2_2.sqlite3 $backupfile
+rm -f $tempfile $backupfile
+
+
+sec=`expr $sec + 1`
+echo $sec".1. Database is V2.0 database with empty schema table - check"
check_version_fail $testdata/empty_version.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "8.2. Database is V2.0 database with empty schema table - upgrade"
+echo $sec".2. Database is V2.0 database with empty schema table - upgrade"
upgrade_fail_test $testdata/empty_version.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "9.1. Database is V2.0 database with over-full schema table - check"
+sec=`expr $sec + 1`
+echo $sec".1. Database is V2.0 database with over-full schema table - check"
check_version_fail $testdata/too_many_version.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "9.2. Database is V2.0 database with over-full schema table - upgrade"
+echo $sec".2. Database is V2.0 database with over-full schema table - upgrade"
upgrade_fail_test $testdata/too_many_version.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "10.0. Upgrade corrupt database"
+sec=`expr $sec + 1`
+echo $sec". Upgrade corrupt database"
upgrade_fail_test $testdata/corrupt.sqlite3 $backupfile
rm -f $tempfile $backupfile
-echo "11. Record count test"
+sec=`expr $sec + 1`
+echo $sec". Record count test"
record_count_test $testdata/new_v1.sqlite3
rm -f $tempfile $backupfile
-echo "12. Backup file already exists"
+sec=`expr $sec + 1`
+echo $sec". Backup file already exists"
touch $backupfile
touch ${backupfile}-1
upgrade_ok_test $testdata/v2_0.sqlite3 ${backupfile}-2
rm -f $tempfile $backupfile ${backupfile}-1 ${backupfile}-2
-echo "13.1 Command-line errors"
+sec=`expr $sec + 1`
+echo $sec".1 Command-line errors"
copy_file $testdata/old_v1.sqlite3 $tempfile
${SHELL} ../run_dbutil.sh $tempfile
failzero $?
@@ -437,22 +475,22 @@ ${SHELL} ../run_dbutil.sh --upgrade --noconfirm $tempfile $backupfile
failzero $?
rm -f $tempfile $backupfile
-echo "13.2 verbose flag"
+echo $sec".2 verbose flag"
copy_file $testdata/old_v1.sqlite3 $tempfile
${SHELL} ../run_dbutil.sh --upgrade --noconfirm --verbose $tempfile
passzero $?
rm -f $tempfile $backupfile
-echo "13.3 Interactive prompt - yes"
+echo $sec".3 Interactive prompt - yes"
copy_file $testdata/old_v1.sqlite3 $tempfile
${SHELL} ../run_dbutil.sh --upgrade $tempfile << .
Yes
.
passzero $?
-check_version $tempfile "V2.1"
+check_version $tempfile "V2.2"
rm -f $tempfile $backupfile
-echo "13.4 Interactive prompt - no"
+echo $sec".4 Interactive prompt - no"
copy_file $testdata/old_v1.sqlite3 $tempfile
${SHELL} ../run_dbutil.sh --upgrade $tempfile << .
no
@@ -462,7 +500,7 @@ diff $testdata/old_v1.sqlite3 $tempfile > /dev/null
passzero $?
rm -f $tempfile $backupfile
-echo "13.5 quiet flag"
+echo $sec".5 quiet flag"
copy_file $testdata/old_v1.sqlite3 $tempfile
${SHELL} ../run_dbutil.sh --check --quiet $tempfile 2>&1 | grep .
failzero $?
diff --git a/src/bin/dbutil/tests/testdata/Makefile.am b/src/bin/dbutil/tests/testdata/Makefile.am
index f4873f4..23149b9 100644
--- a/src/bin/dbutil/tests/testdata/Makefile.am
+++ b/src/bin/dbutil/tests/testdata/Makefile.am
@@ -11,3 +11,4 @@ EXTRA_DIST += README
EXTRA_DIST += too_many_version.sqlite3
EXTRA_DIST += v2_0.sqlite3
EXTRA_DIST += v2_1.sqlite3
+EXTRA_DIST += v2_2.sqlite3
diff --git a/src/bin/dbutil/tests/testdata/v2_2.sqlite3 b/src/bin/dbutil/tests/testdata/v2_2.sqlite3
new file mode 100644
index 0000000..b8d6369
Binary files /dev/null and b/src/bin/dbutil/tests/testdata/v2_2.sqlite3 differ
diff --git a/src/bin/msgq/tests/msgq_test.py b/src/bin/msgq/tests/msgq_test.py
index 00e15d8..88bb022 100644
--- a/src/bin/msgq/tests/msgq_test.py
+++ b/src/bin/msgq/tests/msgq_test.py
@@ -454,9 +454,8 @@ class SendNonblock(unittest.TestCase):
Two tests are done: one where the error is raised on the 3rd octet,
and one on the 23rd.
"""
- sockerr = socket.error
for err in [ errno.EAGAIN, errno.EWOULDBLOCK, errno.EINTR ]:
- sockerr.errno = err
+ sockerr = socket.error(err, 'Socket error')
self.do_send_with_send_error(3, sockerr)
self.do_send_with_send_error(23, sockerr)
@@ -467,9 +466,8 @@ class SendNonblock(unittest.TestCase):
Two tests are done: one where the error is raised on the 3rd octet,
and one on the 23rd.
"""
- sockerr = socket.error
for err in [ errno.EPIPE, errno.ENOBUFS, errno.ECONNRESET ]:
- sockerr.errno = err
+ sockerr = socket.error(err, 'Socket error')
self.do_send_with_send_error(3, sockerr, False)
self.do_send_with_send_error(23, sockerr, False)
diff --git a/src/lib/datasrc/sqlite3_accessor.cc b/src/lib/datasrc/sqlite3_accessor.cc
index bd71544..632c271 100644
--- a/src/lib/datasrc/sqlite3_accessor.cc
+++ b/src/lib/datasrc/sqlite3_accessor.cc
@@ -44,7 +44,7 @@ namespace {
// program may not be taking advantage of features (possibly performance
// improvements) added to the database.
const int SQLITE_SCHEMA_MAJOR_VERSION = 2;
-const int SQLITE_SCHEMA_MINOR_VERSION = 1;
+const int SQLITE_SCHEMA_MINOR_VERSION = 2;
}
namespace isc {
@@ -338,7 +338,7 @@ public:
const char* const SCHEMA_LIST[] = {
"CREATE TABLE schema_version (version INTEGER NOT NULL, "
"minor INTEGER NOT NULL DEFAULT 0)",
- "INSERT INTO schema_version VALUES (2, 1)",
+ "INSERT INTO schema_version VALUES (2, 2)",
"CREATE TABLE zones (id INTEGER PRIMARY KEY, "
"name TEXT NOT NULL COLLATE NOCASE, "
"rdclass TEXT NOT NULL COLLATE NOCASE DEFAULT 'IN', "
@@ -358,6 +358,7 @@ const char* const SCHEMA_LIST[] = {
// defining a separate index for rdtype only doesn't work either; SQLite3
// would then create a temporary B-tree for "ORDER BY").
"CREATE INDEX records_bytype_and_rname ON records (rdtype, rname)",
+ "CREATE INDEX records_byrname_and_rdtype ON records (rname, rdtype)",
"CREATE TABLE nsec3 (id INTEGER PRIMARY KEY, zone_id INTEGER NOT NULL, "
"hash TEXT NOT NULL COLLATE NOCASE, "
"owner TEXT NOT NULL COLLATE NOCASE, "
diff --git a/src/lib/python/isc/config/tests/cfgmgr_test.py b/src/lib/python/isc/config/tests/cfgmgr_test.py
index 891a7d7..5322901 100644
--- a/src/lib/python/isc/config/tests/cfgmgr_test.py
+++ b/src/lib/python/isc/config/tests/cfgmgr_test.py
@@ -29,7 +29,7 @@ class TestConfigManagerData(unittest.TestCase):
self.writable_data_path = os.environ['CONFIG_WR_TESTDATA_PATH']
self.config_manager_data = ConfigManagerData(self.writable_data_path,
file_name="b10-config.db")
- self.assert_(self.config_manager_data)
+ self.assertTrue(self.config_manager_data)
def test_abs_file(self):
"""
@@ -170,65 +170,61 @@ class TestConfigManager(unittest.TestCase):
cm.config.db_filename)
def test_init(self):
- self.assert_(self.cm.module_specs == {})
- 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"))
+ self.assertEqual(self.cm.module_specs, {})
+ self.assertEqual(self.cm.data_path, self.writable_data_path)
+ self.assertIsNotNone(self.cm.config)
+ self.assertTrue(self.fake_session.has_subscription("ConfigManager"))
+ self.assertTrue(self.fake_session.has_subscription("Boss", "ConfigManager"))
self.assertFalse(self.cm.running)
def test_notify_boss(self):
self.cm.notify_boss()
msg = self.fake_session.get_message("Boss", None)
- self.assert_(msg)
+ self.assertTrue(msg)
# this one is actually wrong, but 'current status quo'
self.assertEqual(msg, {"running": "ConfigManager"})
def test_set_module_spec(self):
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
- self.assert_(module_spec.get_module_name() not in
- self.cm.virtual_modules)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.virtual_modules)
def test_remove_module_spec(self):
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.remove_module_spec(module_spec.get_module_name())
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
- self.assert_(module_spec.get_module_name() not in
- self.cm.virtual_modules)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.virtual_modules)
def test_add_remove_virtual_module(self):
module_spec = isc.config.module_spec.module_spec_from_file(
self.data_path + os.sep + "spec1.spec")
check_func = lambda: True
# Make sure it's not in there before
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
- self.assert_(module_spec.get_module_name() not in
- self.cm.virtual_modules)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.virtual_modules)
# Add it there
self.cm.set_virtual_module(module_spec, check_func)
# Check it's in there
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
self.assertEqual(self.cm.module_specs[module_spec.get_module_name()],
module_spec)
self.assertEqual(self.cm.virtual_modules[module_spec.get_module_name()],
check_func)
# Remove it again
self.cm.remove_module_spec(module_spec.get_module_name())
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
- self.assert_(module_spec.get_module_name() not in
- self.cm.virtual_modules)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.virtual_modules)
def test_get_module_spec(self):
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
module_spec2 = self.cm.get_module_spec(module_spec.get_module_name())
self.assertEqual(module_spec.get_full_spec(), module_spec2)
@@ -238,16 +234,16 @@ class TestConfigManager(unittest.TestCase):
config_spec = self.cm.get_config_spec()
self.assertEqual(config_spec, {})
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
config_spec = self.cm.get_config_spec()
self.assertEqual(config_spec, { 'Spec1': None })
self.cm.remove_module_spec('Spec1')
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
config_spec = self.cm.get_config_spec()
self.assertEqual(config_spec['Spec2'], module_spec.get_config_spec())
config_spec = self.cm.get_config_spec('Spec2')
@@ -258,16 +254,16 @@ class TestConfigManager(unittest.TestCase):
commands_spec = self.cm.get_commands_spec()
self.assertEqual(commands_spec, {})
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
commands_spec = self.cm.get_commands_spec()
self.assertEqual(commands_spec, { 'Spec1': None })
self.cm.remove_module_spec('Spec1')
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
commands_spec = self.cm.get_commands_spec()
self.assertEqual(commands_spec['Spec2'], module_spec.get_commands_spec())
commands_spec = self.cm.get_commands_spec('Spec2')
@@ -277,16 +273,16 @@ class TestConfigManager(unittest.TestCase):
statistics_spec = self.cm.get_statistics_spec()
self.assertEqual(statistics_spec, {})
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec1.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
statistics_spec = self.cm.get_statistics_spec()
self.assertEqual(statistics_spec, { 'Spec1': None })
self.cm.remove_module_spec('Spec1')
module_spec = isc.config.module_spec.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
- self.assert_(module_spec.get_module_name() not in self.cm.module_specs)
+ self.assertNotIn(module_spec.get_module_name(), self.cm.module_specs)
self.cm.set_module_spec(module_spec)
- self.assert_(module_spec.get_module_name() in self.cm.module_specs)
+ self.assertIn(module_spec.get_module_name(), self.cm.module_specs)
statistics_spec = self.cm.get_statistics_spec()
self.assertEqual(statistics_spec['Spec2'], module_spec.get_statistics_spec())
statistics_spec = self.cm.get_statistics_spec('Spec2')
diff --git a/src/lib/python/isc/config/tests/config_data_test.py b/src/lib/python/isc/config/tests/config_data_test.py
index 45feb35..ddeabb6 100644
--- a/src/lib/python/isc/config/tests/config_data_test.py
+++ b/src/lib/python/isc/config/tests/config_data_test.py
@@ -360,8 +360,8 @@ class TestMultiConfigData(unittest.TestCase):
self.assertFalse(self.mcd.have_specification(module_spec.get_module_name()))
self.mcd.set_specification(module_spec)
self.assertTrue(self.mcd.have_specification(module_spec.get_module_name()))
- self.assert_(module_spec.get_module_name() in self.mcd._specifications)
- self.assertEquals(module_spec, self.mcd._specifications[module_spec.get_module_name()])
+ self.assertIn(module_spec.get_module_name(), self.mcd._specifications)
+ self.assertEqual(module_spec, self.mcd._specifications[module_spec.get_module_name()])
self.assertRaises(ConfigDataError, self.mcd.set_specification, "asdf")
self.mcd.remove_specification(module_spec.get_module_name())
self.assertFalse(self.mcd.have_specification(module_spec.get_module_name()))
@@ -693,12 +693,15 @@ class TestMultiConfigData(unittest.TestCase):
'name': 'Spec32', 'value': None,
'modified': False}], maps)
maps = self.mcd.get_value_maps("/Spec32/named_set_item")
- self.assertEqual([{'default': True, 'type': 'integer',
- 'name': 'Spec32/named_set_item/a',
- 'value': 1, 'modified': False},
- {'default': True, 'type': 'integer',
- 'name': 'Spec32/named_set_item/b',
- 'value': 2, 'modified': False}], maps)
+ self.assertEqual(len(maps), 2)
+ self.assertIn({'default': True, 'type': 'integer',
+ 'name': 'Spec32/named_set_item/a',
+ 'value': 1, 'modified': False},
+ maps)
+ self.assertIn({'default': True, 'type': 'integer',
+ 'name': 'Spec32/named_set_item/b',
+ 'value': 2, 'modified': False},
+ maps)
maps = self.mcd.get_value_maps("/Spec32/named_set_item/a")
self.assertEqual([{'default': True, 'type': 'integer',
'name': 'Spec32/named_set_item/a',
@@ -829,10 +832,10 @@ class TestMultiConfigData(unittest.TestCase):
"bbbb": 6})
config_items = self.mcd.get_config_item_list("/Spec32/named_set_item",
True)
- self.assertEqual(['Spec32/named_set_item/aaaa',
- 'Spec32/named_set_item/aabb',
- 'Spec32/named_set_item/bbbb',
- ], config_items)
+ self.assertEqual(len(config_items), 3)
+ self.assertIn('Spec32/named_set_item/aaaa', config_items)
+ self.assertIn('Spec32/named_set_item/aabb', config_items)
+ self.assertIn('Spec32/named_set_item/bbbb', config_items)
self.mcd.set_value('Spec32/named_set_item', {})
config_items = self.mcd.get_config_item_list("/Spec32/named_set_item",
diff --git a/src/lib/python/isc/config/tests/module_spec_test.py b/src/lib/python/isc/config/tests/module_spec_test.py
index a2a2daf..4767860 100644
--- a/src/lib/python/isc/config/tests/module_spec_test.py
+++ b/src/lib/python/isc/config/tests/module_spec_test.py
@@ -38,7 +38,7 @@ class TestModuleSpec(unittest.TestCase):
def spec1(self, dd):
module_spec = dd.get_full_spec()
- self.assert_('module_name' in module_spec)
+ self.assertIn('module_name', module_spec)
self.assertEqual(module_spec['module_name'], "Spec1")
def test_open_file_name(self):
diff --git a/src/lib/python/isc/datasrc/sqlite3_ds.py b/src/lib/python/isc/datasrc/sqlite3_ds.py
index dc80afd..19d8581 100644
--- a/src/lib/python/isc/datasrc/sqlite3_ds.py
+++ b/src/lib/python/isc/datasrc/sqlite3_ds.py
@@ -25,7 +25,7 @@ RR_RDATA_INDEX = 7
# Current major and minor versions of schema
SCHEMA_MAJOR_VERSION = 2
-SCHEMA_MINOR_VERSION = 1
+SCHEMA_MINOR_VERSION = 2
class Sqlite3DSError(Exception):
""" Define exceptions."""
@@ -73,6 +73,8 @@ def create(cur):
cur.execute("CREATE INDEX records_byrname ON records (rname)")
cur.execute("""CREATE INDEX records_bytype_and_rname ON records
(rdtype, rname)""")
+ cur.execute("""CREATE INDEX records_byrname_and_rdtype ON records
+ (rname, rdtype)""")
cur.execute("""CREATE TABLE nsec3 (id INTEGER PRIMARY KEY,
zone_id INTEGER NOT NULL,
hash TEXT NOT NULL COLLATE NOCASE,
More information about the bind10-changes
mailing list