The large code model which is now the default for kernel RTS
(not triggered by the large multilib anymore) on 64 bits
architectures.
TN: UB03-045
Tested-with: $ anod test cross-testsuite \
--target=x86_64-vx7r2,7.2,vxsim-64 \
--qualifier=rts=kernel
$ anod test cross-testsuite \
--target=aarch64-vx7r2,7.2,vxsim-64 \
--qualifier=rts=kernel
$ anod test cross-testsuite \
--target=ppc64-vx7r2,7.2,vxsim-64 \
--qualifier=rts=kernel
In the context of integrating AdaCore libs in Alire index.
The aunit project files use some very common tech words such as TARGET,
RUNTIME or MODE for its externals which are likely to cause problems
with environment variables.
Part of T724-017.
The examples are now directly under the examples directory. It was put
in a directory structure corresponding to the install structure. This
is not needed anymore.
Part of NB07-023.
we want to use the installed AUnit binary in our nightly scripts, so refer
the installed aunit project instead of the one in the source package.
For KC06-008
In particuler, AUnit_Build is now installed as part of AUnit and allows
building AUnit with a customized library directory, so that Users can build
their own AUnit library with their own run-time.
Part of KC02-011
Force -fno-strict-aliasing for the aunit.adb unit, as pragma No_Strict_Aliasing
do not work for the kind of conversion involved.
* aunit-memory-utils.ads:
Add documentation.
Use pragma No_Strict_Aliasing for Name.
* aunit-test_caller.ads:
Add No_Strict_Aliasing pragma for Fixture_Access type.
Minor improvements in documentation part (docgen compatibility)
* aunit-test_results.ads:
Remove unused Result_Access type definition.
Use No_Strict_Aliasing for Test_Failure_Access and Test_Error_Access.
* aunit-test_suites.adb:
(New_Suite): Use No_Strict_Aliasing for Access_Type.
(Run): Minor reformatting.
* Makefile:
Support the new "Mode" scenario variable.
Nicer support for optimized compilation in Install mode, in particular handling
the Strict Aliasing support.
For JB07-004
Simplify the make procedure by using gprbuild only (no more configuration step
via gprconfig)
* aunit-assertions.ads:
(Test, Assert): Add a new type that allows inheritance of the Assert methods.
This allows sharing those methods between the Test_Fixtures and the various
Test_Cases types.
(Assert): Keep the old assert procedures, but mark them Obsolete as they will
no longer be useable once we implement a multitasked runner for the suites.
* aunit-options.ads:
New package: move the AUnit options to a separate package, more appropriate.
* aunit-run.adb:
(Run, Test_Runner*): Change profile according to the new locations of the
AUnit_Options package.
* aunit-run.ads:
(Test_Runner*): Change profile according to the new locations of the
AUnit_Options package.
* aunit-simple_test_cases.ads:
(Assert): Remove, now inherited via AUnit.Assertions.Test.
(Register_Failure, Failure_Lists): Remove the handling of the failures list
from this object, now handled in AUnit.Assertions.
* aunit-test_caller.adb:
Make sure that the same Fixture object is used for each created test.
* aunit-test_cases.ads:
(Run): Change profile according to the new AUnit_Options location.
* aunit-test_filters.ads:
Move the declaration of the root Test_Filter type here, more appropriate.
* aunit-test_fixtures.ads:
Make Test_Fixture inherit from AUnit.Assertions.Test to also inherit the
Assert procedures.
* aunit-test_suites.ads:
Code reorganisation makes test cases and test suites not sharing the same Run
procedure: we now need to differentiate those objects when adding them and
when running them.
* aunit-tests.ads:
(Run): Remove, now unused, and depending on Options and Filters that made a
cyclic elaboration.
* aunit-time_measure.adb:
(Gen_Put_Measure): Correct issues with previous implementation, and provide
a clearer output.
* aunit-assertions-assert_exception.adb:
(Assert_Exception): New profile, and use Assert procedure instead of directly
inserting failures.
* aunit-simple_test_cases-run_routine.adb:
(Run_Routine): Use the new failures handling interface, as failures internal
handling is moved from simple_test_case to assertions.
* aunit-reporter-text.adb:
(Report_Test): Minor adjustment, as time is reported directly with the units
used.
* aunit_tests.gpr.in:
Use 'exe/target-rts' as executable directory, allowing easier clean operations.
* makefile:
Simplify the make procedure by using gprbuild only (no more configuration step
via gprconfig)
Reorganise the code after changes for both IC16-035 (time reporting) and
IA08-009 (test filters).
Changes also the way assert procedures are called to prepare AUnit for futur
improvements, such as multitasking.
Change/Improve/Complete the AUnit test suite.
Better clean target.
* aunit-test_results.adb:
(Add_Error): Modify API to use the new Test_Error structure.
* aunit-test_results.ads:
(Test_Error): Introduce a new structure to better describe unexpected
exceptions.
Use this structure for Exception reporting.
* aunit-simple_test_cases-run_routine.adb:
(Run_Routine): Report errors using the new Test_Error structure, allowing
Traceback reporting.
* aunit-last_chance_handler.adb:
(To_Ada): Modify the computed Exception Message to make sure that it includes
the exception line.
* aunit-last_chance_handler.ads:
(Get_Last_Msg, Get_Source, Get_Line): Remove, and replace by Get_Exception_Name
and Get_Exception_Message, closer to the regular Ada Exceptions.
* aunit-simple_test_cases-run_routine.adb:
(Run_Routine): Report errors using the new Test_Error structure.
* aunit-reporter-text.adb:
(Dump_Result_List): Revert as discussed under IA08-009
(Report): Insert ANSI color sequences when requested.
(Report_Test): Take into account the new Test_Error type for reporting
exceptions.
* aunit-reporter-text.ads:
Partially revert as discussed under IA08-009.
(Set_Use_ANSI_Colors): New.
* aunit-reporter-xml.adb:
(Report_Test): Take into account the new Test_Error type for reporting
exceptions.
* aunit_tests.gpr.in:
Remove the obsolete separate.
* expected.out:
New, used to verify the AUnit test suite automatically.
* makefile:
Add exe extension on Windows.
Move the old target 'test' as 'run', not default anymore
New target 'test' just outputing a OK message when the test is successful.
Better clean target.
* aunit_harness.adb:
Use new colored output for the AUnit test suite.
* test_test_case-test_exceptions_with_exception.adb:
Remove obsolete
* test_test_case-test_exceptions_without_exception.adb:
Remove obsolete.
* test_test_case.adb:
(Test_Exceptions): Do not use a separate, as we always test with exception.
Improvements performed for IA08-009:
* Implementation of ANSI color output
* Implementation of better exception reporting