KtorZ
a3078adce8
Add succinct README to explain what's going on.
2023-02-14 16:25:48 +01:00
KtorZ
685473ead6
Rename data -> ctx
2023-02-14 16:11:00 +01:00
KtorZ
5369872a3d
Add new script_context acceptance scenario for withdrawals.
2023-02-14 16:11:00 +01:00
KtorZ
251aa756d9
Make basic script a template, and add more assertions.
2023-02-14 11:37:10 +01:00
KtorZ
545323128c
Write basic e2e validator with evaluation.
2023-02-14 10:39:31 +01:00
Kasey White
765ceefd38
feat: add ability to downcast void to data
2023-02-12 18:56:38 -05:00
Kasey White
e9883adf12
fix: scope issue when using when with a function call subject
2023-02-12 18:43:11 -05:00
KtorZ
2bda581fbd
Add new acceptance test scenario: 057
...
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:4286:48
╰─▶ called `Option::unwrap()` on a `None` value
```
2023-02-12 18:43:11 -05:00
Kasey White
1c9540ec87
one more test case to add
2023-02-11 22:26:34 -05:00
Kasey White
4b1015e0d4
change how expect works on lists and constructors
...
Add more coverage to acceptance test 40 on expect
2023-02-11 22:26:34 -05:00
Kasey White
e92d9af3c2
fix: changed how list_access_to_uplc handles discards fixing unit test 55
...
Also fix incorrect error message in runtime in machine
2023-02-11 04:30:18 -05:00
rvcas
9b0fc0b395
chore: fix some weirdness after rebasing with main
2023-02-10 10:09:00 +01:00
Matthias Benkort
efbc3abb95
Delete tests.ak
2023-02-09 09:23:46 +01:00
rvcas
9348caab2f
feat(expect): update formatter
...
* Token::Expect should format to expect
* since we still capture assert this means
we can help users update to the new syntax
2023-02-09 00:57:38 -05:00
rvcas
6f591c633d
chore: fmt most of the acceptance tests
2023-02-09 00:57:14 -05:00
Kasey White
7b29a75cc0
test name number fix
2023-02-09 00:09:23 -05:00
Kasey White
076871492b
fix: unwrap used in a reachable place. Replaced with alternative option
2023-02-09 00:09:23 -05:00
Kasey White
986a6009f7
fix: Various fixes for FieldsExpose, ListAccessor, TupleAccessor
2023-02-09 00:09:23 -05:00
KtorZ
cf7a20b986
Add new acceptance test scenario: 052
...
Pattern-match on unary constructors.
2023-02-09 00:09:23 -05:00
KtorZ
c50bf94020
Add new acceptance test scenario: 053
...
```
× foo failed
help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Failed to deserialise PlutusData using UnConstrData: │
│ │
│ Con( │
│ Data( │
│ BigInt( │
│ Int( │
│ Int( │
│ Int { │
│ neg: false, │
│ val: 0, │
│ }, │
│ ), │
│ ), │
│ ), │
│ ), │
│ ) │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━┑
│ (con integer 3) │
┕━━━━━━━━━━━━━━━━━┙
```
2023-02-09 00:09:23 -05:00
Kasey White
f1b24a5f6d
fix: the following issues
...
fix conversion from inner opaque type for when and assignment
This fixes Clause being used in cases where ListClause or TupleClause should be used
Reset defined and zero arg functions between each code gen
Fixes for optimizations when encountering shadowed variables
2023-02-05 20:35:39 -05:00
rvcas
025bf73254
test: verify schnorr and ecdsa
2023-02-04 22:07:56 -05:00
Kasey White
6053e76f6f
chore: more acceptance tests
...
Co-authored-by: rvcas <x@rvcas.dev>
2023-02-04 02:33:10 -05:00
rvcas
a9ed04ef22
feat: newer rules around casting Data
...
* you cannot cast FROM Data with a `let`
* you cannot cast FROM Data by passing
Data to none Data when calling a function
* you MUST use `assert` to cast from data
* you can cast INTO Data with a `let`
* you can cast INTO Data by passing none Data
to Data when calling a function
* You cannot assert cast Data without an
annotation
2023-02-04 02:33:10 -05:00
rvcas
0f6d2487ec
fix: acceptance test 040 after new casting rules
2023-02-02 01:17:58 -05:00
rvcas
79b0af15da
chore: commit acceptance test plutus files
2023-02-02 00:49:47 -05:00
KtorZ
79b8786cee
Replace 'assets' with generated blueprints.
2023-01-31 15:39:41 +01:00
rvcas
d4a73f1235
chore: commit assets
2023-01-30 12:01:56 -05:00
rvcas
aec79936e2
chore: move a test case to 049
2023-01-30 11:49:18 -05:00
Lucas
b653714c0c
Merge branch 'main' into when-clause-guards
2023-01-30 11:40:29 -05:00
Kasey White
a638388747
Add more complex test 40.
...
Add assert for when constr index is given
2023-01-30 04:17:03 -05:00
Kasey White
8c04ab093a
update test 40
2023-01-30 03:24:52 -05:00
Micah Kendall
d608c50130
Added 048 acceptance test
2023-01-23 01:12:29 +11:00
Kasey White
e36f91c39c
fix: multiple list cases of the same length weren't being handled
2023-01-21 19:42:17 -05:00
KtorZ
a178cee7bf
Add new acceptance test scenario: 046
2023-01-21 19:42:17 -05:00
Kasey White
e8fb386bdc
chore: Switch from hashmap and hashset to indexmap and indexset
2023-01-21 18:10:15 -05:00
KtorZ
a926a1a2d4
Add new acceptance test scenario 048
2023-01-21 17:49:44 +01:00
KtorZ
83fd910604
Update artifacts from acceptance tests 036
2023-01-21 12:46:22 +01:00
KtorZ
ce65236514
Parse tests as private functions.
...
They actually are private; we can't export / import tests. Fixes #284 .
2023-01-20 12:50:07 +01:00
rvcas
2f6c794cdf
fix: ci... :facepalm
2023-01-18 15:29:51 -05:00
rvcas
479d49bdfc
fix: ci... again
2023-01-18 15:29:51 -05:00
rvcas
f975c345c9
fix: ci
2023-01-18 15:29:51 -05:00
KtorZ
75808cc046
Add new acceptance scenario: 044
...
❌ 044
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:846:89
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 15:29:51 -05:00
KtorZ
6e64bb72e6
Add new acceptance test scenario 045
...
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:3435:48
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 16:28:44 +01:00
rvcas
00f2150eed
feat: add identity, always, & flip
2023-01-14 23:33:49 -05:00
rvcas
95c9be5c52
chore: acceptance test 040 had the wrong name
2023-01-14 22:03:56 -05:00
KtorZ
8c19d4ec08
Fix and re-apply formatter on all acceptance tests
...
Less noise, pretty tuples. Everyone's happy.
2023-01-14 20:23:17 +01:00
rvcas
c6fe5235fe
chore: fmt acceptance test 40
2023-01-13 14:55:18 -05:00
Kasey White
7b023911af
add assert and record
...
Record is a more efficient air for making records
Assert guarantees a custom is of a certain variant.
2023-01-13 13:50:27 -05:00
Kasey White
1721c3945b
Refactors:
...
Add test 40
refactor how we get data type from type
Call contains type now to handle certain record cases
2023-01-13 13:50:27 -05:00
Kasey White
42c8d50fa1
feat: finish record update
2023-01-08 19:42:49 -05:00
KtorZ
aff96d99af
Return non-zero exit code on acceptance test failure.
2023-01-06 13:10:11 +01:00
KtorZ
613fb3c957
Add new acceptance test scenario 038
2023-01-06 06:46:15 +01:00
Kasey White
88d5d1b7f7
chore: add 036 assets
2022-12-31 00:09:02 -05:00
Kasey White
3514e66234
Fix to variant name creation for dependencies.
...
Last few changes to go Tuple Index,
Assert, Check, not
change test 35 to produce intended functionality
2022-12-30 14:01:11 -05:00
KtorZ
d5d878e83c
Add acceptance test scenario: 037
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:701:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(1) })
```
2022-12-29 17:40:21 +01:00
KtorZ
6f8d1698fe
Add missing function 'concat' in acceptance test 034.
2022-12-29 12:13:32 +01:00
KtorZ
4f83d4fa1b
Add new acceptance test scenario: 036
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:567:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(17) })
```
2022-12-29 12:11:55 +01:00
KtorZ
602a6a03a8
Rename '{run, run-all}.sh' into '{run, run-all}'.
2022-12-29 12:04:37 +01:00
KtorZ
013fe886f5
Add new acceptance test scenario: 035
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:692:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"aiken/dict_do_insert_with_map_bytearray_int_bytearray_int_data",
unique: Unique(27) })
```
2022-12-28 17:03:32 +01:00
KtorZ
77fbb3cbdb
Add new acceptance test scenario: 034
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-project/src/lib.rs:670:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "aiken/list_foldr_list_data_data_list_data", unique: Unique(1) })
```
2022-12-28 10:59:42 +01:00
Kasey White
010024fb95
fix: acceptance test 031
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-27 22:33:09 -05:00
KtorZ
2e17f18846
Rework acceptance test runner
...
Show less noise, support parallel execution and make it easier to run a single one.
2022-12-27 09:29:13 +01:00
rvcas
0d0536f6c1
fix: rename test module to tests
2022-12-23 22:00:59 -05:00
KtorZ
39f5d1a86d
Make build, check and docs target directory an (optional) argument
...
Instead of being an option. Feels more natural that way.
2022-12-23 20:23:27 +01:00
KtorZ
2aa4429231
Rename Unit -> Void
2022-12-22 18:52:28 +01:00
KtorZ
757428fa7f
Add new acceptance test scenario 033
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:523:17
╰─▶ not yet implemented: Tuple indexing not implementing yet
```
2022-12-22 09:14:23 +01:00
rvcas
9028424a96
feat: rename Nil to Unit
2022-12-21 17:27:20 -05:00
rvcas
429126e38f
feat: add trace
2022-12-21 14:39:46 -05:00
KtorZ
9068c89c00
Show trace logs as part of the test output when any.
...
```
┍━ test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ PASS [mem: 6370, cpu: 2591822] trace_1
│ ↳ is negative
│ ↳ is non-negative
┕━━━━━━━━━ 1 tests | 1 passed | 0 failed
```
2022-12-21 14:39:46 -05:00
KtorZ
5d459b25bd
Add new acceptance test scenario 032
...
```
Error: aiken::parser
× Parsing
╰─▶ Unexpected "try"
╭─[032/lib/test.ak:3:1]
3 │ test trace_1() {
4 │ builtin.trace("foo", True)
· ─────
5 │ }
╰────
help: Try removing it
```
2022-12-21 14:39:46 -05:00
KtorZ
414a114530
fix acceptance tests manifest.
2022-12-21 14:06:46 +01:00
Kasey White
ac14512706
feat: fix nil equals nil, and fix funcs with discard params
2022-12-20 15:40:01 -05:00
KtorZ
102bb7735e
Add new integration test scenario 031
...
```
× clamp_1 failed
help: ┍━ left ━━━━━━━━━━┑
│ (con integer 0) │
┕━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━┑
│ (con integer 10) │
┕━━━━━━━━━━━━━━━━━━┙
```
2022-12-20 04:48:03 +01:00
KtorZ
030172e1dc
Add new acceptance test scenario 030
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:1897:45
╰─▶ called `Result::unwrap()` on an `Err` value: ParseIntError { kind: InvalidDigit }
```
2022-12-20 04:37:55 +01:00
KtorZ
58c123a930
Add new intgration test scenario 029
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2395:56
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_insert", unique:
Unique(1) })
```
2022-12-20 04:21:28 +01:00
KtorZ
daa3fa5d33
Add new acceptance test scenario 028
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/builder.rs:1257:30
╰─▶ internal error: entered unreachable code
```
2022-12-20 02:55:01 +01:00
KtorZ
fec7431d11
Add new acceptance test scenario 027
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:640:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_foo", unique:
Unique(0) })
```
2022-12-20 02:32:43 +01:00
KtorZ
8bd4fd0cda
Add new acceptance test scenario
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:620:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"test_foldr_list_int_data_list_int", unique: Unique(10) })
```
2022-12-20 02:22:04 +01:00
KtorZ
fccad9e7dd
Add new acceptance test scenario 025
...
```
help: ┍━ left ━━━━━━━━┑
│ (con unit ()) │
┕━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━┑
│ (con unit ()) │
┕━━━━━━━━━━━━━━━┙
```
2022-12-20 01:07:15 +01:00
KtorZ
f511b2f71b
Add new acceptance test scenario 024
...
```
× map2_3 failed
help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'integer' got 'pair data data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'list pair data data' got 'list data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 18:55:50 +01:00
KtorZ
dbd3d3fd7d
Add new acceptance test scenario 023
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2830:32
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-19 18:51:46 +01:00
Kasey White
421e7148d0
zero arg functions now work: test 15
2022-12-19 00:41:27 -05:00
KtorZ
a51808d549
Add new acceptance test scenario (022)
...
```
thread 'main' has overflowed its stack
fatal runtime error: stack overflo
```
2022-12-19 00:41:27 -05:00
Kasey White
2bce818110
chore: fix list insertion order, function insertion order,
...
and Inner function issues with variant
2022-12-19 00:41:27 -05:00
KtorZ
0d0e698d5e
Add new acceptance test scenario (021)
...
```
Error: aiken::check
× Checking
╰─▶ Unknown type
VerificationKey
╭─[021/lib/test.ak:4:1]
4 │ pub type PoolId =
5 │ Hash<VerificationKey>
· ───────────────
6 │
╰────
```
2022-12-19 00:41:27 -05:00
KtorZ
ed58a1cac7
Add new acceptance test scenario (020)
...
```
Error: 020/lib/test.ak
× map_2 failed
help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'integer' got 'data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━━━━━━━┑
│ (con data #d8799f0fff) │
┕━━━━━━━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 00:41:27 -05:00
KtorZ
e3ea511b79
Add new acceptance test scenario (019)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2001:81
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-19 00:41:27 -05:00
KtorZ
287fbf2e3b
Add new acceptance test scenario (018)
...
```
Error: examples/acceptance_tests/018/lib/test.ak
× or_else_2 failed
help: ┍━ left ━━━━━━━━━━━┑
│ (con data #182a) │
┕━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━┑
│ (con integer 42) │
┕━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 00:41:27 -05:00
KtorZ
6e46e7562e
Add new acceptance test scenario (017)
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:596:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_slice", unique:
Unique(6) })
```
2022-12-19 00:41:27 -05:00
KtorZ
00b800c456
Add new acceptance test scenario (016)
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:616:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_slice", unique:
Unique(7) })
```
2022-12-19 00:41:27 -05:00
KtorZ
bd956efd36
Rework acceptance test 014 to smaller reproducible scenario
2022-12-14 10:20:43 +01:00
KtorZ
7c54283e69
Add new acceptance test scenario (015)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2388:21
╰─▶ not yet implemented
```
2022-12-14 10:20:43 +01:00
KtorZ
95df5f9137
Add new acceptance test scenario (014)
2022-12-14 09:45:26 +01:00
KtorZ
bc7c236b3b
Add new acceptance test scenario (013)
...
```
ERROR:
The provided Plutus code called 'error'
```
2022-12-14 09:45:25 +01:00
KtorZ
9c902cdf89
Add new acceptance test scenario (012)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:3413:34
╰─▶ internal error: entered unreachable code: Var {
scope: [
0,
1,
3,
24,
25,
29,
32,
],
constructor: ValueConstructor {
public: false,
variant: LocalVariable {
location: 46..62,
},
tipo: Fn {
args: [
Var {
tipo: RefCell {
value: Link {
tipo: App {
public: true,
module: "",
name: "Int",
args: [],
},
},
},
},
],
ret: App {
public: true,
module: "",
name: "Bool",
args: [],
},
},
},
name: "f",
variant_name: "",
}
```
2022-12-14 09:45:25 +01:00
KtorZ
f53caff538
Add new acceptance test scenario (011)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:4022:40
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-14 09:45:25 +01:00
rvcas
299cd1ac24
fix: tuples
2022-12-14 09:45:25 +01:00
KtorZ
37def91fc5
Add new acceptance test scenario (010)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:688:33
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
4217fd06b5
Add new acceptance test scenario (009)
...
Note: the problem is only present when importing a builtin explicitly.
When using a qualified import, it compiles fine.
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:3264:35
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00