This exception is raised when we find conflicting units an an aggregate
project. Enhance the exception message to incude the name of the
conflicting unit as well as two conflicting projects that include it.
Upcoming infrastructure work (use "gcc" instead of "gnat" for testing)
will make the light runtime unavailable to the testsuite. Replace the
Java API checks that involve this runtime with checks that exercise
other tunings available in CGPR files (in particular here: the source
file naming convention).
That feature was specific to the Java API driver: this commit moves it
to the base driver class so that all tests can use it. Also rework it a
bit:
* Rename the YAML entry (`pre_python` -> `setup_script`).
* Avoid special cases for the shared environment (`subprocess`,
`test_env`) and make only the test driver instance available (`self`)
so that the code looks as if it was part of the test driver.
Update the two tests using it accordingly.
Recent GPR2 transition work triggered the inclusion of absolute project
file names in test outputs. Canonicalize directory separators to avoid
failures for the expected / versus \ diffs in relevant tests.
The fact that there is no language in the project (due to the content of
empty.cgpr) is an error with GNATCOLL.Projects, but will not be with
GPR2. Rework the testcase so that the presence of the CGPR always
trigger an error.
Do a similar change in the corresponding Java API testcase.
Now that the Graal API implementation is stable and tested on all
supported platforms, this option (meant to be temporary) is no longer
useful: remove it.