From af42228429c6dd565bb4e423cca943b0ae137dc8 Mon Sep 17 00:00:00 2001 From: Luigi311 Date: Tue, 2 Jan 2024 23:58:05 -0700 Subject: [PATCH] CI: Improve mark validation --- test/validate_ci_marklog.py | 41 ++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/test/validate_ci_marklog.py b/test/validate_ci_marklog.py index 4943bcb..36ce925 100644 --- a/test/validate_ci_marklog.py +++ b/test/validate_ci_marklog.py @@ -11,15 +11,34 @@ def read_marklog(): def check_marklog(lines, expected_values): - for line in lines: - # Remove the newline character - line = line.strip() - if line not in expected_values: - print("Line not found in marklog: " + line) - return False - return True + try: + # Check to make sure the marklog contains all the expected values and nothing else + found_values = [] + for line in lines: + # Remove the newline character + line = line.strip() + if line not in expected_values: + raise Exception("Line not found in marklog: " + line) + found_values.append(line) + + # Check to make sure the marklog contains the same number of values as the expected values + if len(found_values) != len(expected_values): + raise Exception("Marklog did not contain the same number of values as the expected values, found " + + str(len(found_values)) + " values, expected " + str(len(expected_values)) + " values") + + # Check that the two lists contain the same values + if sorted(found_values) != sorted(expected_values): + raise Exception("Marklog did not contain the same values as the expected values, found:\n" + + "\n".join(sorted(found_values)) + "\n\nExpected:\n" + "\n".join(sorted(expected_values))) + + return True + except Exception as e: + print(e) + return False + + def main(): expected_values = [ "jellyplex_watched/Movies/Five Nights at Freddy's", @@ -35,10 +54,12 @@ def main(): lines = read_marklog() if not check_marklog(lines, expected_values): - print("Marklog did not contain the expected values") + print("Failed to validate marklog") exit(1) - else: - print("Marklog contained the expected values") + + print("Successfully validated marklog") + exit(0) + if __name__ == "__main__":