141 Commits

Author SHA1 Message Date
Pierre-Marie de Rodat
ca751250b4 Introduce the lkt_build_and_run test driver
Transition all relevant testcases to it. In the process, port
docstrings/comments from test.py files to expected_concrete_syntax.lkt
(now test.lkt) sources and fix stylechecks issues there.

(cherry picked from commit e1c4fe5804)
2024-11-28 15:40:33 +00:00
Hugo Guerrier
99c519f417 Limit the number of threads taken by native-image to 1
(cherry picked from commit 3080f208d3)
2024-11-28 10:04:02 +00:00
Pierre-Marie de Rodat
18fa52f05a Transition to leftovers tests to types_from_lkt=True 2024-09-11 13:00:20 +00:00
Pierre-Marie de Rodat
5dbb6ea5a9 Testsuite: blacklist calls to build_and_run from DSL locations 2024-08-19 09:58:04 +00:00
Pierre-Marie de Rodat
a998c198dd Bind libraries and programs with -E/-Es depending on build mode 2024-05-29 09:42:28 +00:00
Pierre-Marie de Rodat
2467c2962b Unparsing: introduce built-in default configs for generated libraries 2024-05-24 11:58:44 +00:00
Romain Beguet
be7e345064 Implement a generic collection mechanism for lexical env lookup caches.
This also repurposes the `All_Diags_Trace` GNATCOLL trace which was
introduced recently but in fact never used.
2024-03-11 09:11:33 +00:00
Pierre-Marie de Rodat
af1fd458bf Testsuite: rework GPR main specifications
Rework the way testcases specify lists of GPR mains to run so that it is
possible to run the same main multiple times with different arguments.
2024-01-10 15:08:06 +00:00
Pierre-Marie de Rodat
f9a101856f Make "generate_unparser" a CompileCtx constructor parameter
Whether to generate unparsers or not has non-trivial implications on the
language spec. For this reason, it does not make much sense to keep this
setting as a code generation option: it should instead be a property of
the language spec itself.
2024-01-10 12:36:41 +00:00
Pierre-Marie de Rodat
dfcf584cbe Langkit_Support.Generic_API.Unparsing: add Prettier output prototype 2024-01-10 12:36:41 +00:00
Pierre-Marie de Rodat
eef3d0061f python_support/utils.py: remove obsolete argument 2023-12-13 13:36:31 +00:00
Pierre-Marie de Rodat
5f2a4be656 Python bindings: make the version number PEP 440-compliant 2023-11-30 10:58:41 +00:00
Pierre-Marie de Rodat
27c7a4de00 Java API: bind AnalysisContext.Get_From_Provider 2023-07-31 09:28:19 +00:00
Pierre-Marie de Rodat
4f0edda8a3 Testsuite: rework "main" arguments for build_and_run
In particular, rename "ada_main" to "gpr_main" and allow it to contain
both Ada and C mains. Also remove the now useless "with_c" argument, and
the unused "mains" one as well.
2023-06-08 10:43:23 +00:00
Pierre-Marie de Rodat
55bcc4c2c2 libmanage.py: remove --no-ada-api
The actual feature behind this flag has been removed for a long time
(the generic introspection API, always generated, depends on the public
Ada API), so remove the last bits.
2023-06-08 10:34:31 +00:00
Hugo GUERRIER
8328b313cd Enable Graal C API tests on Windows
Remove the os restriction in native-image related tests and add a flag on
the testsuite to enable native-image related tests.
2023-05-26 10:02:36 +00:00
Hugo GUERRIER
d023bfa91b Add '-pedantic' to the C flags in the test project template
Adding the '-pedantic' flag allow the testsuite to raise errors on empty
structures in generated C headers.
2023-05-24 15:30:09 +02:00
Pierre-Marie de Rodat
b60d27c7cf Put the C header inside the generated project
This allows GCC, when used to build C mains, to access the C header
through command line arguments instead of through the `C_INCLUDE_PATH`
environment variable, which lets GCC emit warnings for issues found in C
headers. This will be useful to detect issues in generated code.
2023-05-22 09:17:45 +00:00
Hugo GUERRIER
be5e1bc7a7 Make Java tests use JAVA_HOME executables 2023-04-06 15:27:45 +02:00
Hugo GUERRIER
bc960b4fe4 W125-027: Change the Java version in pom.xml and add support for graalvm java executable 2023-04-06 15:27:45 +02:00
Hugo GUERRIER
cb8c1a07c1 W125-027: Make langkit strings wrap/unwrap to/from Java strings + Change decoding/encoding method 2023-04-06 15:27:45 +02:00
Hugo GUERRIER
9f042edf20 W125-027: Add the Graal C API bindings tests 2023-04-06 15:27:38 +02:00
Hugo GUERRIER
3f27ad882e W125-027 Add the Java bindings 2023-03-17 11:58:43 +01:00
Pierre-Marie de Rodat
50496d7c35 Testsuite: always generate the Ada API
In order to remove the language-specific introspection API, upcoming
changes will introduce uses of the generic API in LAL's implementation.
The generic API implementation depends on the public Ada API, so we need
to always generate the latter.

The impact on the testsuite execution time is acceptable: it goes from
1m26 before this patch to 1:37 on a beefy machine.

TN: W106-006
2023-02-28 15:07:32 +00:00
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