From 663c87ffc01bc584bdbe8504f5a002337a8541ab Mon Sep 17 00:00:00 2001 From: felipegchi Date: Mon, 16 Jan 2023 09:26:21 -0300 Subject: [PATCH] tests: added tests --- .../suite/issues/eval/CallStr.golden | 3 ++- .../suite/issues/eval/ISSUE-472.golden | 3 +++ .../suite/issues/eval/ISSUE-472.kind2 | 23 +++++++++++++++++++ .../suite/issues/run/CallStr.golden | 1 + .../kind-tests/suite/issues/run/CallStr.kind2 | 3 +++ .../suite/issues/run/ISSUE-472.golden | 2 ++ .../suite/issues/run/ISSUE-472.kind2 | 23 +++++++++++++++++++ crates/kind-tests/tests/mod.rs | 12 ++++++++++ 8 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 crates/kind-tests/suite/issues/eval/ISSUE-472.golden create mode 100644 crates/kind-tests/suite/issues/eval/ISSUE-472.kind2 create mode 100644 crates/kind-tests/suite/issues/run/CallStr.golden create mode 100644 crates/kind-tests/suite/issues/run/CallStr.kind2 create mode 100644 crates/kind-tests/suite/issues/run/ISSUE-472.golden create mode 100644 crates/kind-tests/suite/issues/run/ISSUE-472.kind2 diff --git a/crates/kind-tests/suite/issues/eval/CallStr.golden b/crates/kind-tests/suite/issues/eval/CallStr.golden index 8660dd84..db94bda7 100644 --- a/crates/kind-tests/suite/issues/eval/CallStr.golden +++ b/crates/kind-tests/suite/issues/eval/CallStr.golden @@ -1 +1,2 @@ -"ata" \ No newline at end of file +'ata' + diff --git a/crates/kind-tests/suite/issues/eval/ISSUE-472.golden b/crates/kind-tests/suite/issues/eval/ISSUE-472.golden new file mode 100644 index 00000000..4c43d39b --- /dev/null +++ b/crates/kind-tests/suite/issues/eval/ISSUE-472.golden @@ -0,0 +1,3 @@ +' +' + diff --git a/crates/kind-tests/suite/issues/eval/ISSUE-472.kind2 b/crates/kind-tests/suite/issues/eval/ISSUE-472.kind2 new file mode 100644 index 00000000..0c7d1be9 --- /dev/null +++ b/crates/kind-tests/suite/issues/eval/ISSUE-472.kind2 @@ -0,0 +1,23 @@ +Char : Type +Char = U60 + +#inline +String.new_line : (String) +String.new_line = (String.pure (Char.newline)) + +Main : _ +Main = String.new_line + +#inline +Char.newline : (Char) +Char.newline = 10 + +#derive[match] +type String { + nil + cons (head: (Char)) (tail: (String)) +} + +#inline +String.pure (x: (Char)) : (String) +String.pure x = (String.cons x (String.nil)) \ No newline at end of file diff --git a/crates/kind-tests/suite/issues/run/CallStr.golden b/crates/kind-tests/suite/issues/run/CallStr.golden new file mode 100644 index 00000000..8660dd84 --- /dev/null +++ b/crates/kind-tests/suite/issues/run/CallStr.golden @@ -0,0 +1 @@ +"ata" \ No newline at end of file diff --git a/crates/kind-tests/suite/issues/run/CallStr.kind2 b/crates/kind-tests/suite/issues/run/CallStr.kind2 new file mode 100644 index 00000000..e1a7f558 --- /dev/null +++ b/crates/kind-tests/suite/issues/run/CallStr.kind2 @@ -0,0 +1,3 @@ +Main : U60 { + "ata" +} \ No newline at end of file diff --git a/crates/kind-tests/suite/issues/run/ISSUE-472.golden b/crates/kind-tests/suite/issues/run/ISSUE-472.golden new file mode 100644 index 00000000..6e568be9 --- /dev/null +++ b/crates/kind-tests/suite/issues/run/ISSUE-472.golden @@ -0,0 +1,2 @@ +" +" \ No newline at end of file diff --git a/crates/kind-tests/suite/issues/run/ISSUE-472.kind2 b/crates/kind-tests/suite/issues/run/ISSUE-472.kind2 new file mode 100644 index 00000000..0c7d1be9 --- /dev/null +++ b/crates/kind-tests/suite/issues/run/ISSUE-472.kind2 @@ -0,0 +1,23 @@ +Char : Type +Char = U60 + +#inline +String.new_line : (String) +String.new_line = (String.pure (Char.newline)) + +Main : _ +Main = String.new_line + +#inline +Char.newline : (Char) +Char.newline = 10 + +#derive[match] +type String { + nil + cons (head: (Char)) (tail: (String)) +} + +#inline +String.pure (x: (Char)) : (String) +String.pure x = (String.cons x (String.nil)) \ No newline at end of file diff --git a/crates/kind-tests/tests/mod.rs b/crates/kind-tests/tests/mod.rs index 3825588b..38c49510 100644 --- a/crates/kind-tests/tests/mod.rs +++ b/crates/kind-tests/tests/mod.rs @@ -115,6 +115,18 @@ fn test_eval() -> Result<(), Error> { #[timeout(15000)] fn test_eval_issues() -> Result<(), Error> { test_kind2(Path::new("./suite/issues/eval"), |path, session| { + let check = driver::desugar_book(session, path) + .map(|file| driver::eval_in_checker(&file)); + + check.ok().map(|x| x.0) + })?; + Ok(()) +} + +#[test] +#[timeout(15000)] +fn test_run_issues() -> Result<(), Error> { + test_kind2(Path::new("./suite/issues/run"), |path, session| { let entrypoints = vec!["Main".to_string()]; let check = driver::erase_book(session, path, entrypoints) .map(|file| driver::compile_book_to_hvm(file, false))