aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/e2e/call_stack/test_call_stack.py1
-rw-r--r--test/e2e/fibo/test_fibo.py27
-rw-r--r--test/e2e/just_hlt/test_just_hlt.py19
-rw-r--r--test/e2e/std_bump_alloc/test_bump_alloc.py4
-rw-r--r--test/e2e/std_mem/test_std_mem.py34
-rw-r--r--test/e2e/sum/test_sum.py19
6 files changed, 20 insertions, 84 deletions
diff --git a/test/e2e/call_stack/test_call_stack.py b/test/e2e/call_stack/test_call_stack.py
index 02897f9..713307d 100644
--- a/test/e2e/call_stack/test_call_stack.py
+++ b/test/e2e/call_stack/test_call_stack.py
@@ -1,4 +1,3 @@
-import time
from atk16_asm import assemble
from atk16_emu import Machine
from test.utils import pad_bytearray
diff --git a/test/e2e/fibo/test_fibo.py b/test/e2e/fibo/test_fibo.py
index 664e701..14760e0 100644
--- a/test/e2e/fibo/test_fibo.py
+++ b/test/e2e/fibo/test_fibo.py
@@ -1,27 +1,8 @@
-import time
-from atk16_asm import assemble
-from atk16_emu import Machine
-from test.utils import pad_bytearray
+from test.utils import assemble_and_run_until_halted
def test_fibo():
- filename = "test/e2e/fibo/fibo.atk16"
- with open(filename, "r") as f:
- source = f.read()
-
- obj = assemble(source, filename)
- rom_image = pad_bytearray(obj.program)
-
- machine = Machine()
- machine.load_rom_image(rom_image)
- machine.reset()
- start = time.perf_counter_ns()
- machine.run_until_halted()
- end = time.perf_counter_ns()
- machine.print_state_summary()
-
- elapsed = end - start
- print("Elapsed time:", elapsed, "ns")
- steps_taken = machine.steps_taken
- print("Instructions / second:", steps_taken / (elapsed / 1e9))
+ machine = assemble_and_run_until_halted(
+ "test/e2e/fibo/fibo.atk16"
+ )
assert machine.ra.value == 41443
diff --git a/test/e2e/just_hlt/test_just_hlt.py b/test/e2e/just_hlt/test_just_hlt.py
index c037615..362482b 100644
--- a/test/e2e/just_hlt/test_just_hlt.py
+++ b/test/e2e/just_hlt/test_just_hlt.py
@@ -1,19 +1,8 @@
-from atk16_asm import assemble
-from atk16_emu import Machine
-from test.utils import pad_bytearray
+from test.utils import assemble_and_run_until_halted
def test_just_hlt():
- filename = "test/e2e/just_hlt/just_hlt.atk16"
- with open(filename, "r") as f:
- source = f.read()
-
- obj = assemble(source, filename)
- rom_image = pad_bytearray(obj.program)
-
- machine = Machine()
- machine.load_rom_image(rom_image)
- machine.reset()
- machine.run_until_halted()
- machine.print_state_summary()
+ machine = assemble_and_run_until_halted(
+ "test/e2e/just_hlt/just_hlt.atk16"
+ )
assert machine.pc.value == 1
diff --git a/test/e2e/std_bump_alloc/test_bump_alloc.py b/test/e2e/std_bump_alloc/test_bump_alloc.py
index 9e64b8c..717a122 100644
--- a/test/e2e/std_bump_alloc/test_bump_alloc.py
+++ b/test/e2e/std_bump_alloc/test_bump_alloc.py
@@ -1,6 +1,4 @@
-from atk16_asm import assemble
-from atk16_emu import Machine
-from test.utils import pad_bytearray, assemble_and_run_until_halted
+from test.utils import assemble_and_run_until_halted
def test_bump_reset():
machine = assemble_and_run_until_halted(
diff --git a/test/e2e/std_mem/test_std_mem.py b/test/e2e/std_mem/test_std_mem.py
index f45ca5b..dcc9c95 100644
--- a/test/e2e/std_mem/test_std_mem.py
+++ b/test/e2e/std_mem/test_std_mem.py
@@ -1,20 +1,9 @@
-from atk16_asm import assemble
-from atk16_emu import Machine
-from test.utils import pad_bytearray
+from test.utils import assemble_and_run_until_halted
def test_memset():
- filename = "test/e2e/std_mem/run_memset.atk16"
- with open(filename, "r") as f:
- source = f.read()
-
- obj = assemble(source, filename)
- rom_image = pad_bytearray(obj.program)
-
- machine = Machine()
- machine.load_rom_image(rom_image)
- machine.reset()
- machine.run_until_halted()
- machine.print_state_summary()
+ machine = assemble_and_run_until_halted(
+ "test/e2e/std_mem/run_memset.atk16"
+ )
addr = 0x9000 - 0x8000
n = 5
@@ -22,18 +11,9 @@ def test_memset():
assert all([x == value for x in machine.ram.memory[addr:addr+n]])
def test_memcopy():
- filename = "test/e2e/std_mem/run_memcopy.atk16"
- with open(filename, "r") as f:
- source = f.read()
-
- obj = assemble(source, filename)
- rom_image = pad_bytearray(obj.program)
-
- machine = Machine()
- machine.load_rom_image(rom_image)
- machine.reset()
- machine.run_until_halted()
- machine.print_state_summary()
+ machine = assemble_and_run_until_halted(
+ "test/e2e/std_mem/run_memcopy.atk16"
+ )
addr_from = 0x9000 - 0x8000
addr_to = 0x9100 - 0x8000
diff --git a/test/e2e/sum/test_sum.py b/test/e2e/sum/test_sum.py
index 3edc1aa..b76ee9e 100644
--- a/test/e2e/sum/test_sum.py
+++ b/test/e2e/sum/test_sum.py
@@ -1,19 +1,8 @@
-from atk16_asm import assemble
-from atk16_emu import Machine
-from test.utils import pad_bytearray
+from test.utils import assemble_and_run_until_halted
def test_sum():
- filename = "test/e2e/sum/sum.atk16"
- with open(filename, "r") as f:
- source = f.read()
-
- obj = assemble(source, filename)
- rom_image = pad_bytearray(obj.program)
-
- machine = Machine()
- machine.load_rom_image(rom_image)
- machine.reset()
- machine.run_until_halted()
- machine.print_state_summary()
+ machine = assemble_and_run_until_halted(
+ "test/e2e/sum/sum.atk16"
+ )
assert machine.rb.value == 30