diff --git a/tests/nodeos_startup_catchup.py b/tests/nodeos_startup_catchup.py index deeae78193..ea4af02747 100755 --- a/tests/nodeos_startup_catchup.py +++ b/tests/nodeos_startup_catchup.py @@ -170,7 +170,10 @@ def waitForNodeStarted(node): waitForBlock(node0, catchupHead+5, timeout=twoRoundsTimeout*2, blockType=BlockType.lib) Print("Restart catchup node") - catchupNode.relaunch() + addSwapFlags = None + if catchup_num % 3 == 0: + addSwapFlags = {"--block-log-retain-blocks": "0", "--delete-all": ""} + catchupNode.relaunch(skipGenesis=False, addSwapFlags=addSwapFlags) waitForNodeStarted(catchupNode) lastCatchupLibNum=lib(catchupNode) @@ -189,6 +192,12 @@ def waitForNodeStarted(node): catchupNode.interruptAndVerifyExitStatus(60) catchupNode.popenProc=None + logFile = Utils.getNodeDataDir(catchupNodeNum) + "/stderr.txt" + f = open(logFile) + contents = f.read() + if contents.count("unlinkable_block_exception") > 3: # a few are fine + errorExit(f"Node{catchupNodeNum} has unlinkable blocks: {logFile}.") + testSuccessful=True finally: