Rules and Combination Logic Shortcuts
=====================================

For details refer to `Rules and Combination Logic <rules_logic.html>`_

* **Shell-Script** - Simulated results for tests

  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | output type    | OK   | NOK | PRIO | EXITOK | EXITNOK | EXIT7 | EXIT8 | EXIT9OK3NOK2 | DEFAULT |
  +================+======+=====+======+========+=========+=======+=======+==============+=========+
  | exit-value     | 0    | 0   | 0    | 0      | 1       | 7     | 8     | 9            | 123     |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | stdout         | txt  | txt | txt  | txt    | txt     | txt   | txt   | txt          | txt     |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | stderr         | --   | txt | txt  | --     | --      | --    | txt   | txt          | --      |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+

  .

* **exit values**: Result of flags on the input type of exit values

  The controlling flags for the resulting exit states are:

  * exitign

  * exittype

  * exitokval

  * exitnokval


  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | rule/option    | OK   | NOK | PRIO | EXITOK | EXITNOK | EXIT7 | EXIT8 | EXIT9OK3NOK2 | DEFAULT |
  +================+======+=====+======+========+=========+=======+=======+==============+=========+
  | exitign=True   | 0    | 0   | 0    | 0      | 0       | 0     | 0     | 0            | 0       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exittype=False | 1    | 1   | 1    | 1      | 0       | 0     | 0     | 0            | 0       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exittype=True  | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exitokval=0    | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exitokval=1    | 1    | 1   | 1    | 1      | 0       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exitokval=7    | 1    | 1   | 1    | 1      | 1       | 0     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exitnokval=8   | 0    | 0   | 0    | 0      | 0       | 0     | 1     | 0            | 0       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | exitnokval=123 | 0    | 0   | 0    | 0      | 0       | 0     | 0     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+

  .


* **stdout and stderr**: Flags for output values

  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | rule/option    | OK   | NOK | PRIO | EXITOK | EXITNOK | EXIT7 | EXIT8 | EXIT9OK3NOK2 | DEFAULT |
  +================+======+=====+======+========+=========+=======+=======+==============+=========+
  | stdoutok       | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | stdoutnok      | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | stderrok       | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | stderrnok      | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+


  The match behaviour of the 're' module could be influenced by some flags which are 
  represented as:

  * debug - *re.DEBUG*

  * dotall - *re.DOTALL*

  * ignorecase - *re.IGNORECASE*

  * multiline - *re.MULTILINE*

  * unicode - *re.UNICODE*

  .


* **priorities for ambiguity**: Flags - mixed on exit and output values

  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | rule/option    | OK   | NOK | PRIO | EXITOK | EXITNOK | EXIT7 | EXIT8 | EXIT9OK3NOK2 | DEFAULT |
  +================+======+=====+======+========+=========+=======+=======+==============+=========+
  | priotype       | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+
  | priotype       | 0    | 0   | 0    | 0      | 1       | 1     | 1     | 1            | 1       |
  +----------------+------+-----+------+--------+---------+-------+-------+--------------+---------+

  .


* **counter values**: Counter for success and failure matches

  The provided counters are:

  * result
  * resultnok
  * resultok