Skip to content

Commit 2841efe

Browse files
committed
Rewrite most .txt tests into (pretty) .toml files.
This includes build/txt-to-toml.py which did the rewrites, and can be used to rewrite other no-in-tree test spec files to toml. I didn't touch status or restarting tests yet. Restarting will be handled later. It turns out that I don't understand how status tests work.
1 parent 0131f0d commit 2841efe

File tree

203 files changed

+3065
-2439
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+3065
-2439
lines changed

build/txt-to-toml.py

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/env python
2+
import sys
3+
4+
5+
def main():
6+
if len(sys.argv) != 2:
7+
print('Usage: txt-to-toml.py [src.txt]')
8+
return 1
9+
10+
filename = sys.argv[1]
11+
12+
indent = ' '
13+
in_workload = False
14+
first_test = False
15+
keys_before_test = False
16+
17+
for line in open(filename):
18+
k = ''
19+
v = ''
20+
21+
if line.strip().startswith(';'):
22+
print( (indent if in_workload else '') + line.strip().replace(';', '#') )
23+
continue
24+
25+
if '=' in line:
26+
(k, v) = line.strip().split('=')
27+
(k, v) = (k.strip(), v.strip())
28+
29+
if k == 'testTitle':
30+
first_test = True
31+
if in_workload:
32+
print('')
33+
in_workload = False
34+
if keys_before_test:
35+
print('')
36+
keys_before_test = False
37+
print('[[test]]')
38+
39+
if k == 'testName':
40+
in_workload = True
41+
print('')
42+
print(indent + '[[test.workload]]')
43+
44+
if not first_test:
45+
keys_before_test = True
46+
47+
if v.startswith('.'):
48+
v = '0' + v
49+
50+
if any(c.isalpha() or c in ['/', '!'] for c in v):
51+
if v != 'true' and v != 'false':
52+
v = "'" + v + "'"
53+
54+
if k == 'buggify':
55+
print('buggify = ' + ('true' if v == "'on'" else 'false'))
56+
elif k:
57+
print( (indent if in_workload else '') + k + ' = ' + v)
58+
59+
return 0
60+
61+
62+
if __name__ == '__main__':
63+
sys.exit(main())

cmake/AddFdbTest.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ function(configure_testing)
1616
set(no_tests YES)
1717
if(CONFIGURE_TESTING_ERROR_ON_ADDITIONAL_FILES)
1818
file(GLOB_RECURSE candidates "${CONFIGURE_TESTING_TEST_DIRECTORY}/*.txt")
19+
file(GLOB_RECURSE toml_candidates "${CONFIGURE_TESTING_TEST_DIRECTORY}/*.toml")
20+
list(APPEND candidates ${toml_candidates})
1921
foreach(candidate IN LISTS candidates)
2022
set(candidate_is_test YES)
2123
foreach(pattern IN LISTS CONFIGURE_TESTING_IGNORE_PATTERNS)

tests/CMakeLists.txt

