diff options
author | Luke Chen <luke.chen@mongodb.com> | 2019-05-29 15:17:23 +1000 |
---|---|---|
committer | Luke Chen <luke.chen@mongodb.com> | 2019-05-29 15:17:23 +1000 |
commit | 441714bc4c70699950f3ac51a5cac41dcd413eaa (patch) | |
tree | bd9ebaedbbd2ad5e22cf0de79c1dd9e185807cca /src/third_party/wiredtiger/test/suite/test_compat03.py | |
parent | 76f671c7a714378951dc7d4d5e22073e45882633 (diff) | |
download | mongo-441714bc4c70699950f3ac51a5cac41dcd413eaa.tar.gz |
Import wiredtiger: 57bd75fee93b685c133281100719f886d0184589 from branch mongodb-4.2r4.1.13
ref: 5d321d0c60..57bd75fee9
for: 4.1.13
WT-4240 Document that system crashes may result in files that need salvaging
WT-4710 Fix memory issue for non-verbose dump in datafile portability test
WT-4712 Add debug log op record for non-logged tables
WT-4732 Remove the bias from the eviction policy on the dhandle order
WT-4760 Checkpoint should not read past a stable update
WT-4771 Fix compatibility tests to handle a new version release
WT-4799 wiredtiger.in references the wrong statistics script
WT-4800 List all flags in the wt utility usage statement
WT-4803 Implement file_max configuration for Cache Overflow mechanism
WT-4804 Add support for ignore_prepare=force
WT-4811 Fix durable timestamp assignment for updates created for truncate
WT-4816 Don't disallow LSM configurations in test/format
WT-4817 heap-buffer-overflow failure in timestamp_abort
WT-4819 wt utility list command drops core on empty objects
WT-4822 Extend statistics to track max pre compression page sizes
WT-4823 Add check for uninitialised lookaside resources
Diffstat (limited to 'src/third_party/wiredtiger/test/suite/test_compat03.py')
-rw-r--r-- | src/third_party/wiredtiger/test/suite/test_compat03.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/third_party/wiredtiger/test/suite/test_compat03.py b/src/third_party/wiredtiger/test/suite/test_compat03.py index 064fe5ab7ed..421a8fbe381 100644 --- a/src/third_party/wiredtiger/test/suite/test_compat03.py +++ b/src/third_party/wiredtiger/test/suite/test_compat03.py @@ -56,15 +56,22 @@ class test_compat03(wttest.WiredTigerTestCase, suite_subprocess): # The API uses only the major and minor numbers but accepts with # and without the patch number. Test one on release and the # required minimum just for testing of parsing. - # compat_release = [ ('def_rel', dict(rel='none', log_rel=3)), ('future_rel', dict(rel=future_rel, log_rel=future_logv)), ('32_rel', dict(rel="3.2", log_rel=3)), + ('31_rel', dict(rel="3.1", log_rel=3)), ('30_rel', dict(rel="3.0", log_rel=2)), ('26_rel', dict(rel="2.6", log_rel=1)), ('26_patch_rel', dict(rel="2.6.1", log_rel=1)), ] + + # Only the maximum version should exist below for each log version + # i.e. even though 3.1 is also log_max=3 3.2 is above it and also + # log_max=3 as such we don't need 3.1 in this list. + # However the exemption to this rule is versions which include a patch + # number as the patch number will get removed in the conn_reconfig.c + # This rule exemption applies to the minimum verison check as well. compat_max = [ ('def_max', dict(max_req='none', log_max=3)), ('future_max', dict(max_req=future_rel, log_max=future_logv)), @@ -73,19 +80,18 @@ class test_compat03(wttest.WiredTigerTestCase, suite_subprocess): ('26_max', dict(max_req="2.6", log_max=1)), ('26_patch_max', dict(max_req="2.6.1", log_max=1)), ] + + # Only the minimum version should exist below for each log version. compat_min = [ ('def_min', dict(min_req='none', log_min=3)), ('future_min', dict(min_req=future_rel, log_min=future_logv)), - ('32_min', dict(min_req="3.2", log_min=3)), + ('31_min', dict(min_req="3.1", log_min=3)), ('30_min', dict(min_req="3.0", log_min=2)), ('26_min', dict(min_req="2.6", log_min=1)), ('26_patch_min', dict(min_req="2.6.1", log_min=1)), ] - base_config = [ - ('basecfg_true', dict(basecfg='true')), - ('basecfg_false', dict(basecfg='false')), - ] - scenarios = make_scenarios(compat_release, compat_max, compat_min, base_config) + + scenarios = make_scenarios(compat_release, compat_max, compat_min) # This test creates scenarios that lead to errors. This is different # than compat02 because it is testing errors (or success) using the @@ -93,9 +99,10 @@ class test_compat03(wttest.WiredTigerTestCase, suite_subprocess): def test_compat03(self): testdir = 'TEST' os.mkdir(testdir) - config_str = 'create,config_base=%s,' % self.basecfg + config_str = 'create,' log_str = 'log=(archive=false,enabled,file_max=%s),' % self.logmax compat_str = '' + if (self.rel != 'none'): compat_str += 'compatibility=(release="%s"),' % self.rel if (self.max_req != 'none'): @@ -105,12 +112,11 @@ class test_compat03(wttest.WiredTigerTestCase, suite_subprocess): config_str += log_str + compat_str self.pr("Conn config:" + config_str) - # # We have a lot of error cases. There are too many and they are # dependent on the order of the library code so don't check specific # error messages. So just determine if an error should occur and # make sure it does. - # + if ((self.log_min >= self.future_logv) or (self.log_max >= self.future_logv) or (self.log_rel >= self.future_logv) or |