{
  "canonical_url": "https://crates.flyology.org/community/",
  "catalog": {
    "name": "community",
    "repository_url": "https://github.com/alire-project/alire-index",
    "revision": "cd12c6aa35b7d6483841517305d57ba167ec78d0"
  },
  "generated_at": "2026-08-23T04:55:42Z",
  "index": {
    "version": "1.4.0"
  },
  "package": {
    "catalog": "community",
    "description": "Integration testing",
    "development_only": false,
    "latest_version": "2.0.0",
    "name": "scripted_testing",
    "selected_version": "2.0.0",
    "versions": [
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "tash",
            "package": "tash",
            "provided_version": "8.7.2",
            "requirement": "^8.7.0",
            "resolved": true,
            "version": "8.7.2"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "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"
        },
        "path": "index/sc/scripted_testing/scripted_testing-2.0.0.toml",
        "version": "2.0.0"
      }
    ]
  },
  "schema_version": 4
}
