Test ran at 2025-02-22 12:52:06.606556+00:00 SOLUTION: scripted_testing=2.0.0: Integration testing Origin: commit 6720b9250e31c58d150d52c554193e22767a0704 from https://github.com/simonjwright/scripted_testing.git Properties: Author: Simon Wright Description: Integration testing License: GPL-3.0-or-later Long_Description: To set the scene, the Ada software under test (SUT) forms part of a system. Generally, the system will be constructed using a layered approach, and the other parts of the system that interact with the SUT are higher-level (which can call interface subprograms presented by the SUT) or lower-level (whose interfaces can be called by the SUT, or which can provide callbacks to the SUT). This package is intended for testing at a level between unit testing (using, for example, [AUnit](https://github.com/AdaCore/aunit)) and integration testing (using real hardware). Unit testing tends to be fragile, requiring a lot of rework for even minor functional changes in the requirements. The scripting language supported is [Tcl](http://www.tcl.tk), and specifically the Ada binding [Tash](https://github.com/simonjwright/tcladashell). The reason for choosing Tcl rather than Python or Lua is that Tcl's interface is entirely string-based; this is important, considering the need to specify values of enumerated types. The package provides facilities to write new commands in Tcl to * call the interface subprograms presented by the SUT, * set up values to be returned by calls the SUT makes to lower-level system components, * call callbacks provided by lower-level system components, * delay for appropriate periods, and * check that the proper calls have been made to lower-level system components, with the required values. It's assumed that the interface subprograms of the lower-level subsystems are stubbed so that: * `in` and `in out` parameters can be recorded for later checking, * `out` (and `in out`) parameter values and function `return` values can be provided to be returned to the SUT, * exceptions can be raised when required, * the number of calls to the subprogram can be checked. Maintainer: Simon Wright Maintainers_Logins: simonjwright Name: scripted_testing Tag: testing Tag: integration Tag: scripting Version: 2.0.0 Website: https://github.com/simonjwright/scripted_testing.git Dependencies (direct): tash^8.7.0 Dependencies (solution): libtcl=8.6.13 libtk=8.6.13 tash=8.7.2 Dependencies (graph): scripted_testing=2.0.0 --> tash=8.7.2 (^8.7.0) tash=8.7.2 --> libtcl=8.6.13 (~8.6.0) tash=8.7.2 --> libtk=8.6.13 (~8.6.0) LOG: Spawning: alr -d -n get --build scripted_testing=2.0.0 Note: Deploying scripted_testing=2.0.0... Note: Deploying libtcl=8.6.13... The system package 'mingw-w64-x86_64-tcl' is about to be installed. This action might require admin privileges and impact your system installation. Do you want Alire to install this system package? Using default: Yes resolving dependencies... looking for conflicting packages... Packages (1) mingw-w64-x86_64-tcl-8.6.13-1 Total Download Size: 2.68 MiB Total Installed Size: 9.65 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... mingw-w64-x86_64-tcl-8.6.13-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... checking available disk space... :: Processing package changes... installing mingw-w64-x86_64-tcl... Note: Deploying libtk=8.6.13... The system package 'mingw-w64-x86_64-tk' is about to be installed. This action might require admin privileges and impact your system installation. Do you want Alire to install this system package? Using default: Yes resolving dependencies... looking for conflicting packages... Packages (1) mingw-w64-x86_64-tk-8.6.13-1 Total Download Size: 1.98 MiB Total Installed Size: 5.73 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... mingw-w64-x86_64-tk-8.6.13-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... checking available disk space... :: Processing package changes... installing mingw-w64-x86_64-tk... Note: Deploying tash=8.7.2... Note: Running post-fetch actions for tash=8.7.2... make: Entering directory '/c/Users/runneradmin/AppData/Local/alire/cache/builds/tash_8.7.2_4c588c12/5e3d271d3005b516fddb166990872d6c7c54420c35a1d8f5689ad4b1bfb9cb41/src' tclsh tcl_record_sizes.tcl >tcl_record_sizes.c gprbuild -P tcl_record_sizes.gpr -o tcl_record_sizes.exe Setup [mkdir] object directory for project Tcl_Record_Sizes Compile [c] tcl_record_sizes.c Link [archive] libtcl_record_sizes.a [index] libtcl_record_sizes.a [link] tcl_record_sizes.c ./tcl_record_sizes.exe >tcl_record_sizes.ads make: Leaving directory '/c/Users/runneradmin/AppData/Local/alire/cache/builds/tash_8.7.2_4c588c12/5e3d271d3005b516fddb166990872d6c7c54420c35a1d8f5689ad4b1bfb9cb41/src' Note: Building scripted_testing=2.0.0/scripted_testing.gpr... Setup [mkdir] object directory for project Tash [mkdir] library directory for project Tash [mkdir] object directory for project Scripted_Testing [mkdir] library directory for project Scripted_Testing Compile [c] tkmacro.c [c] tclmacro.c [ada] tcl_record_sizes.ads [ada] tcl.adb [ada] tcl-tk.adb [ada] tcl-tk-ada.adb [ada] tcl-async.adb [ada] tcl-ada.adb [ada] chelper.adb [ada] cargv.adb [Ada] scripted_testing.adb Build Libraries [gprlib] tash.lexch [gprlib] scripted_testing.lexch [archive] libtash.a [index] libtash.a [archive] libscripted_testing.a [index] libscripted_testing.a scripted_testing=2.0.0 successfully retrieved and built. Dependencies were solved as follows: +b libtcl 8.6.13 (new,indirect,system package) +b libtk 8.6.13 (new,indirect,system package) + tash 8.7.2 (new) Found declared GPR file: scripted_testing.gpr