{
  "authors": [
    "Simon Wright"
  ],
  "depends-on": [
    {
      "tash": "^8.7.0"
    }
  ],
  "description": "Integration testing",
  "licenses": "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).\n\nThis 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.\n\nThe 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.\n\nThe package provides facilities to write new commands in Tcl to\n\n* call the interface subprograms presented by the SUT,\n\n* set up values to be returned by calls the SUT makes to lower-level system components,\n\n* call callbacks provided by lower-level system components,\n\n* delay for appropriate periods, and\n\n* check that the proper calls have been made to lower-level system components, with the required values.\n\nIt's assumed that the interface subprograms of the lower-level subsystems are stubbed so that:\n\n* `in` and `in out` parameters can be recorded for later checking,\n\n* `out` (and `in out`) parameter values and function `return` values can be provided to be returned to the SUT,\n\n* exceptions can be raised when required,\n\n* the number of calls to the subprogram can be checked.\n",
  "maintainers": [
    "Simon Wright <simon@pushface.org>"
  ],
  "maintainers-logins": [
    "simonjwright"
  ],
  "name": "scripted_testing",
  "origin": {
    "commit": "6720b9250e31c58d150d52c554193e22767a0704",
    "url": "git+https://github.com/simonjwright/scripted_testing.git"
  },
  "tags": [
    "testing",
    "integration",
    "scripting"
  ],
  "version": "2.0.0",
  "website": "https://github.com/simonjwright/scripted_testing.git"
}
