Commit Graph

558 Commits

Author SHA1 Message Date
gluax
8972674dec test-framework rework and clean up start 2022-06-08 13:44:40 -07:00
gluax
5129276a4b some compiler lib cleanup 2022-06-08 10:50:23 -07:00
gluax
f6990e75fc fixed some bugs 2022-06-08 06:46:54 -07:00
0rphon
0af9622cd9 replaced structopt with clap 2022-06-06 11:00:08 -07:00
gluax
8ad69944c0 bug fixes 2022-06-02 09:39:49 -07:00
gluax
af0e0da6b7 add tests for known bugs 2022-06-02 09:37:55 -07:00
collin
27c858a0fc merge testnet3 2022-06-02 11:33:11 -04:00
collin
85eb1adcce rename corelib -> core, update readme 2022-06-02 11:22:08 -04:00
Collin Chin
59ffe66363
Merge branch 'testnet3' into issue-1841 2022-06-01 22:51:44 -04:00
gluax
9638a695aa fix more bugs, add type checking 2022-06-01 11:16:00 -07:00
collin
3b62e3cc97 fix bugs 2022-06-01 13:49:55 -04:00
gluax
220cb3e730 rename stdlib -> corelib 2022-06-01 09:09:38 -07:00
gluax
f34f63cea4 update abnf 2022-06-01 08:48:36 -07:00
gluax
c10eb63575 add failing expectation for an invalid input type 2022-05-31 10:36:35 -07:00
gluax
0ce4639a1b merge upstream, test builtin ident types 2022-05-31 10:34:57 -07:00
Mazdak Farrokhzad
6399f873f5 improve error for '&' not followed by '&' 2022-05-31 16:28:01 +02:00
gluax
2db204b81e further changes to the visitor pattern to clean up code 2022-05-30 10:53:06 -07:00
collin
2327bca617 implement static string type 2022-05-26 16:43:18 -04:00
gluax
044b2a10a4 refa:ctored visitor pattern to better on an the AST 2022-05-26 13:29:51 -07:00
gluax
4f30e6e896 add ident type back in 2022-05-25 15:56:44 -07:00
gluax
2117ee3ae8 resolve readme conflict 2022-05-25 11:55:23 -07:00
collin
65408acbb5 fix lexer test 2022-05-25 14:10:15 -04:00
collin
8d79193474 merge testnet3 2022-05-25 14:02:10 -04:00
gluax
8cb4b19e66 merge upstream changes 2022-05-25 09:21:47 -07:00
Collin Chin
0bf4a923a2
Merge pull request #1834 from AleoHQ/docs/test-framework-doc-updates
[Docs] update test framework docs
2022-05-25 11:55:21 -04:00
collin
637ab9c0b6 update test readme 2022-05-24 12:45:11 -04:00
gluax
019598c84e #1805 was fixed by a previous commit 2022-05-23 18:57:14 -07:00
gluax
1cd7aad6ad fix #1819 2022-05-23 18:55:42 -07:00
gluax
ba4f1666d1 fix #1821 2022-05-23 18:00:33 -07:00
gluax
eee58883a6 clean up and fix type set checking 2022-05-23 11:07:43 -07:00
gluax
848868a05a make suggested changes fix tests 2022-05-23 09:37:04 -07:00
gluax
ff46c98b9e update test framework docs 2022-05-23 08:22:11 -07:00
collin
b8780e888d merge testnet3 2022-05-20 10:39:21 -04:00
Alessandro Coglio
560ea590a9 [tests] Change category of the 0x tests 2022-05-19 20:31:05 -07:00
collin
119c191836 merge testnet3 2022-05-18 14:29:54 -04:00
Collin Chin
4ce11080b5
Merge pull request #1825 from AleoHQ/fix-loop-end-inclusive
[parser] Fix to disallow inclusive loop ending bound.
2022-05-18 14:17:32 -04:00
Mazdak Farrokhzad
882f2e5454 remove char type + literals 2022-05-18 14:33:04 +02:00
Collin Chin
416d8d5ad9
fix nit 2022-05-17 11:36:04 -04:00
Mazdak Farrokhzad
7f435eba48 remove expression statements 2022-05-17 14:41:30 +02:00
Alessandro Coglio
1761b80578 [parser] Fix to disallow including loop ending bound.
This is not part of the current version of Leo (cf. ABNF grammar and Leo
Reference).

