Commit Graph

141 Commits

Author SHA1 Message Date
Pierre-Marie de Rodat
2379ef558f python_support/utils.py: harmonize defaults for version/build_date
Use the same default values as in CompileCtx's constructor: None. This
should get rid of these strange version numbers in the testsuite, which
may annoy Maven for the upcoming Java bindings.

TN: W125-027
2023-02-20 13:31:08 +00:00
Pierre-Marie de Rodat
b298a62b39 python_api/app: fix propagation of path_wrapper to subprocesses
TN: VA12-016
2022-12-05 16:13:40 +00:00
Pierre-Marie de Rodat
869141de11 python_support/path_wrapper.py: fix sys.argv for the script to run
Upcoming work will start to use command line arguments in a "main.py"
test script. Fix "path_wrapper.py" so that command line arguments are
correctly passed to "main.py".

TN: VA12-016
2022-11-23 12:37:21 +00:00
Pierre-Marie de Rodat
83c26aa941 c_api/event_handler: new testcase
TN: VA12-016
2022-11-23 12:37:21 +00:00
Pierre-Marie de Rodat
558f53748f Testsuite: include C in test projects only optionally
In order to avoid GPR warnings ("no C sources for this project") for all
projects that contain only Ada sources, make the C language optional in
generated project files.

TN: VA14-036
2022-10-20 11:55:22 +00:00
Pierre-Marie de Rodat
3a838da876 C API: add a getter for exception names, for testing purposes
Printing the int value for the exception IDs makes test outputs
unstable, as IDs can change when new exceptions are added. Add an
exception name getter to restore stable output.

TN: VA14-036
2022-10-19 15:22:01 +00:00
Pierre-Marie de Rodat
8f220c9e25 Allow lang. specs to extend the set of exceptions properties may raise
So far, properties were allowed to raise Property_Error exceptions only:
other exceptions were considered as a low-level bug (i.e. assumed not
possible), which could corrupt the process state.

This commits allows language specs to allow additional kinds of
exceptions to be raised in property errors.

For #632
2022-07-19 09:42:07 +00:00
Pierre-Marie de Rodat
72ee3c87f5 GDB helpers: fix indentation of multi-line values in the "state" command 2022-06-20 15:12:29 +00:00
Pierre-Marie de Rodat
fa79e76f46 Testsuite: create a new "lkt_compile" test driver
All tests which just check the presence/absence of errors when compiling
Lkt language specs have the same "test.py" script: put a reference
script in "python_support", create a new test driver to let tests use
it easily and migrate relevant tests to it.

For GitHub issue #622
2022-06-08 12:24:31 +00:00
Pierre-Marie de Rodat
db86f7b519 Testsuite: adapt for Python 3.8+
See the rationale in path_wrapper.py's docstring.

TN: V401-020
2022-04-14 14:07:44 +00:00
Pierre-Marie de Rodat
aa0213b1a6 Add a mode to generate standalone libraries (no dep on Langkit_Support)
TN: V323-024
2022-04-05 12:43:08 +00:00
Pierre-Marie de Rodat
e61e501d1b Add a testcase to check GDB helpers
Do not run this test in the GitLab CI as the GDB that comes from Alire
does not have Python scripting support enabled.

TN: S521-024
2022-03-22 13:08:43 +00:00
Pierre-Marie de Rodat
e0d5c7bbea python_support/lexer_example.py: remove obsolete file
Testcases have now been using the Lkt example lexer for a long time:
the Python lexer is no longer needed.

TN: S521-024
2022-03-22 13:08:43 +00:00
Pierre-Marie de Rodat
9c24c9e0a3 Testsuite: restrict inner test parallelism
When running all tests, restrict each test to a single core, otherwise
we end up running spamming the host with N*N subprocesses despite
--jobs=N passed to the testsuite. However, keep inner parallelism to N
when running few tests, for dev convenience.
2022-03-22 10:07:34 +00:00
Pierre-Marie de Rodat
e37eed1c3f Testsuite: add a types_from_lkt argument to emit_and_print_errors
This will allow tests for DSL warnings/errors to be written in full Lkt.

For #612
2022-02-24 14:40:57 +00:00
Pierre-Marie de Rodat
72080d8b24 Testsuite: use gnat.supp for Ada mains
The previous commit for this ticket added a Valgrind suppression file
assuming that the testsuite would automatically pick it up. It is not
the case, so explicitly use gnat.supp in tests when running Ada
programs.

TN: V221-024
2022-02-23 20:11:22 +00:00
Pierre-Marie de Rodat
1345038052 CompileCtx: consider that short name has lower case
We happen to use short name only in its lower case form. Switch to the
lower case form only to avoid breaking the "one word, starting upper
case" rule (for instance with LAL for Libadalang).

TN: V126-009
2022-01-27 16:49:27 +01:00
Pierre-Marie de Rodat
10a61b0265 grammar/invalid_lkt: remove extra errors
Remove errors from test material when they are not the errors that are
meant to be checked. An upcoming change will make these extra errors
visible: we do not want them to hide the ones meant to be checked.

TN: RA22-015
2021-12-01 13:36:41 +01:00
Pierre-Marie de Rodat
01b5de688f Enforce strict sound envs for node synthetization
Now that cross-unit links between lexical envs are handled by the named
environments mechanism, we can get rid of this unsoundness without
breaking Libadalang.

TN: T320-010
2021-08-06 14:54:43 +02:00
Pierre-Marie de Rodat
02991cc2b0 Python API: fix bindings when assertions are disabled
Python's -O command-line option disableds the execution of "assert"
statements. In order for the generated Python bindings to work in such a
mode, we need to keep assertion logic only in "assert" statements. This
commit fixes statements that currently don't respect this principle.

Fixes GitHub issue #485
TN: U326-020
2021-03-29 17:43:50 +02:00
Pierre-Marie de Rodat
7c352c396a Make version numbers available from the C and Python APIs
TN: U127-029
2021-02-02 16:09:08 +01:00
Pierre-Marie de Rodat
9213e956a2 Testsuite: make it possible to check errors in build_and_run
TN: U127-029
2021-02-02 16:09:08 +01:00
Pierre-Marie de Rodat
4c1391dd5f Introduce a language spec-wide option to enable case insensitivity
When enabled, this new option triggers the lexer engine to perform
"native" case insentivity and provides a default symbol canonicalizer
that just converts names to lower case.

TN: U118-054
2021-01-25 12:52:15 +01:00
Pierre-Marie de Rodat
74b239c808 Introduce a "strict" mode for sound envs
The automatic trigger of PLE when synthetizing a node, while necessary
to get sound environments, creates nasty regressions in Libadalang,
which does not use the sound environment framework yet. Introduce a
switch that triggers the new behavior, and whose absence leaves the old
(and incorrect) behavior. This will allow us to continue working on
sound envs without creating regressions in LAL.

TN: TB19-017
2020-12-07 17:40:10 +01:00
Raphaël AMIARD
ee5cd4ae12 TB24-020: Add type annotations to libmanage.py 2020-12-01 10:16:34 +01:00