+100-100
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ if(WITH_PYTHON)
6767
add_fdb_test(TEST_FILES ReadAbsent.txt IGNORE)
6868
add_fdb_test(TEST_FILES ReadAfterWrite.txt IGNORE)
6969
add_fdb_test(TEST_FILES ReadHalfAbsent.txt IGNORE)
70-
add_fdb_test(TEST_FILES fast/ReadHotDetectionCorrectness.txt)
7170
add_fdb_test(TEST_FILES RedwoodCorrectnessUnits.txt IGNORE)
7271
add_fdb_test(TEST_FILES RedwoodCorrectnessBTree.txt IGNORE)
7372
add_fdb_test(TEST_FILES RedwoodCorrectnessPager.txt IGNORE)
@@ -105,65 +104,66 @@ if(WITH_PYTHON)
105104
add_fdb_test(TEST_FILES randomSelector.txt IGNORE)
106105
add_fdb_test(TEST_FILES selectorCorrectness.txt IGNORE)
107106
add_fdb_test(TEST_FILES WriteTagThrottling.txt IGNORE)
108-
add_fdb_test(TEST_FILES fast/AtomicBackupCorrectness.txt)
109-
add_fdb_test(TEST_FILES fast/AtomicBackupToDBCorrectness.txt)
110-
add_fdb_test(TEST_FILES fast/AtomicOps.txt)
111-
add_fdb_test(TEST_FILES fast/AtomicOpsApiCorrectness.txt)
112-
add_fdb_test(TEST_FILES fast/BackupCorrectness.txt)
113-
add_fdb_test(TEST_FILES fast/BackupCorrectnessClean.txt)
114-
add_fdb_test(TEST_FILES fast/BackupToDBCorrectness.txt)
115-
add_fdb_test(TEST_FILES fast/BackupToDBCorrectnessClean.txt)
116-
add_fdb_test(TEST_FILES fast/CacheTest.txt)
117-
add_fdb_test(TEST_FILES fast/CloggedSideband.txt)
118-
add_fdb_test(TEST_FILES fast/ConfigureLocked.txt)
119-
add_fdb_test(TEST_FILES fast/ConstrainedRandomSelector.txt)
120-
add_fdb_test(TEST_FILES fast/CycleAndLock.txt)
121-
add_fdb_test(TEST_FILES fast/CycleTest.txt)
122-
add_fdb_test(TEST_FILES fast/FuzzApiCorrectness.txt)
123-
add_fdb_test(TEST_FILES fast/FuzzApiCorrectnessClean.txt)
124-
add_fdb_test(TEST_FILES fast/IncrementTest.txt)
125-
add_fdb_test(TEST_FILES fast/InventoryTestAlmostReadOnly.txt)
126-
add_fdb_test(TEST_FILES fast/InventoryTestSomeWrites.txt)
127-
add_fdb_test(TEST_FILES fast/KillRegionCycle.txt)
128-
add_fdb_test(TEST_FILES fast/LocalRatekeeper.txt)
129-
add_fdb_test(TEST_FILES fast/LongStackWriteDuringRead.txt)
130-
add_fdb_test(TEST_FILES fast/LowLatency.txt)
131-
add_fdb_test(TEST_FILES fast/MemoryLifetime.txt)
132-
add_fdb_test(TEST_FILES fast/MoveKeysCycle.txt)
133-
add_fdb_test(TEST_FILES fast/RandomSelector.txt)
134-
add_fdb_test(TEST_FILES fast/RandomUnitTests.txt)
135-
add_fdb_test(TEST_FILES fast/ReportConflictingKeys.txt)
136-
add_fdb_test(TEST_FILES fast/SelectorCorrectness.txt)
137-
add_fdb_test(TEST_FILES fast/Sideband.txt)
138-
add_fdb_test(TEST_FILES fast/SidebandWithStatus.txt)
139-
add_fdb_test(TEST_FILES fast/SpecialKeySpaceCorrectness.txt)
140-
add_fdb_test(TEST_FILES fast/SwizzledRollbackSideband.txt)
141-
add_fdb_test(TEST_FILES fast/SystemRebootTestCycle.txt)
142-
add_fdb_test(TEST_FILES fast/TaskBucketCorrectness.txt)
143-
add_fdb_test(TEST_FILES fast/TimeKeeperCorrectness.txt)
144-
add_fdb_test(TEST_FILES fast/TxnStateStoreCycleTest.txt)
145-
add_fdb_test(TEST_FILES fast/Unreadable.txt)
146-
add_fdb_test(TEST_FILES fast/VersionStamp.txt)
147-
add_fdb_test(TEST_FILES fast/Watches.txt)
148-
add_fdb_test(TEST_FILES fast/WriteDuringRead.txt)
149-
add_fdb_test(TEST_FILES fast/WriteDuringReadClean.txt)
150-
add_fdb_test(TEST_FILES rare/CheckRelocation.txt)
151-
add_fdb_test(TEST_FILES rare/ClogUnclog.txt)
152-
add_fdb_test(TEST_FILES rare/CloggedCycleWithKills.txt)
153-
add_fdb_test(TEST_FILES rare/ConflictRangeCheck.txt)
154-
add_fdb_test(TEST_FILES rare/ConflictRangeRYOWCheck.txt)
155-
add_fdb_test(TEST_FILES rare/CycleRollbackClogged.txt)
156-
add_fdb_test(TEST_FILES rare/CycleWithKills.txt)
157-
add_fdb_test(TEST_FILES rare/FuzzTest.txt)
158-
add_fdb_test(TEST_FILES rare/InventoryTestHeavyWrites.txt)
159-
add_fdb_test(TEST_FILES rare/LargeApiCorrectness.txt)
160-
add_fdb_test(TEST_FILES rare/LargeApiCorrectnessStatus.txt)
161-
add_fdb_test(TEST_FILES rare/RYWDisable.txt)
162-
add_fdb_test(TEST_FILES rare/RandomReadWriteTest.txt)
163-
add_fdb_test(TEST_FILES rare/SwizzledLargeApiCorrectness.txt)
164-
add_fdb_test(TEST_FILES rare/RedwoodCorrectnessBTree.txt)
165-
add_fdb_test(TEST_FILES rare/TransactionTagApiCorrectness.txt)
166-
add_fdb_test(TEST_FILES rare/TransactionTagSwizzledApiCorrectness.txt)
107+
add_fdb_test(TEST_FILES fast/AtomicBackupCorrectness.toml)
108+
add_fdb_test(TEST_FILES fast/AtomicBackupToDBCorrectness.toml)
109+
add_fdb_test(TEST_FILES fast/AtomicOps.toml)
110+
add_fdb_test(TEST_FILES fast/AtomicOpsApiCorrectness.toml)
111+
add_fdb_test(TEST_FILES fast/BackupCorrectness.toml)
112+
add_fdb_test(TEST_FILES fast/BackupCorrectnessClean.toml)
113+
add_fdb_test(TEST_FILES fast/BackupToDBCorrectness.toml)
114+
add_fdb_test(TEST_FILES fast/BackupToDBCorrectnessClean.toml)
115+
add_fdb_test(TEST_FILES fast/CacheTest.toml)
116+
add_fdb_test(TEST_FILES fast/CloggedSideband.toml)
117+
add_fdb_test(TEST_FILES fast/ConfigureLocked.toml)
118+
add_fdb_test(TEST_FILES fast/ConstrainedRandomSelector.toml)
119+
add_fdb_test(TEST_FILES fast/CycleAndLock.toml)
120+
add_fdb_test(TEST_FILES fast/CycleTest.toml)
121+
add_fdb_test(TEST_FILES fast/FuzzApiCorrectness.toml)
122+
add_fdb_test(TEST_FILES fast/FuzzApiCorrectnessClean.toml)
123+
add_fdb_test(TEST_FILES fast/IncrementTest.toml)
124+
add_fdb_test(TEST_FILES fast/InventoryTestAlmostReadOnly.toml)
125+
add_fdb_test(TEST_FILES fast/InventoryTestSomeWrites.toml)
126+
add_fdb_test(TEST_FILES fast/KillRegionCycle.toml)
127+
add_fdb_test(TEST_FILES fast/LocalRatekeeper.toml)
128+
add_fdb_test(TEST_FILES fast/LongStackWriteDuringRead.toml)
129+
add_fdb_test(TEST_FILES fast/LowLatency.toml)
130+
add_fdb_test(TEST_FILES fast/MemoryLifetime.toml)
131+
add_fdb_test(TEST_FILES fast/MoveKeysCycle.toml)
132+
add_fdb_test(TEST_FILES fast/RandomSelector.toml)
133+
add_fdb_test(TEST_FILES fast/RandomUnitTests.toml)
134+
add_fdb_test(TEST_FILES fast/ReadHotDetectionCorrectness.toml)
135+
add_fdb_test(TEST_FILES fast/ReportConflictingKeys.toml)
136+
add_fdb_test(TEST_FILES fast/SelectorCorrectness.toml)
137+
add_fdb_test(TEST_FILES fast/Sideband.toml)
138+
add_fdb_test(TEST_FILES fast/SidebandWithStatus.toml)
139+
add_fdb_test(TEST_FILES fast/SpecialKeySpaceCorrectness.toml)
140+
add_fdb_test(TEST_FILES fast/SwizzledRollbackSideband.toml)
141+
add_fdb_test(TEST_FILES fast/SystemRebootTestCycle.toml)
142+
add_fdb_test(TEST_FILES fast/TaskBucketCorrectness.toml)
143+
add_fdb_test(TEST_FILES fast/TimeKeeperCorrectness.toml)
144+
add_fdb_test(TEST_FILES fast/TxnStateStoreCycleTest.toml)
145+
add_fdb_test(TEST_FILES fast/Unreadable.toml)
146+
add_fdb_test(TEST_FILES fast/VersionStamp.toml)
147+
add_fdb_test(TEST_FILES fast/Watches.toml)
148+
add_fdb_test(TEST_FILES fast/WriteDuringRead.toml)
149+
add_fdb_test(TEST_FILES fast/WriteDuringReadClean.toml)
150+
add_fdb_test(TEST_FILES rare/CheckRelocation.toml)
151+
add_fdb_test(TEST_FILES rare/ClogUnclog.toml)
152+
add_fdb_test(TEST_FILES rare/CloggedCycleWithKills.toml)
153+
add_fdb_test(TEST_FILES rare/ConflictRangeCheck.toml)
154+
add_fdb_test(TEST_FILES rare/ConflictRangeRYOWCheck.toml)
155+
add_fdb_test(TEST_FILES rare/CycleRollbackClogged.toml)
156+
add_fdb_test(TEST_FILES rare/CycleWithKills.toml)
157+
add_fdb_test(TEST_FILES rare/FuzzTest.toml)
158+
add_fdb_test(TEST_FILES rare/InventoryTestHeavyWrites.toml)
159+
add_fdb_test(TEST_FILES rare/LargeApiCorrectness.toml)
160+
add_fdb_test(TEST_FILES rare/LargeApiCorrectnessStatus.toml)
161+
add_fdb_test(TEST_FILES rare/RYWDisable.toml)
162+
add_fdb_test(TEST_FILES rare/RandomReadWriteTest.toml)
163+
add_fdb_test(TEST_FILES rare/SwizzledLargeApiCorrectness.toml)
164+
add_fdb_test(TEST_FILES rare/RedwoodCorrectnessBTree.toml)
165+
add_fdb_test(TEST_FILES rare/TransactionTagApiCorrectness.toml)
166+
add_fdb_test(TEST_FILES rare/TransactionTagSwizzledApiCorrectness.toml)
167167