Adapt tests.
2022-05-16 21:24:42 -07:00
Alessandro Coglio
dcf029e645 [tests] Remove unused parser errors.
Also revise expectations. The changes look extensive in the diff, but only the
error codes have changed (at least, that's the expectation, and this has been
visually checked in some places of the diff).
2022-05-16 10:34:27 -07:00
0rphon
38fa7a9608 added more tests/generated expectations for the ones that pass 2022-05-15 21:53:28 -07:00
0rphon
92cac97a84 added scalar tests 2022-05-14 20:27:08 -07:00
Alessandro Coglio
21616fe167 [parser] Remove the input keyword.
This is also not in the current grammar, and it does not look like it is going
to be re-added.
2022-05-13 23:50:33 -07:00
Alessandro Coglio
2fbaf759db [parser] Remove mut and type keywords.
As discussed, these are no longer in the grammar. If and when we need them, we
will re-add them.

This also removes some extra code that gives a specific error when mut is
used. However, that is in fact another bug, because `mut` is a valid identifier
in the current grammar, and thus this extra code unjustly rejects code that uses
`mut` as an identifier.

Adjust some tests and expectations.
2022-05-13 23:36:08 -07:00
collin
f6aa7a578a merge testnet3 2022-05-13 12:33:35 -07:00
Collin Chin
0e24e670bb
Merge pull request #1816 from AleoHQ/test-comment-into-yaml
[tests] move comment from body to yaml header
2022-05-13 09:48:50 -07:00
Collin Chin
f4e241efad
Merge pull request #1815 from AleoHQ/int-pow-tests
[tests] make integer pow tests consistent
2022-05-13 09:44:52 -07:00
Collin Chin
98cd7e91aa
Merge pull request #1813 from AleoHQ/move-field-test
[tests] Move failing test to new fail.
2022-05-13 09:41:59 -07:00
Collin Chin
21b295fafe
Merge pull request #1810 from AleoHQ/group-x_and_y
[tests] fix (x,y)group test
2022-05-13 09:41:45 -07:00
Collin Chin
baddfcc076
Merge pull request #1808 from AleoHQ/fix-implicit-literal-tests
[tests] Fix format and expectation of a test.
2022-05-13 09:41:30 -07:00
Eric McCarthy
c3f59bbb66 [tests] move comment from body to yaml header 2022-05-13 00:10:39 -07:00
Eric McCarthy
e3c3b6d79a [tests] make integer pow tests consistent 2022-05-12 23:20:35 -07:00
Alessandro Coglio
f502b9c5e9 [tests] Move failing test to new fail.
Instead of commenting out this failing test, it seem better to add to a new file
for failing tests. If and when we change Leo to accept field literals in hex, we
can move the test from the Fail file to the Pass fail.

This also helps the ACL2 tester, which is currently not handling comment-out
tests of this form.
2022-05-12 14:04:22 -07:00
collin
bacc0d7510 merge testnet3 2022-05-12 13:18:43 -07:00
Eric McCarthy
27991a6423 [tests] add expectation for group/x_and_y.leo 2022-05-12 10:57:52 -07:00
Eric McCarthy
b08ab82cbc [tests] fix (x,y)group test 2022-05-12 10:41:57 -07:00
Mazdak Farrokhzad
a5ad874ffb spans: use source map backing 2022-05-12 16:09:18 +02:00
Alessandro Coglio
20a081da37 [tests] Fix format and expectation of a test.
This was apparently disabled, but it did not start with a block comment.

This commit fixes it to start with a block comment as required.

This commit also makes it a failing test, which is appropriate because in the
current version of Leo we do not allow untyped literals (i.e. lone numerals as
expressions), and it is thus a good negative test for the current version of
Leo. When we extend Leo to allow untyped literals, we can simply flip the
expectation of this test from Fail to Pass.
2022-05-11 21:16:41 -07:00
collin
8f17d6294a rename scalar -> primitive 2022-05-11 14:09:12 -07:00
Alessandro Coglio
62f2267c2b [parser] Fix parsing of ordering expressions.
Follow the grammar rule. The ordering operators are not associative.

