From 2f61f59b604f991f57cad0c7004958674212aee7 Mon Sep 17 00:00:00 2001 From: microproofs Date: Mon, 6 May 2024 11:35:05 -0400 Subject: [PATCH] Closes #909 --- crates/aiken-project/src/test_framework.rs | 6 ++++++ examples/acceptance_tests/102/aiken.lock | 16 ++++++++++++++++ examples/acceptance_tests/102/aiken.toml | 14 ++++++++++++++ examples/acceptance_tests/102/lib/tests.ak | 11 +++++++++++ 4 files changed, 47 insertions(+) create mode 100644 examples/acceptance_tests/102/aiken.lock create mode 100644 examples/acceptance_tests/102/aiken.toml create mode 100644 examples/acceptance_tests/102/lib/tests.ak diff --git a/crates/aiken-project/src/test_framework.rs b/crates/aiken-project/src/test_framework.rs index f6dfe3d5..14e91e4f 100644 --- a/crates/aiken-project/src/test_framework.rs +++ b/crates/aiken-project/src/test_framework.rs @@ -1128,10 +1128,16 @@ impl Assertion { .to_string() }; + // head did not map to a constant if self.head.is_err() { return red("program failed"); } + // any value in tail did not map to a constant + if self.tail.is_err() { + return red("program failed"); + } + fn fmt_side(side: &UntypedExpr, stream: Stream) -> String { let __ = "│".if_supports_color(stream, |s| s.red()); diff --git a/examples/acceptance_tests/102/aiken.lock b/examples/acceptance_tests/102/aiken.lock new file mode 100644 index 00000000..d9ba2570 --- /dev/null +++ b/examples/acceptance_tests/102/aiken.lock @@ -0,0 +1,16 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +[[requirements]] +name = "aiken-lang/stdlib" +version = "main" +source = "github" + +[[packages]] +name = "aiken-lang/stdlib" +version = "main" +requirements = [] +source = "github" + +[etags] +"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1715006768, nanos_since_epoch = 293270000 }, "5ee55dc5ccf269bb493f4cacb32096f0191a6adb2ef39d62a1f79b8c5a8fcc7f"] diff --git a/examples/acceptance_tests/102/aiken.toml b/examples/acceptance_tests/102/aiken.toml new file mode 100644 index 00000000..78db1db2 --- /dev/null +++ b/examples/acceptance_tests/102/aiken.toml @@ -0,0 +1,14 @@ +name = "aiken-lang/102" +version = "0.0.0" +license = "Apache-2.0" +description = "Aiken contracts for project 'aiken-lang/102'" + +[repository] +user = "aiken-lang" +project = "102" +platform = "github" + +[[dependencies]] +name = "aiken-lang/stdlib" +version = "main" +source = "github" diff --git a/examples/acceptance_tests/102/lib/tests.ak b/examples/acceptance_tests/102/lib/tests.ak new file mode 100644 index 00000000..feeeb21d --- /dev/null +++ b/examples/acceptance_tests/102/lib/tests.ak @@ -0,0 +1,11 @@ +test panic_aiken() { + and { + True, + should_fail(1), + } +} + +fn should_fail(num) { + expect num == 0 + True +}