From 368629caa53411f8c083c3afc4e7e8014f0fc3be Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Fri, 12 Apr 2024 16:42:31 +0200 Subject: [PATCH] tests/mock: move mock to dedicated file, and add several mock entries --- compiler/__main__.py | 24 ++++++------------------ compiler/tests/__init__.py | 1 + compiler/tests/mock.py | 26 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 compiler/tests/__init__.py create mode 100644 compiler/tests/mock.py diff --git a/compiler/__main__.py b/compiler/__main__.py index 1ba44ec..97ca040 100644 --- a/compiler/__main__.py +++ b/compiler/__main__.py @@ -28,31 +28,19 @@ class REPLInput(io.TextIOWrapper): def main(): parser = argparse.ArgumentParser() - parser.add_argument("--mock", action="store_true", help="Use default test input") + parser.add_argument("--mock", action="store_true", help="Use test input") + + valid_mock_inputs = list(filter(lambda x: x[0] != "_", dir(mock))) + parser.add_argument("--mock-input", dest="mock_input", type=str, choices=valid_mock_inputs, default="legacy_mock", + help="Specify mock input") args = parser.parse_args() - data = """ - { - // let byte: uint32 = 42; - } - let byte: uint32; - - 2 + 8 - 1 * (byte = 3 + 5) - / (byte = 255) + byte; - byte = byte + byte; - { - // let a: uint32 = byte; - } - // { let b: uint32; } - display(byte, 3) + 1; - """ - _input_stream = REPLInput() if args.mock: + data = getattr(mock, args.mock_input) print("Source:\n", data) - input_stream = io.StringIO(data) _input_stream = io.StringIO(data) input_stream = TextIOWithMemory(_input_stream) diff --git a/compiler/tests/__init__.py b/compiler/tests/__init__.py new file mode 100644 index 0000000..021df92 --- /dev/null +++ b/compiler/tests/__init__.py @@ -0,0 +1 @@ +from . import mock diff --git a/compiler/tests/mock.py b/compiler/tests/mock.py new file mode 100644 index 0000000..1c5f58c --- /dev/null +++ b/compiler/tests/mock.py @@ -0,0 +1,26 @@ +simple_arithmetic = "1+1;" + +display_integer = "display(42);" + +missing_colon = "display(42)" + +legacy_mock = """ + { + let byte: uint32 = 42; + } + let byte: uint32; + let foo: uint32; + + byte = 4; + // 10 - (4 / 3) + 4 = 13 + 2 + 8 - 1 * byte / (foo = 3) + byte; + + // byte = 13 + 13 = 26 + byte = byte + byte; + { + //let a: uint32 = byte; + } + // { let b: uint32; } + // let display: uint32 = 3; + display(byte, 3) + 1; + """