Split previous tests into succeeding and failing ones.

Refresh expectations of old test files.

Add expectations of new test files.
2022-05-10 23:32:46 -07:00
Eric McCarthy
06cb450593 [tests] add block comment annotation to field/sub.leo and field/ternary.leo and add expectations files 2022-05-10 13:38:41 -07:00
collin
1a569eb655 regen tests 2022-05-10 11:59:34 -07:00
collin
c1d36ee62e remove const function code 2022-05-10 11:57:23 -07:00
collin
1bf39e76a9 commit expectations 2022-05-10 11:38:29 -07:00
collin
cca3c84ef4 remove unused imports code and tests 2022-05-10 11:22:30 -07:00
Collin Chin
be9fa96d9e
Merge pull request #1786 from AleoHQ/feature/type-checking
[Impl] type-checking
2022-05-10 11:17:44 -07:00
gluax
23f19fc4f7 missed regening a test 2022-05-05 15:58:41 -07:00
gluax
b79b961610 make new tests 2022-05-05 15:44:33 -07:00
gluax
d33e69bac8 re-introduce some disabled tests, fix some 2022-05-05 15:38:55 -07:00
Collin Chin
527c55f841
Merge pull request #1666 from AleoHQ/feature/1654-require-types
[Impl] Require Types
2022-05-04 15:53:55 -07:00
gluax
e03af95ff6 change output format, st doesn't change bc of input file 2022-05-04 15:43:07 -07:00
gluax
b97bf4c9bc started going through deprecated tests, noticed parts of testframework were broken 2022-05-04 15:37:59 -07:00
gluax
2c252f7878 all current compiler tests pass, need to add more 2022-05-04 13:37:53 -07:00
Collin Chin
4a1cd29b53
Merge pull request #1781 from AleoHQ/doc-test-update
[Testing] Update doc of test framework.
2022-05-04 13:02:22 -07:00
gluax
4fb95d1195 initial commit for tc, adds get_type to Node 2022-05-03 11:26:56 -07:00
Alessandro Coglio
ce7dfedea6 [testing] Remove obsolete section from README. 2022-05-02 21:51:54 -07:00
gluax
18bd03318f use input_file for each, as now inline input content is ignored 2022-05-02 20:34:37 -07:00
gluax
a7c3696e90 merge testnet3 into required types, also remove identifier type 2022-05-02 19:43:46 -07:00
Alessandro Coglio
9dcc0a5ec5 [tests] Consistently use block comments.
There were four test files, found by @bendyarm, that use end-of-line comments
instead of block comments as prescribed by the README.md.

This commit changes them to block comments, for consistency with the README.md,
and uniformity across the files.

There is clearly nothing wrong with supporting block comments (which apparently
the Rust implementation of the Leo test framework already does). However, just
supporting block comments slightly simplifies the processing of the Leo test
files on the ACL2 side, as we are building that processing right now.

