title: How does allure get the test status in categories.json
body: <p>After executing test I am getting the XML files in <code>allure-results</code> directory. From there I am generating the HTML report using the command:</p>
  
  <pre><code>allure generate allure-results --clean -o allure-report
  </code></pre>
  
  <p>In <code>allure-results</code> I have a <code>categories.json</code> file, which is used to categorize tests in the HTML report based on its result (eg: passed, broken, failed, ...). I believe this categorization is done by allure.</p>
  
  <p>So I want to know on what basis allure does this categorization.</p>
  
  <p><strong>categories.json</strong></p>
  
  <pre><code>{
    "name": "Ignored tests",
    "messageRegex": ".*ignored.*",
    "matchedStatuses": [ "skipped" ],
    "flaky": true
  },
  {
    "name": "Infrastructure problems",
    "traceRegex": ".*RuntimeException.*",
    "matchedStatuses": [ "broken", "failed" ]
  },
  {
    "name": "Outdated tests",
    "messageRegex": ".*FileNotFound.*",
    "matchedStatuses": [ "broken" ]
  },
  {
    "name": "Passed",
    "messageRegex": ".*",
    "matchedStatuses": [ "passed" ]
  }
  </code></pre>
  
  <p>Sample test report image:</p>
  
  <p><a href="https://i.stack.imgur.com/4yMbT.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4yMbT.png" alt="enter image description here"></a></p>