David Capwell created CASSANDRA-16683:
-----------------------------------------

             Summary: 
offline_tools_test.py::TestOfflineTools::test_sstableverify does not validate 
that verify fails so has not been doing its check since 3.0
                 Key: CASSANDRA-16683
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16683
             Project: Cassandra
          Issue Type: Bug
          Components: Test/dtest/python, Tool/sstable
            Reporter: David Capwell
            Assignee: David Capwell


offline_tools_test.py::TestOfflineTools::test_sstableverify has the following 
check

{code}
       try:
           (out, error, rc) = node1.run_sstableverify("keyspace1", "standard1", 
options=['-v'])
       except ToolError as e:
           # Process sstableverify output to normalize paths in string to 
Python casing as above
           error = re.sub("(?<=Corrupted: ).*", lambda match: 
os.path.normcase(match.group(0)), str(e))

           assert re.search("Corrupted: " + sstable1, error)
           assert e.exit_status == 1, str(e.exit_status)
{code}

This checks if the corrupt log is present IFF ToolError is thrown, but does not 
validate that the error is actually thrown.  I tried calling the same logic 
before the try to validate and see that it does not fail.  If we fix the test 
to check for error we also see that the log that is returned to the user does 
not match 2.2’s behavior but instead returns different logic as digest 
validation throws IOException, which we do not convert to a 
CorruptSSTableException (which is the message the test checks for).

This also shows another big issue, that when the digest fails verify passes



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to