import csv, sys path = sys.argv[1] EXPECTED_NUMBERS = [71496, 71480, 71509, 71479, 71397, 71507, 65122, 71498, 71499, 71504] EXPECTED_HEADER = ["number", "state", "comments", "updated_at", "title", "html_url"] with open(path, newline="") as f: reader = csv.reader(f) header = next(reader) rows = list(reader) failures = [] if header != EXPECTED_HEADER: failures.append("header=%r" % (header,)) if len(rows) != len(EXPECTED_NUMBERS): failures.append("rows=%d want %d" % (len(rows), len(EXPECTED_NUMBERS))) else: for i, (got, want) in enumerate(zip(rows, EXPECTED_NUMBERS)): if got[0] != str(want): failures.append("row %d number=%r want %d" % (i, got[0], want)) if failures: print("FAIL:", "; ".join(failures)) sys.exit(1) print("OK: %s verified (header exact, 10 rows, numbers %s...%s)" % (path, EXPECTED_NUMBERS[0], EXPECTED_NUMBERS[-1]))