168168
add_fdb_test(
169169
TEST_FILES restarting/from_7.0.0/ConfigureTestRestart-1.txt
@@ -192,46 +192,46 @@ if(WITH_PYTHON)
192192
add_fdb_test(
193193
TEST_FILES restarting/from_5.2.0/ClientTransactionProfilingCorrectness-1.txt
194194
restarting/from_5.2.0/ClientTransactionProfilingCorrectness-2.txt)
195-
add_fdb_test(TEST_FILES slow/ApiCorrectness.txt)
196-
add_fdb_test(TEST_FILES slow/ApiCorrectnessAtomicRestore.txt)
197-
add_fdb_test(TEST_FILES slow/ApiCorrectnessSwitchover.txt)
198-
add_fdb_test(TEST_FILES slow/ClogWithRollbacks.txt)
199-
add_fdb_test(TEST_FILES slow/CloggedCycleTest.txt)
200-
add_fdb_test(TEST_FILES slow/CloggedStorefront.txt)
201-
add_fdb_test(TEST_FILES slow/CommitBug.txt)
202-
add_fdb_test(TEST_FILES slow/ConfigureTest.txt)
203-
add_fdb_test(TEST_FILES slow/CycleRollbackPlain.txt)
204-
add_fdb_test(TEST_FILES slow/DDBalanceAndRemove.txt)
205-
add_fdb_test(TEST_FILES slow/DDBalanceAndRemoveStatus.txt)
206-
add_fdb_test(TEST_FILES slow/DifferentClustersSameRV.txt)
207-
add_fdb_test(TEST_FILES slow/FastTriggeredWatches.txt)
208-
add_fdb_test(TEST_FILES slow/LowLatencyWithFailures.txt)
209-
add_fdb_test(TEST_FILES slow/MoveKeysClean.txt)
210-
add_fdb_test(TEST_FILES slow/MoveKeysSideband.txt)
211-
add_fdb_test(TEST_FILES slow/RyowCorrectness.txt)
212-
add_fdb_test(TEST_FILES slow/Serializability.txt)
213-
add_fdb_test(TEST_FILES slow/SharedBackupCorrectness.txt)
214-
add_fdb_test(TEST_FILES slow/SharedBackupToDBCorrectness.txt)
215-
add_fdb_test(TEST_FILES slow/StorefrontTest.txt)
216-
add_fdb_test(TEST_FILES slow/SwizzledApiCorrectness.txt)
217-
add_fdb_test(TEST_FILES slow/SwizzledCycleTest.txt)
218-
add_fdb_test(TEST_FILES slow/SwizzledDdBalance.txt)
219-
add_fdb_test(TEST_FILES slow/SwizzledRollbackTimeLapse.txt)
220-
add_fdb_test(TEST_FILES slow/SwizzledRollbackTimeLapseIncrement.txt)
221-
add_fdb_test(TEST_FILES slow/VersionStampBackupToDB.txt)
222-
add_fdb_test(TEST_FILES slow/VersionStampSwitchover.txt)
223-
add_fdb_test(TEST_FILES slow/WriteDuringReadAtomicRestore.txt)
224-
add_fdb_test(TEST_FILES slow/WriteDuringReadSwitchover.txt)
225-
add_fdb_test(TEST_FILES slow/ddbalance.txt)
226-
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessAtomicOp.txt)
227-
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessCycle.txt)
228-
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessMultiCycles.txt)
229-
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupWriteDuringReadAtomicRestore.txt)
230-
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessAtomicOp.txt)
231-
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessCycle.txt)
232-
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessMultiCycles.txt)
233-
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupWriteDuringReadAtomicRestore.txt)
234-
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupApiCorrectnessAtomicRestore.txt)
195+
add_fdb_test(TEST_FILES slow/ApiCorrectness.toml)
196+
add_fdb_test(TEST_FILES slow/ApiCorrectnessAtomicRestore.toml)
197+
add_fdb_test(TEST_FILES slow/ApiCorrectnessSwitchover.toml)
198+
add_fdb_test(TEST_FILES slow/ClogWithRollbacks.toml)
199+
add_fdb_test(TEST_FILES slow/CloggedCycleTest.toml)
200+
add_fdb_test(TEST_FILES slow/CloggedStorefront.toml)
201+
add_fdb_test(TEST_FILES slow/CommitBug.toml)
202+
add_fdb_test(TEST_FILES slow/ConfigureTest.toml)
203+
add_fdb_test(TEST_FILES slow/CycleRollbackPlain.toml)
204+
add_fdb_test(TEST_FILES slow/DDBalanceAndRemove.toml)
205+
add_fdb_test(TEST_FILES slow/DDBalanceAndRemoveStatus.toml)
206+
add_fdb_test(TEST_FILES slow/DifferentClustersSameRV.toml)
207+
add_fdb_test(TEST_FILES slow/FastTriggeredWatches.toml)
208+
add_fdb_test(TEST_FILES slow/LowLatencyWithFailures.toml)
209+
add_fdb_test(TEST_FILES slow/MoveKeysClean.toml)
210+
add_fdb_test(TEST_FILES slow/MoveKeysSideband.toml)
211+
add_fdb_test(TEST_FILES slow/RyowCorrectness.toml)
212+
add_fdb_test(TEST_FILES slow/Serializability.toml)
213+
add_fdb_test(TEST_FILES slow/SharedBackupCorrectness.toml)
214+
add_fdb_test(TEST_FILES slow/SharedBackupToDBCorrectness.toml)
215+
add_fdb_test(TEST_FILES slow/StorefrontTest.toml)
216+
add_fdb_test(TEST_FILES slow/SwizzledApiCorrectness.toml)
217+
add_fdb_test(TEST_FILES slow/SwizzledCycleTest.toml)
218+
add_fdb_test(TEST_FILES slow/SwizzledDdBalance.toml)
219+
add_fdb_test(TEST_FILES slow/SwizzledRollbackTimeLapse.toml)
220+
add_fdb_test(TEST_FILES slow/SwizzledRollbackTimeLapseIncrement.toml)
221+
add_fdb_test(TEST_FILES slow/VersionStampBackupToDB.toml)
222+
add_fdb_test(TEST_FILES slow/VersionStampSwitchover.toml)
223+
add_fdb_test(TEST_FILES slow/WriteDuringReadAtomicRestore.toml)
224+
add_fdb_test(TEST_FILES slow/WriteDuringReadSwitchover.toml)
225+
add_fdb_test(TEST_FILES slow/ddbalance.toml)
226+
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessAtomicOp.toml)
227+
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessCycle.toml)
228+
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupCorrectnessMultiCycles.toml)
229+
add_fdb_test(TEST_FILES slow/ParallelRestoreNewBackupWriteDuringReadAtomicRestore.toml)
230+
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessAtomicOp.toml)
231+
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessCycle.toml)
232+
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupCorrectnessMultiCycles.toml)
233+
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupWriteDuringReadAtomicRestore.toml)
234+
add_fdb_test(TEST_FILES slow/ParallelRestoreOldBackupApiCorrectnessAtomicRestore.toml)
235235
# Note that status tests are not deterministic.
236236
add_fdb_test(TEST_FILES status/invalid_proc_addresses.txt)
237237
add_fdb_test(TEST_FILES status/local_6_machine_no_replicas_remain.txt)
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
[[test]]
2+
testTitle = 'BackupAndRestore'
3+
clearAfterTest = false
4+
simBackupAgents = 'BackupToFile'
5+
6+
[[test.workload]]
7+
testName = 'AtomicOps'
8+
nodeCount = 30000
9+
transactionsPerSecond = 2500.0
10+
testDuration = 30.0
11+
12+
[[test.workload]]
13+
testName = 'BackupAndRestoreCorrectness'
14+
backupAfter = 10.0
15+
restoreAfter = 60.0
16+
backupRangesCount = -1
17+
18+
[[test.workload]]
19+
testName = 'RandomClogging'
20+
testDuration = 90.0
21+
22+
[[test.workload]]
23+
testName = 'Rollback'
24+
meanDelay = 90.0
25+
testDuration = 90.0
26+
27+
[[test.workload]]
28+
testName = 'Attrition'
29+
machinesToKill = 10
30+
machinesToLeave = 3
31+
reboot = true
32+
testDuration = 90.0
33+
34+
[[test.workload]]
35+
testName = 'Attrition'
36+
machinesToKill = 10
37+
machinesToLeave = 3
38+
reboot = true
39+
testDuration = 90.0

tests/fast/AtomicBackupCorrectness.txt

-32
This file was deleted.

0 commit comments

Comments
 (0)