Commit Graph

69 Commits

Author SHA1 Message Date
KtorZ
873bd85d8b Implement modules' extra, to get function & module comments in docs. 2022-12-17 01:02:21 +01:00
KtorZ
536c9457b3 Refactor project source parsing
There was already a 'parse_sources' function, and 'parse' was actually more about typechecking than parsing.
2022-12-17 01:02:21 +01:00
KtorZ
d2c6d27545 Support data-types in documentation. 2022-12-17 01:02:20 +01:00
KtorZ
6da53fd875 Add a 'docs' method to projects, using the newly introduced docs::generate_all 2022-12-16 18:33:36 +01:00
KtorZ
16b0a9fbe4 Introduce 'docs' for generating documentation for aiken libraries. 2022-12-16 18:33:04 +01:00
KtorZ
71e71fffe8 Define 'is_library' for 'CheckedModule'
So that we can separate libraries from executable modules if necessary.
2022-12-16 15:33:27 +01:00
rvcas
0188003323 refactor: move helper option builder to lang 2022-12-15 13:28:30 -05:00
Matthias Benkort
d9d1310c6d Merge pull request #166 from aiken-lang/some-interesting-test-cases
Include generics to get test cases working
2022-12-15 02:07:05 +01:00
KtorZ
5024bd884c Remove debug line for pretty-printing test, and add '--debug' flag to 'check instead. 2022-12-15 02:02:10 +01:00
KtorZ
e5972640d2 Remove 'eval' command.
Was introduced as a work-around to get some debugging info out of scripts, but tests do now provide the same capability with a better output and, do so automatically.
2022-12-14 22:14:35 +01:00
KtorZ
978a6c6981 Collect and display evaluation hints on test failures. 2022-12-14 22:00:56 +01:00
KtorZ
7b22b63ad8 move 'EvalInfo' to project::script & define a new 'EvalHint' 2022-12-14 22:00:09 +01:00
KtorZ
921e7abbb6 Move pretty-printing utilities to project::pretty 2022-12-14 21:59:09 +01:00
Carlos Souza
6343fa7105 Change generated assets file extensions 2022-12-14 12:48:29 -05:00
KtorZ
87546e0abd Return non-zero exit code on test failure
And integrated test results with miette report.
2022-12-14 18:44:31 +01:00
Kasey White
3c664b9651 test 1-9 passing 2022-12-14 09:45:26 +01:00
rvcas
b71315ba2f chore: trying to fix test 5 2022-12-14 09:45:26 +01:00
Kasey White
6635a918b5 clean up minor warnings 2022-12-14 09:45:26 +01:00
KtorZ
b6962ba9d3 Add 'eval' command to evaluate target aiken function
Pretty useful for debbugging. Though, on second-thoughts, this is
  something we may want to review later and maybe have that done by
  default for tests.

  At the moment, we expects tests to unify to `bool`, and treat `false`
  values as failing tests. Yet, on failures, this gives little
  information about what's wrong with the test.

  It'd be nice to either have better way to assert in tests, or, to
  simply accept non-bool tests, and show whatever the test evaluates
  to as a debug output.
2022-12-14 09:45:26 +01:00
Kasey White
15dc202810 Feat: generic function call tests work 2022-12-14 09:45:23 +01:00
Kasey White
3d3b3d7e10 checkpoint 2022-12-14 09:45:22 +01:00
rvcas
4dfb454d8a refactor: change match to if matches! 2022-12-13 10:34:34 -05:00
KtorZ
1637a0d30e Add --match-tests to 'check' cmd
For running only tests matching a certain pattern. Useful when doing TDD.
2022-12-13 10:34:34 -05:00
rvcas
a18aad7daf refactor(project): use new Options instead of a spiderweb of bools 2022-12-10 19:14:58 -05:00
KtorZ
0eb3cf221b Trigger and report on more events in the compilation pipeline. 2022-12-09 15:04:02 +01:00
KtorZ
d09d38d65b Add a flag '--skip-tests' to the 'check' cmd.
So that tests can be skipped, and the old behavior recovered if necessary.

  Tests execution is on by default however.
2022-12-09 14:14:15 +01:00
rvcas
4ad74bef1f refactor: move prints to cli via EventListener trait 2022-12-08 19:25:28 -05:00
KtorZ
801ab3989e feat: display test runner summary alongside test results.
Moar sexy.
2022-12-08 19:25:28 -05:00
KtorZ
4cae4a4467 pad left instead of right, so units/thousands are aligned. 2022-12-08 19:25:28 -05:00
rvcas
2ba712eef6 feat: start adding padding to test output 2022-12-08 19:25:28 -05:00
KtorZ
5770ea2456 Make test runner more sexy.
Using colors.
2022-12-08 19:25:28 -05:00
KtorZ
db25ff3817 refactor: run_tests to avoid repetition. 2022-12-08 19:25:28 -05:00
rvcas
e9d8e1d317 feat: print budget consumed by test 2022-12-08 19:25:24 -05:00
KtorZ
4cdb5d8d02 Implement test runner.
easy.
2022-12-08 19:24:20 -05:00
rvcas
384c4daa4a feat: add test_gen function 2022-12-08 19:24:20 -05:00
KtorZ
bc785673b2 Fix compilation errors for the newly introduce test & add type inference.
Tests are basically functions for which the return type should unify with bool. In principle, the type checker could also check that a test function has no arguments but, a test function with arguments wouldn't parse in the first place; feels a bit hacky but it works when considering the pipeline as a whole.

  Note that the code generation is still to be done.
2022-12-08 19:24:20 -05:00
rvcas
24d724e10e chore: fix fmt 2022-12-05 14:18:44 -05:00
Kasey White
3e68204768 replace uplc with uplc_two and move structs over 2022-12-05 14:18:44 -05:00
Kasey White
abe29a3883 make progress on list deconstruction with IR 2022-12-05 14:18:44 -05:00
rvcas
fedafed845 feat: add module constants 2022-12-01 15:28:15 -05:00
rvcas
34c8a58391 feat: complete language tour 2022-11-30 15:35:55 -05:00
rvcas
67d160230b feat: new build command flag
- `uplc` to optionally dump raw uplc
2022-11-24 18:17:03 -05:00
rvcas
09e77e1918 feat: display named source 2022-11-24 11:38:43 -05:00
rvcas
0358952984 Release 0.0.26
aiken@0.0.26
aiken-lang@0.0.26
aiken-lsp@0.0.26
aiken-project@0.0.26

Generated by cargo-workspaces
2022-11-23 00:31:24 -05:00
Kasey White
d4f3eafc22 refactor away from tuples 2022-11-20 15:42:12 -05:00
rvcas
bff99b0cf2 feat: publish errors as lsp diagnostic messages 2022-11-15 17:44:50 -05:00
rvcas
f089eff97d Release 0.0.25
aiken@0.0.25
aiken-lang@0.0.25
aiken-lsp@0.0.25
aiken-project@0.0.25
uplc@0.0.25

Generated by cargo-workspaces
2022-11-14 18:04:19 -05:00
KtorZ
2e5406afa3 Rename 'scripts' as 'validators' across the codebase. 2022-11-10 17:41:39 -05:00
rvcas
c9da049712 feat: rework how modules are loaded 2022-11-10 17:41:39 -05:00
rvcas
7e0767ef74 feat: output build assets 2022-11-08 22:21:07 -05:00