def verify_results()

in scripts/lib/verify_test_results.py [0:0]


def verify_results(results,expected_results):

    is_test_run_failed = False
    for test_number in results.keys():
        for step in results[test_number].keys():
            is_test_case_failed = True
            expected_correct = 0

            # Verifiying result from each retry for testcase+step
            for try_result in results[test_number][step]:
                count_failed, count_correct, count_ignored = try_result
                # Expected correct count by default for a testcase+step
                expected_correct = count_failed + count_correct + count_ignored

                if test_number in expected_results.keys():
                    if step in expected_results[test_number]:
                        expected_correct = expected_results[test_number][step]

                # Check if the number of probes passed in testcase+step are as expected
                if count_correct >= expected_correct:
                    print("Test Number:{test_number} | {step} | Passed -> Correct:{count_correct} Expected:{expected_correct}".format(
                        test_number=test_number,step=step,
                        count_correct=try_result[1],expected_correct=expected_correct
                    ))
                    is_test_case_failed = False
                    break

            if is_test_case_failed:
                print("Test Number:{test_number} | {step} | Failed -> Try results: {probes} Expected:{expected_correct}".format(
                        test_number=test_number,step=step,
                        probes=results[test_number][step],expected_correct=expected_correct
                ))
                # Mark the entire test run as fail since atleast one test deviated from the expected results
                is_test_run_failed=True

    if is_test_run_failed or len(results) !=112:
        sys.exit(1)
    else:
        sys.exit(0)