From 8af9d9f6c5a8fee7bea24f2d1d9cee923d430b77 Mon Sep 17 00:00:00 2001 From: Enrico Pozzobon Date: Mon, 13 Jul 2020 15:28:28 +0200 Subject: [PATCH] moved some reused code in test_common.py --- templates/bluepill/test.py | 16 ++-------------- templates/esp32/test.py | 16 ++-------------- templates/f1-libopencm3/test.py | 16 ++-------------- templates/f7/test.py | 16 ++-------------- templates/maixduino/test.py | 16 ++-------------- templates/uno/test.py | 16 ++-------------- test_common.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 55 insertions(+), 84 deletions(-) mode change 100644 => 100755 test_common.py diff --git a/templates/bluepill/test.py b/templates/bluepill/test.py index 18b5dc5..cea19d5 100755 --- a/templates/bluepill/test.py +++ b/templates/bluepill/test.py @@ -6,6 +6,7 @@ import serial.tools.list_ports from test_common import ( DeviceUnderTestAeadUARTP, eprint, + test_main, OpenOcd, FileMutex, run_nist_lws_aead_test @@ -110,18 +111,5 @@ class BluePill(DeviceUnderTestAeadUARTP): return ram -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = BluePill(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0002) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(BluePill, 0x0002, sys.argv)) diff --git a/templates/esp32/test.py b/templates/esp32/test.py index 541eaba..b92c369 100755 --- a/templates/esp32/test.py +++ b/templates/esp32/test.py @@ -8,6 +8,7 @@ import serial.tools.list_ports from test_common import ( DeviceUnderTestAeadUARTP, eprint, + test_main, FileMutex, run_nist_lws_aead_test, ) @@ -97,18 +98,5 @@ class ESP32(DeviceUnderTestAeadUARTP): return None -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = ESP32(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0020) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(ESP32, 0x0020, sys.argv)) diff --git a/templates/f1-libopencm3/test.py b/templates/f1-libopencm3/test.py index 18b5dc5..cea19d5 100755 --- a/templates/f1-libopencm3/test.py +++ b/templates/f1-libopencm3/test.py @@ -6,6 +6,7 @@ import serial.tools.list_ports from test_common import ( DeviceUnderTestAeadUARTP, eprint, + test_main, OpenOcd, FileMutex, run_nist_lws_aead_test @@ -110,18 +111,5 @@ class BluePill(DeviceUnderTestAeadUARTP): return ram -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = BluePill(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0002) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(BluePill, 0x0002, sys.argv)) diff --git a/templates/f7/test.py b/templates/f7/test.py index 8e015b2..b66935f 100755 --- a/templates/f7/test.py +++ b/templates/f7/test.py @@ -7,6 +7,7 @@ import serial.tools.list_ports from test_common import ( DeviceUnderTestAeadUARTP, eprint, + test_main, FileMutex, run_nist_lws_aead_test, ) @@ -65,18 +66,5 @@ class F7(DeviceUnderTestAeadUARTP): return bytes(jlink.memory_read8(0x20000000, F7.RAM_SIZE)) -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = F7(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0008) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(F7, 0x0008, sys.argv)) diff --git a/templates/maixduino/test.py b/templates/maixduino/test.py index bc72cb6..ff12472 100755 --- a/templates/maixduino/test.py +++ b/templates/maixduino/test.py @@ -9,6 +9,7 @@ from test_common import ( DeviceUnderTestAeadUARTP, FileMutex, eprint, + test_main, run_nist_lws_aead_test, ) @@ -78,18 +79,5 @@ class Maixduino(DeviceUnderTestAeadUARTP): return None -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = Maixduino(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0080) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(Maixduino, 0x0080, sys.argv)) diff --git a/templates/uno/test.py b/templates/uno/test.py index f900999..a91908c 100755 --- a/templates/uno/test.py +++ b/templates/uno/test.py @@ -9,6 +9,7 @@ import serial.tools.list_ports from test_common import ( DeviceUnderTestAeadUARTP, eprint, + test_main, FileMutex, run_nist_lws_aead_test, ) @@ -95,18 +96,5 @@ class Uno(DeviceUnderTestAeadUARTP): return None -def main(argv): - if len(argv) != 2: - print("Usage: test build_dir") - return 1 - - build_dir = argv[1] - kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') - - dut = Uno(build_dir) - run_nist_lws_aead_test(dut, kat_path, build_dir, 0x0800) - return 0 - - if __name__ == "__main__": - sys.exit(main(sys.argv)) + sys.exit(test_main(Uno, 0x0800, sys.argv)) diff --git a/test_common.py b/test_common.py old mode 100644 new mode 100755 index 88458a6..7d175fa --- a/test_common.py +++ b/test_common.py @@ -730,3 +730,46 @@ def run_nist_lws_aead_test(dut, vectors_file, build_dir, print("TIME,VALUE", file=f) for t, v in logic_trace: print("%.10f,0x%x" % (t, v), file=f) + + +def test_main(dut_ctor, logic_mux_mask, argv): + if len(argv) != 2: + print("Usage: test build_dir") + return 1 + + build_dir = argv[1] + kat_path = os.path.join(build_dir, 'LWC_AEAD_KAT.txt') + + dut = dut_ctor(build_dir) + run_nist_lws_aead_test(dut, kat_path, build_dir, logic_mux_mask) + return 0 + + +if __name__ == '__main__': + import serial + import argparse + + # Parse the arguments + argparser = argparse.ArgumentParser( + description='Execute a single test over UART - useful for debugging') + + argparser.add_argument('-t', '--tty', required=True) + argparser.add_argument('-b', '--baud', default=115200) + argparser.add_argument('-m', '--message', required=True) + argparser.add_argument('-a', '--ad', default="") + argparser.add_argument('-k', '--key', required=True) + argparser.add_argument('-n', '--nonce', required=True) + argparser.add_argument('-c', '--ciphertext', default=None) + + args = argparser.parse_args(sys.argv[1:]) + ser = serial.Serial(args.tty, args.baud, timeout=1) + dut = DeviceUnderTestAeadUARTP(ser) + dut.uartp = UARTP(ser) + run_nist_aead_test_line( + dut, 0, + bytes.fromhex(args.message), + bytes.fromhex(args.ad), + bytes.fromhex(args.key), + bytes.fromhex(args.nonce), + bytes.fromhex(args.ciphertext) if args.ciphertext is not None + else None) -- libgit2 0.26.0