)]}'
{
  "commit": "81064d7abc3c86cb93b12836eeaaf5a3fbce349e",
  "tree": "794710802cf21bacedf2c94cb692a3d6752dde3d",
  "parents": [
    "46f238477f5e83cba9dc79d1e14c0f6acbeda37b"
  ],
  "author": {
    "name": "Hans-Peter Nilsson",
    "email": "hp@axis.com",
    "time": "Mon Feb 14 23:50:48 2022 +0100"
  },
  "committer": {
    "name": "Hans-Peter Nilsson",
    "email": "hp@bitrange.com",
    "time": "Mon Feb 14 23:50:48 2022 +0100"
  },
  "message": "sim/testsuite: Support \"requires: simoption \u003c--name-of-option\u003e\"\n\nSimulator features can be present or not, typically\ndepending on different-valued configure options, like\n--enable-sim-hardware[\u003doff|\u003don].  To avoid failures in\ntest-suite-runs when testing such configurations, a new\npredicate is needed, as neither \"target\", \"progos\" nor\n\"mach\" fits cleanly.\n\nThe immediate need was to check for presence of a simulator\noption, but rather than a specialized \"requires-simoption:\"\npredicate I thought I\u0027d handle the general (parametrized)\nneed, so here\u0027s a generic predicate machinery and a (first)\npredicate to use together with it; checking whether a\nparticular option is supported, by looking at \"run --help\"\noutput.  This was inspired by the check_effective_target_\nmachinery in the gcc test-suite.\n\nMultiple \"requires: \u003crequirement\u003e \u003cparameter\u003e\" form a list of\npredicates (with parameters), to be used as a conjunction.\n\nsim/testsuite:\n\t* lib/sim-defs.exp (sim_check_requires_simoption): New function.\n\t(run_sim_test): Support \"requires: \u003crequirement\u003e \u003cparameter\u003e\".\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3586fa550765bfae33c04f6ca5062757db9c6a8e",
      "old_mode": 33188,
      "old_path": "sim/testsuite/lib/sim-defs.exp",
      "new_id": "d2750e08b0468accd53433c9966e85706ba83a36",
      "new_mode": 33188,
      "new_path": "sim/testsuite/lib/sim-defs.exp"
    }
  ]
}
