From 546487a45ad9cf22b3e03f71e1d640beeb8e988c Mon Sep 17 00:00:00 2001 From: Luke Chen Date: Tue, 19 Oct 2021 16:54:52 +1100 Subject: Import wiredtiger: c45301668c5fd6856fffe99a1ed766e23977c517 from branch mongodb-4.4 ref: e8bf2e5fcb..c45301668c for: 4.4.11 WT-5009 Migrate remaining wiredtiger-perf-lsm tests to Evergreen WT-5743 Rewrite cells when the transaction ids are cleared for VLCS WT-5939 Fix naming conflict resulting in "cannot remove directory" error in test_config06 (OSX only) WT-6077 Add new stats to track compact progress WT-7250 Fix the test to perform explicit eviction instead of relying on low cache size WT-7494 Add Python test to trigger update restore eviction during recovery WT-7885 Ensure WiredTiger testing uses tcmalloc where possible WT-8026 Run PPC/zSeries/macOS mainline builds less frequently in Evergreen WT-8067 Fix the code that ensures to insert the newest history store value as full update WT-8116 Fix issues related to inheritance in the cpp testing framework WT-8147 Detect invalid syntax in cppsuite configs WT-8168 Fix unused variables in search near cpp tests WT-8199 Make s_all accept Python PEP8 compliant line breaks WT-8203 Fix the layering violation in accessing the page WT-8204 Fix possible race condition in "wt7989_compact_checkpoint" CSuite test WT-8214 Only publish the docs from the WiredTiger develop Evergreen project WT-8225 Fix data race in zstd get context WT-8226 Fix largest_key failed to consider prepared update --- src/third_party/wiredtiger/test/suite/wttest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/third_party/wiredtiger/test/suite/wttest.py') diff --git a/src/third_party/wiredtiger/test/suite/wttest.py b/src/third_party/wiredtiger/test/suite/wttest.py index 01c4f315f9c..07e5b0b6610 100755 --- a/src/third_party/wiredtiger/test/suite/wttest.py +++ b/src/third_party/wiredtiger/test/suite/wttest.py @@ -780,7 +780,12 @@ class WiredTigerTestCase(unittest.TestCase): 'test_file.test_file.test_funcname(scen1.scen2.scen3)'. So transform '(', but remove final ')'. """ - return self.shortid().translate(str.maketrans('($[]/ ','______', ')')) + name = self.shortid().translate(str.maketrans('($[]/ ','______', ')')) + + # On OS/X, we can get name conflicts if names differ by case. Upper + # case letters are uncommon in our python class and method names, so + # we lowercase them and prefix with '@', e.g. "AbC" -> "@ab@c". + return re.sub(r'[A-Z]', lambda x: '@' + x.group(0).lower(), name) def className(self): return self.__class__.__name__ -- cgit v1.2.1