From 2d572d45c29b02f0eb98e3310e8859efbb2fe33e Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Thu, 21 Nov 2024 17:57:15 +0000 Subject: [PATCH 1/2] test/sailtest: use sail --dir Rather than requiring that opam know about our install. --- test/sailtest.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/sailtest.py b/test/sailtest.py index eb6c1fc8c..14362d782 100644 --- a/test/sailtest.py +++ b/test/sailtest.py @@ -36,16 +36,16 @@ def get_sail_dir(): return os.environ['SAIL_DIR'] except KeyError: try: - p = subprocess.run(["opam", "var", "sail:share"], capture_output=True, text=True) + p = subprocess.run(["sail", "--dir"], capture_output=True, text=True) except Exception as e: - print('{}Unable to get Sail library directory from opam{}'.format(color.FAIL, color.END)) + print('{}Unable to get Sail library directory from sail{}'.format(color.FAIL, color.END)) print(e) sys.exit(1) if p.returncode == 0: return p.stdout.strip() else: - print('{}Unable to get Sail library directory from opam{}'.format(color.FAIL, color.END)) + print('{}Unable to get Sail library directory from sail{}'.format(color.FAIL, color.END)) print('{}stdout{}:'.format(color.NOTICE, color.END)) print(p.stdout) print('{}stderr{}:'.format(color.NOTICE, color.END)) From b0bbdeed06760dd765d199083c1efe8ee1d2f8b2 Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Thu, 21 Nov 2024 18:54:58 +0000 Subject: [PATCH 2/2] tests: don't get confused by "2^" forms Use "02^0x[0123]" when we mean a bit vector of length 2. --- test/builtins/append.sail | 16 ++++++++-------- test/builtins/get_slice_int.sail | 4 ++-- test/builtins/replicate_bits.sail | 12 ++++++------ test/builtins/set_slice_bits.sail | 14 +++++++------- test/builtins/zeros.sail | 2 +- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/test/builtins/append.sail b/test/builtins/append.sail index aae60da67..db87454e9 100644 --- a/test/builtins/append.sail +++ b/test/builtins/append.sail @@ -92,15 +92,15 @@ function main (() : unit) -> unit = { assert(1^0x0 @ 5^0x1e == 6^0x1e); assert(10^0x202 @ 1^0x0 == 11^0x404); assert(14^0x0 @ 64^0x5c003 == 78^0x5c003); - assert(19^0x33 @ 2^0x0 == 21^0xcc); - assert(19^0x9f @ 2^0x0 == 21^0x27c); + assert(19^0x33 @ 02^0x0 == 21^0xcc); + assert(19^0x9f @ 02^0x0 == 21^0x27c); assert(24^0x0 @ 32^0x8 == 56^0x8); - assert(26^0x1 @ 2^0x0 == 28^0x4); - assert(26^0x3b08414 @ 2^0x0 == 28^0xec21050); - assert(26^0x3ffdc6b @ 2^0x0 == 28^0xfff71ac); - assert(26^0x3ffe79d @ 2^0x0 == 28^0xfff9e74); - assert(26^0x3ffee69 @ 2^0x0 == 28^0xfffb9a4); - assert(26^0x56d @ 2^0x0 == 28^0x15b4); + assert(26^0x1 @ 02^0x0 == 28^0x4); + assert(26^0x3b08414 @ 02^0x0 == 28^0xec21050); + assert(26^0x3ffdc6b @ 02^0x0 == 28^0xfff71ac); + assert(26^0x3ffe79d @ 02^0x0 == 28^0xfff9e74); + assert(26^0x3ffee69 @ 02^0x0 == 28^0xfffb9a4); + assert(26^0x56d @ 02^0x0 == 28^0x15b4); assert(31^0x0 @ 33^0x37fb000 == 64^0x37fb000); assert(32^0x0 @ 32^0x4b == 64^0x4b); assert(32^0x0 @ 32^0xffffff80 == 64^0xffffff80); diff --git a/test/builtins/get_slice_int.sail b/test/builtins/get_slice_int.sail index ef673daf7..646ded222 100644 --- a/test/builtins/get_slice_int.sail +++ b/test/builtins/get_slice_int.sail @@ -65,8 +65,8 @@ function main (() : unit) -> unit = { assert(get_slice_int(1, 6, 6) == 1^0x0, "get_slice_int(1, 6, 6) == 1^0x0"); assert(get_slice_int(1, 7, 6) == 1^0x0, "get_slice_int(1, 7, 6) == 1^0x0"); assert(get_slice_int(11, 1024, 0) == 11^0x400, "get_slice_int(11, 1024, 0) == 11^0x400"); - assert(get_slice_int(2, 1, 0) == 2^0x1, "get_slice_int(2, 1, 0) == 2^0x1"); - assert(get_slice_int(2, 3, 0) == 2^0x3, "get_slice_int(2, 3, 0) == 2^0x3"); + assert(get_slice_int(2, 1, 0) == 02^0x1, "get_slice_int(2, 1, 0) == 02^0x1"); + assert(get_slice_int(2, 3, 0) == 02^0x3, "get_slice_int(2, 3, 0) == 02^0x3"); assert(get_slice_int(3, 0, 0) == 3^0x0, "get_slice_int(3, 0, 0) == 3^0x0"); assert(get_slice_int(3, 1, 0) == 3^0x1, "get_slice_int(3, 1, 0) == 3^0x1"); assert(get_slice_int(3, 2, 0) == 3^0x2, "get_slice_int(3, 2, 0) == 3^0x2"); diff --git a/test/builtins/replicate_bits.sail b/test/builtins/replicate_bits.sail index 3e26943a3..9159cc052 100644 --- a/test/builtins/replicate_bits.sail +++ b/test/builtins/replicate_bits.sail @@ -14,7 +14,7 @@ function main (() : unit) -> unit = { assert(replicate_bits(1^0x0, 14) == 14^0x0, "replicate_bits(1^0x0, 14) == 14^0x0"); assert(replicate_bits(1^0x0, 16) == 16^0x0, "replicate_bits(1^0x0, 16) == 16^0x0"); assert(replicate_bits(1^0x0, 18) == 18^0x0, "replicate_bits(1^0x0, 18) == 18^0x0"); - assert(replicate_bits(1^0x0, 2) == 2^0x0, "replicate_bits(1^0x0, 2) == 2^0x0"); + assert(replicate_bits(1^0x0, 2) == 02^0x0, "replicate_bits(1^0x0, 2) == 02^0x0"); assert(replicate_bits(1^0x0, 20) == 20^0x0, "replicate_bits(1^0x0, 20) == 20^0x0"); assert(replicate_bits(1^0x0, 21) == 21^0x0, "replicate_bits(1^0x0, 21) == 21^0x0"); assert(replicate_bits(1^0x0, 22) == 22^0x0, "replicate_bits(1^0x0, 22) == 22^0x0"); @@ -54,7 +54,7 @@ function main (() : unit) -> unit = { assert(replicate_bits(1^0x0, 8) == 8^0x0, "replicate_bits(1^0x0, 8) == 8^0x0"); assert(replicate_bits(1^0x1, 1) == 1^0x1, "replicate_bits(1^0x1, 1) == 1^0x1"); assert(replicate_bits(1^0x1, 16) == 16^0xffff, "replicate_bits(1^0x1, 16) == 16^0xffff"); - assert(replicate_bits(1^0x1, 2) == 2^0x3, "replicate_bits(1^0x1, 2) == 2^0x3"); + assert(replicate_bits(1^0x1, 2) == 02^0x3, "replicate_bits(1^0x1, 2) == 02^0x3"); assert(replicate_bits(1^0x1, 3) == 3^0x7, "replicate_bits(1^0x1, 3) == 3^0x7"); assert(replicate_bits(1^0x1, 32) == 32^0xffffffff, "replicate_bits(1^0x1, 32) == 32^0xffffffff"); assert(replicate_bits(1^0x1, 36) == 36^0xfffffffff, "replicate_bits(1^0x1, 36) == 36^0xfffffffff"); @@ -70,10 +70,10 @@ function main (() : unit) -> unit = { assert(replicate_bits(16^0xff, 4) == 64^0xff00ff00ff00ff, "replicate_bits(16^0xff, 4) == 64^0xff00ff00ff00ff"); assert(replicate_bits(16^0xff00, 4) == 64^0xff00ff00ff00ff00, "replicate_bits(16^0xff00, 4) == 64^0xff00ff00ff00ff00"); assert(replicate_bits(16^0xffff, 4) == 64^0xffffffffffffffff, "replicate_bits(16^0xffff, 4) == 64^0xffffffffffffffff"); - assert(replicate_bits(2^0x0, 32) == 64^0x0, "replicate_bits(2^0x0, 32) == 64^0x0"); - assert(replicate_bits(2^0x1, 32) == 64^0x5555555555555555, "replicate_bits(2^0x1, 32) == 64^0x5555555555555555"); - assert(replicate_bits(2^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa, "replicate_bits(2^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa"); - assert(replicate_bits(2^0x3, 32) == 64^0xffffffffffffffff, "replicate_bits(2^0x3, 32) == 64^0xffffffffffffffff"); + assert(replicate_bits(02^0x0, 32) == 64^0x0, "replicate_bits(02^0x0, 32) == 64^0x0"); + assert(replicate_bits(02^0x1, 32) == 64^0x5555555555555555, "replicate_bits(02^0x1, 32) == 64^0x5555555555555555"); + assert(replicate_bits(02^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa, "replicate_bits(02^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa"); + assert(replicate_bits(02^0x3, 32) == 64^0xffffffffffffffff, "replicate_bits(02^0x3, 32) == 64^0xffffffffffffffff"); assert(replicate_bits(32^0x0, 2) == 64^0x0, "replicate_bits(32^0x0, 2) == 64^0x0"); assert(replicate_bits(32^0xffff, 2) == 64^0xffff0000ffff, "replicate_bits(32^0xffff, 2) == 64^0xffff0000ffff"); assert(replicate_bits(32^0xffff0000, 2) == 64^0xffff0000ffff0000, "replicate_bits(32^0xffff0000, 2) == 64^0xffff0000ffff0000"); diff --git a/test/builtins/set_slice_bits.sail b/test/builtins/set_slice_bits.sail index 07c01e5b7..27438cbfb 100644 --- a/test/builtins/set_slice_bits.sail +++ b/test/builtins/set_slice_bits.sail @@ -5,8 +5,8 @@ $include $include function main (() : unit) -> unit = { - assert(set_slice_bits(2, 1, 2^0x0, 0, 1^0x0) == 2^0x0, "set_slice_bits(2, 1, 2^0x0, 0, 1^0x0) == 2^0x0"); - assert(set_slice_bits(2, 1, 2^0x0, 1, 1^0x0) == 2^0x0, "set_slice_bits(2, 1, 2^0x0, 1, 1^0x0) == 2^0x0"); + assert(set_slice_bits(2, 1, 02^0x0, 0, 1^0x0) == 02^0x0, "set_slice_bits(2, 1, 02^0x0, 0, 1^0x0) == 02^0x0"); + assert(set_slice_bits(2, 1, 02^0x0, 1, 1^0x0) == 02^0x0, "set_slice_bits(2, 1, 02^0x0, 1, 1^0x0) == 02^0x0"); assert(set_slice_bits(25, 16, 25^0x0, 0, 16^0x9) == 25^0x9, "set_slice_bits(25, 16, 25^0x0, 0, 16^0x9) == 25^0x9"); assert(set_slice_bits(3, 1, 3^0x0, 0, 1^0x1) == 3^0x1, "set_slice_bits(3, 1, 3^0x0, 0, 1^0x1) == 3^0x1"); assert(set_slice_bits(3, 1, 3^0x0, 1, 1^0x0) == 3^0x0, "set_slice_bits(3, 1, 3^0x0, 1, 1^0x0) == 3^0x0"); @@ -315,9 +315,9 @@ function main (() : unit) -> unit = { assert(set_slice_bits(32, 16, 32^0x18, 16, 16^0x5) == 32^0x50018, "set_slice_bits(32, 16, 32^0x18, 16, 16^0x5) == 32^0x50018"); assert(set_slice_bits(32, 16, undefined, 0, 16^0x0) == 32^0x0, "set_slice_bits(32, 16, undefined, 0, 16^0x0) == 32^0x0"); assert(set_slice_bits(32, 17, 32^0x0, 8, 17^0x0) == 32^0x0, "set_slice_bits(32, 17, 32^0x0, 8, 17^0x0) == 32^0x0"); - assert(set_slice_bits(32, 2, 32^0x0, 0, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 0, 2^0x0) == 32^0x0"); - assert(set_slice_bits(32, 2, 32^0x0, 10, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 10, 2^0x0) == 32^0x0"); - assert(set_slice_bits(32, 2, 32^0x0, 12, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 12, 2^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 0, 02^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 0, 02^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 10, 02^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 10, 02^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 12, 02^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 12, 02^0x0) == 32^0x0"); assert(set_slice_bits(32, 28, 32^0x0, 4, 28^0x0) == 32^0x0, "set_slice_bits(32, 28, 32^0x0, 4, 28^0x0) == 32^0x0"); assert(set_slice_bits(32, 28, 32^0x2, 4, 28^0x0) == 32^0x2, "set_slice_bits(32, 28, 32^0x2, 4, 28^0x0) == 32^0x2"); assert(set_slice_bits(32, 28, undefined, 4, 28^0x0) == 32^0x0, "set_slice_bits(32, 28, undefined, 4, 28^0x0) == 32^0x0"); @@ -544,8 +544,8 @@ function main (() : unit) -> unit = { assert(set_slice_bits(64, 16, 64^0x10, 16, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 16, 16^0x0) == 64^0x10"); assert(set_slice_bits(64, 16, 64^0x10, 32, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 32, 16^0x0) == 64^0x10"); assert(set_slice_bits(64, 16, 64^0x10, 48, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 48, 16^0x0) == 64^0x10"); - assert(set_slice_bits(64, 2, 64^0x0, 34, 2^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 34, 2^0x0) == 64^0x0"); - assert(set_slice_bits(64, 2, 64^0x0, 8, 2^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 8, 2^0x0) == 64^0x0"); + assert(set_slice_bits(64, 2, 64^0x0, 34, 02^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 34, 02^0x0) == 64^0x0"); + assert(set_slice_bits(64, 2, 64^0x0, 8, 02^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 8, 02^0x0) == 64^0x0"); assert(set_slice_bits(64, 20, 64^0x0, 44, 20^0x0) == 64^0x0, "set_slice_bits(64, 20, 64^0x0, 44, 20^0x0) == 64^0x0"); assert(set_slice_bits(64, 21, 64^0xa200023, 0, 21^0x23) == 64^0xa200023, "set_slice_bits(64, 21, 64^0xa200023, 0, 21^0x23) == 64^0xa200023"); assert(set_slice_bits(64, 21, undefined, 0, 21^0x23) == 64^0x23, "set_slice_bits(64, 21, undefined, 0, 21^0x23) == 64^0x23"); diff --git a/test/builtins/zeros.sail b/test/builtins/zeros.sail index c2fb75c45..282ff32f6 100644 --- a/test/builtins/zeros.sail +++ b/test/builtins/zeros.sail @@ -27,7 +27,7 @@ function main (() : unit) -> unit = { assert(zeros(128) == 128^0x0); assert(zeros(15) == 15^0x0); assert(zeros(16) == 16^0x0); - assert(zeros(2) == 2^0x0); + assert(zeros(2) == 02^0x0); assert(zeros(24) == 24^0x0); assert(zeros(25) == 25^0x0); assert(zeros(3) == 3^0x0);