We could support end-of-line comments on the ACL2 side as well if desired. But
it seems unnecessary and unimportant at least for now. This is a quick PR, so
it's okay if it gets rejected and instead we want to support end-of-line
comments right away.
2022-05-02 14:28:43 -07:00
Alessandro Coglio
0c2aed8c9d [Testing] Update doc of test framework. 2022-05-02 12:40:14 -07:00
gluax
7e6cc65d54 change back to parse_input to reflect what we do for parse_program 2022-04-28 12:44:54 -07:00
gluax
7524a325bf fix grabbing last error 2022-04-27 12:31:24 -07:00
gluax
5108cab460 most compiler tests passing 2022-04-27 12:04:45 -07:00
gluax
8c7fe53ff6 fix leo input parser bug 2022-04-27 11:52:06 -07:00
gluax
8c86407b91 cleaning up tests, fixed compiler bug, found input parse bug 2022-04-27 11:44:05 -07:00
Eric McCarthy
344cc61d0c
[lexer] add "_fail" suffix on test file names for tests that are supposed to fail (#1770) 2022-04-25 08:58:41 -07:00
collin
f89966fe32 merge testnet3 2022-04-21 14:37:33 -07:00
Collin Chin
23fca6af47
Merge pull request #1751 from AleoHQ/abnf-bidi-overrides
[ABNF] disallow bidi override codepoints
2022-04-20 09:34:00 -07:00
Eric McCarthy
8eecca1af7 [tests] fix missing file extension on test file and remove vestigial dollar sign 2022-04-19 14:19:55 -07:00
Eric McCarthy
3227930df9 [lexer] add fail tests for bidi overrides 2022-04-19 13:16:09 -07:00
gluax
98c7ced6fe merge upstream testnet3 2022-04-19 12:58:28 -07:00
Collin Chin
645b5a2be7
Merge pull request #1750 from AleoHQ/address-check
Address check
2022-04-19 12:56:27 -07:00
gluax
54c936cc61 leo warnings, disable unused errors for now 2022-04-18 14:06:28 -07:00
collin
f53817c5f5 implement real address literal check 2022-04-13 15:21:08 -07:00
Mazdak Farrokhzad
b955b77ac2 parser: minor cleanup + span fix 2022-04-13 22:52:53 +02:00
Mazdak Farrokhzad
31fcc2f216 parser: store (prev_)token 2022-04-13 22:20:48 +02:00
gluax
9f79ca7169 allow const but throw a recoverable error 2022-04-12 11:46:35 -07:00
gluax
cfc5b00bad add constant keyword, only used for params 2022-04-10 23:10:55 -07:00
gluax
a5b692a765 merge upstream testnet3 2022-04-06 10:25:26 -07:00
gluax
3936e6c202 doc new fn, test updates 2022-04-06 10:23:20 -07:00
gluax
3a85223e22 adjust tests 2022-04-05 11:38:21 -07:00
gluax
a675b81c0a change tests 2022-04-05 09:36:22 -07:00
gluax
80d97416cb fixes and correct tests 2022-04-04 15:31:08 -07:00
gluax
27921a61e6 tuples removed 2022-03-28 10:35:36 -07:00
gluax
95d508566f remove circuit access 2022-03-28 07:54:29 -07:00
gluax
877674230a remove aliases and gcs 2022-03-28 07:47:05 -07:00
gluax
78b04ff000 remove as and imports 2022-03-28 07:42:23 -07:00
gluax
ef4b3787a9 remove arrays 2022-03-28 07:31:53 -07:00
gluax
401c6a6d4d remove annotation and static access 2022-03-28 07:04:29 -07:00
gluax
7ad500b344 remove uneeded circuit syms 2022-03-28 06:53:22 -07:00
gluax
d37f9f29c2 remove circuits 2022-03-28 06:32:55 -07:00
gluax
398e6f5469 merge upstream testnet3 2022-03-28 06:21:17 -07:00
gluax
4f62c86b39 test open bugs, they all pass :) 2022-03-17 10:46:42 -07:00
gluax
34e1b39805 some cleanup 2022-03-16 15:04:49 -07:00
gluax
790c282e8b merge upstream testnet3 2022-03-16 13:56:55 -07:00
0rphon
ca6ae112ff fixed take_hook 2022-03-16 13:15:58 -07:00
gluax
0e7d36a61c current tests pass 2022-03-16 13:02:56 -07:00
0rphon
82ce58544b fixed ci 2022-03-15 17:15:08 -07:00
0rphon
d25eb79594 improved test runner 2022-03-15 16:56:54 -07:00
0rphon
0e1d1a43e9 removed tools/failing tests 2022-03-15 15:38:06 -07:00
0rphon
310944acc5 excluded failing tests, added new ones 2022-03-14 17:37:15 -07:00
0rphon
a9ed6dcc81 Update char.leo 2022-03-14 16:36:36 -07:00
0rphon
7c049177cb Merge branch 'testnet3' into improve-parser-tests 2022-03-14 16:36:16 -07:00
0rphon
1604f10115 re-enabled tests, removed fuzzing hooks 2022-03-14 16:29:34 -07:00
gluax
ef8d0415e7 change parens around variable into recoverable error 2022-03-14 08:12:03 -07:00
gluax
9a45c2ae99 fix array around 1 element array dim size 2022-03-14 08:07:01 -07:00
gluax
2c30cba70f remove parened field 2022-03-14 07:58:51 -07:00
0rphon
3c258bf3a4 code cleanup, added tests, marked dangerous code for review 2022-03-09 15:16:52 -08:00
gluax
377c65be21 fix issues from fixing a panic 2022-03-09 12:08:15 -08:00
gluax
a227e7c113 add tests, fix namespaces on older tests, fix another bug 2022-03-09 11:11:30 -08:00
gluax
86000325bf remove option types in rest of places, clean up canonicalization 2022-03-08 12:58:32 -08:00
gluax
eaf0a82154 merge testnet3 2022-03-08 10:24:36 -08:00
gluax
9d088ea152 remove implicit ints in tests 2022-03-08 10:20:05 -08:00
0rphon
9afee5e328 updated tests 2022-03-08 01:01:30 -08:00
0rphon
39ea7a3ceb Merge branch 'testnet3' into improve-parser-tests 2022-03-08 00:57:32 -08:00
Collin Chin
5e2ba78750
Merge pull request #1656 from AleoHQ/remove/unsized-array
Remove/unsized array
2022-03-07 17:14:03 -08:00
collin
6a33035257 remove unsized array parser tests 2022-03-07 14:50:53 -08:00
gluax
d39a3c00d7 fix tests so far 2022-03-07 08:30:03 -08:00
collin
1f7b1b57cc remove unsized array tests 2022-03-04 12:27:17 -08:00
gluax
060c13dd8d clippy fix 2022-03-04 11:21:42 -08:00
gluax
789862103e another char bug fix 2022-03-04 11:18:28 -08:00
gluax
308512fab9 add tests 2022-03-04 10:26:34 -08:00
gluax
85764aa394 fix self discrep 2022-03-04 10:03:42 -08:00
gluax
bd1d602f6d fix annotation error msg 2022-03-04 09:28:29 -08:00
0rphon
7d2cbb2ec2 done with coverage
finished coverage tests. adding case by case tests from the parser fuzzer next
2022-03-02 14:13:37 -08:00
0rphon
2b4751e7e1 regenned tests 2022-03-01 12:15:54 -08:00
0rphon
9d1714d779 Merge remote-tracking branch 'origin/testnet3' into improve-parser-tests 2022-03-01 12:00:10 -08:00
gluax
029a42df0a regen tests so far 2022-02-28 14:47:22 -08:00
gluax
dd4f51a218 fix testframework path 2022-02-28 13:40:43 -08:00
collin
9ff0d3fed3 move tools/test-framework -> tests/test-framework 2022-02-28 10:29:05 -08:00
Collin Chin
9a44dc35c3
Merge pull request #1643 from AleoHQ/lexer-errors
Lexer Errors
2022-02-28 08:53:56 -08:00
0rphon
cc71ed2d07 emoji tests 2022-02-25 17:21:41 -08:00
gluax
c0b0e28ee2 error messages and test regen 2022-02-25 11:23:59 -08:00
0rphon
6f9ffcedf2 more edge cases 2022-02-23 17:24:51 -08:00
gluax
7f21855312 fix infinite loop, check if tests work 2022-02-23 16:14:53 -08:00
0rphon
45326234c3 updated tests 2022-02-23 15:09:19 -08:00
0rphon
c6926ef1fa Merge remote-tracking branch 'origin/testnet3' into improve-parser-tests 2022-02-23 15:07:49 -08:00
0rphon
ba6f235937 added some more test cases 2022-02-23 15:07:32 -08:00
damirka
239f06b3af removes leo_input mentions, cleanup dep 2022-02-22 03:10:50 +03:00
damirka
aa61840eb6 Merge branch 'testnet3' into leo-parser-inputs 2022-02-22 02:59:54 +03:00
damirka
0c22d631e8 adds tests, removes legacy code 2022-02-22 02:18:33 +03:00
Collin Chin
7fb6216a13
Merge pull request #1625 from AleoHQ/bug/1620-malformed-block-comments
[Fix] malformed block comments
2022-02-21 11:01:21 -08:00
Collin Chin
b3ae194ef7
Merge pull request #1624 from AleoHQ/bug/1405-reject-one-element-tuples
[Fix] Disallow 1 element tuple types and variables
2022-02-18 18:16:42 -08:00
gluax
122315db3d fix test 2022-02-18 15:37:49 -08:00
0rphon
c767907b25 removed more dead lexer code 2022-02-18 16:29:24 -07:00
gluax
be9a181ef2 rengen tests 2022-02-18 15:21:18 -08:00
0rphon
938f1fdbc1 removed dead code from lexer 2022-02-18 15:49:39 -07:00
gluax
44a3d63b2f fix one test, pull latest changes 2022-02-18 13:10:17 -08:00
gluax
d769cc634d working on adding a parse import namespace 2022-02-18 13:07:49 -08:00
0rphon
d46a041895 save progress before denver 2022-02-16 11:33:52 -08:00
0rphon
0d6c258068 save progress 2022-02-14 17:25:57 -08:00
collin
d343f487ad temporarily remove parser import tests 2022-02-08 13:18:48 -05:00
gluax
57bc95879d pull upstream testnet2 resolve conflicts 2022-02-01 13:30:03 -08:00
Mazdak Farrokhzad
d6d23f938b cherry pick ast-docs commit 2022-02-01 10:59:05 -08:00
gluax
0981874787 tested all unreachables 2022-01-28 11:30:45 -08:00
gluax
9cb1f3632d add missed cases, test unreachable exprs 2022-01-28 11:28:19 -08:00
gluax
22d24411b7 test unreachable contexts 2022-01-28 10:57:13 -08:00
gluax
2bb1d8f8d6 migrate parser tests from staging 2022-01-28 10:34:02 -08:00
gluax
5b7daa7b10 disable tgc binary for now 2022-01-28 10:26:42 -08:00
collin
22b16a0bcb regenerate all tests 2022-01-25 16:17:36 -08:00
collin
31f90a9032 deprecate blake2s 2022-01-25 13:31:02 -08:00
Eric McCarthy
e2ba64b79d
Merge pull request #1362 from AleoHQ/feature/remove-span-snapshot
Feature/remove span snapshot
2021-09-30 15:33:18 -07:00
Pranav Gaddamadugu
cf1d10e057 Changed expectations after fixing order bug 2021-09-29 08:01:42 -07:00
Pranav Gaddamadugu
9bf66e391c New test expectations after normalizing JSON output for tgc 2021-09-28 17:51:58 -07:00
damirka
a1aa5326ad fixes eq for arrays with unspecified size 2021-09-28 11:09:56 +03:00
Pranav Gaddamadugu
94498179db Added feature to serde_json, new expected ASTs 2021-09-24 16:34:57 -07:00
Pranav Gaddamadugu
1d4a4566d7 Updated tests to fit new compiler options 2021-09-23 09:27:14 -07:00
Pranav Gaddamadugu
ae6e0a6786 Changing expectations files; for any AST where Span is used in an enum variant 2021-09-22 12:07:58 -07:00
damirka
af777c085d adds .len() parser tests 2021-09-17 17:39:28 +03:00
Alessandro Coglio
a5f74195cf
Merge pull request #1333 from AleoHQ/array-len-function
[Feature] Adds .len() postfix to arrays
2021-09-15 10:10:32 -07:00
damirka
4f41f09ef2 Merge branch 'master' into array-len-function 2021-09-13 14:26:38 +03:00
damirka
158576f8f5 changed length() to len() 2021-09-10 16:55:32 +03:00
gluaxspeed
c1e9c72d2a merge master and resolve conflicts 2021-09-10 06:53:47 -07:00
gluaxspeed
e1f6b16ea7 added new errors 2021-09-10 06:42:01 -07:00
damirka
093517109b renaming, now .length() 2021-09-10 16:11:55 +03:00
gluaxspeed
64e88404d2 prelude stuff auto included 2021-09-10 05:55:07 -07:00
gluaxspeed
02416cde68 merge master and resolve conflicts 2021-09-10 02:27:37 -07:00
gluaxspeed
a9c81d6596 fix canoncialization of function inputs 2021-09-08 04:18:11 -07:00
gluaxspeed
8a8b5ab757 resolve merge conflicts 2021-09-07 02:59:35 -07:00