diff --git a/solve.py b/solve.py index b4487b1..0eb837b 100644 --- a/solve.py +++ b/solve.py @@ -1,6 +1,6 @@ import sys -from time import time from importlib import import_module +from time import time from advent.errors import InvalidSessionIDError, PuzzleNotFoundError from advent.functions import get_puzzle_input @@ -29,6 +29,25 @@ def main(): print(f"Solver for day {day} not found") sys.exit(1) + try: + print("Testing part 1 solution...") + start = time() + assert mod.solve_p1(mod.test_input) == mod.test_solution_p1 + print(f"Test passed in {time() - start:.3f} seconds") + + print("Testing part 2 solution...") + start = time() + assert mod.solve_p2(mod.test_input) == mod.test_solution_p2 + print(f"Test passed in {time() - start:.3f} seconds") + + except AssertionError: + print("Test failed") + sys.exit(1) + + except Exception as exc: + print("Error:", exc) + sys.exit(1) + try: print("Fetching puzzle input...") puzzle_input = get_puzzle_input(2024, int(day)) @@ -37,21 +56,11 @@ def main(): sys.exit(1) try: - print("Testing part 1 solution...") - start = time() - assert mod.solve_p1(mod.test_input) == mod.test_solution_p1 - print(f"Test passed in {time() - start:.3f} seconds") - print("Solving part 1...") start = time() solution_p1 = mod.solve_p1(puzzle_input) print(f"Part 1 solution: {solution_p1} ({time() - start:.3f} seconds)") - print("Testing part 2 solution...") - start = time() - assert mod.solve_p2(mod.test_input) == mod.test_solution_p2 - print(f"Test passed in {time() - start:.3f} seconds") - print("Solving part 2...") solution_p2 = mod.solve_p2(puzzle_input) print(f"Part 2 solution: {solution_p2} ({time() - start:.3f} seconds)") @@ -60,7 +69,7 @@ def main(): print("Puzzle solver is incomplete. Exiting") sys.exit(1) - except exc: + except Exception as exc: print("Error:", exc) sys.exit(1)