text: exports['e2e spec_isolation / failing with retries enabled'] = `
  
  ====================================================================================================
  
    (Run Starting)
  
    ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
    │ Cypress:    1.2.3                                                                              │
    │ Browser:    FooBrowser 88                                                                      │
    │ Specs:      2 found (simple_failing_hook_spec.coffee, simple_retrying_spec.js)                 │
    │ Searched:   cypress/integration/simple_failing_hook_spec.coffee, cypress/integration/simple_re │
    │             trying_spec.js                                                                     │
    └────────────────────────────────────────────────────────────────────────────────────────────────┘
  
  
  ────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                      
    Running:  simple_failing_hook_spec.coffee                                                 (1 of 2)
  
  
    simple failing hook spec
      beforeEach hooks
        (Attempt 1 of 2) never gets here
        1) "before each" hook for "never gets here"
      pending
        - is pending
      afterEach hooks
        (Attempt 1 of 2) runs this
        2) "after each" hook for "runs this"
      after hooks
        ✓ runs this
        3) "after all" hook for "fails on this"
  
  
    1 passing
    1 pending
    3 failing
  
    1) simple failing hook spec
         beforeEach hooks
           "before each" hook for "never gets here":
       Error: fail1
  
  Because this error occurred during a \`before each\` hook we are skipping the remaining tests in the current suite: \`beforeEach hooks\`
        [stack trace lines]
  
    2) simple failing hook spec
         afterEach hooks
           "after each" hook for "runs this":
       Error: fail2
  
  Because this error occurred during a \`after each\` hook we are skipping the remaining tests in the current suite: \`afterEach hooks\`
        [stack trace lines]
  
    3) simple failing hook spec
         after hooks
           "after all" hook for "fails on this":
       Error: fail3
  
  Because this error occurred during a \`after all\` hook we are skipping the remaining tests in the current suite: \`after hooks\`
  
  Although you have test retries enabled, we do not retry tests when \`before all\` or \`after all\` hooks fail
        [stack trace lines]
  
  
  
  
    (Results)
  
    ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
    │ Tests:        6                                                                                │
    │ Passing:      1                                                                                │
    │ Failing:      3                                                                                │
    │ Pending:      1                                                                                │
    │ Skipped:      1                                                                                │
    │ Screenshots:  5                                                                                │
    │ Video:        false                                                                            │
    │ Duration:     X seconds                                                                        │
    │ Spec Ran:     simple_failing_hook_spec.coffee                                                  │
    └────────────────────────────────────────────────────────────────────────────────────────────────┘
  
  
    (Screenshots)
  
    -  /XXX/XXX/XXX/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing      (1280x720)
       hook spec -- beforeEach hooks -- never gets here (failed).png                                  
    -  /XXX/XXX/XXX/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing      (1280x720)
       hook spec -- beforeEach hooks -- never gets here -- before each hook (failed) (a               
       ttempt 2).png                                                                                  
    -  /XXX/XXX/XXX/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing      (1280x720)
       hook spec -- afterEach hooks -- runs this -- after each hook (failed).png                      
    -  /XXX/XXX/XXX/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing      (1280x720)
       hook spec -- afterEach hooks -- runs this -- after each hook (failed) (attempt 2               
       ).png                                                                                          
    -  /XXX/XXX/XXX/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing      (1280x720)
       hook spec -- after hooks -- fails on this -- after all hook (failed).png                       
  
  
  ────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                      
    Running:  simple_retrying_spec.js                                                         (2 of 2)
  
  
    simple retrying spec
      (Attempt 1 of 2) t1
      1) t1
      ✓ t2
  
  
    1 passing
    1 failing
  
    1) simple retrying spec
         t1:
       Error: t1 attempt #1
        [stack trace lines]
  
  
  
  
    (Results)
  
    ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
    │ Tests:        2                                                                                │
    │ Passing:      1                                                                                │
    │ Failing:      1                                                                                │
    │ Pending:      0                                                                                │
    │ Skipped:      0                                                                                │
    │ Screenshots:  2                                                                                │
    │ Video:        false                                                                            │
    │ Duration:     X seconds                                                                        │
    │ Spec Ran:     simple_retrying_spec.js                                                          │
    └────────────────────────────────────────────────────────────────────────────────────────────────┘
  
  
    (Screenshots)
  
    -  /XXX/XXX/XXX/cypress/screenshots/simple_retrying_spec.js/simple retrying spec --     (1280x720)
        t1 (failed).png                                                                               
    -  /XXX/XXX/XXX/cypress/screenshots/simple_retrying_spec.js/simple retrying spec --     (1280x720)
        t1 (failed) (attempt 2).png                                                                   
  
  
  ====================================================================================================
  
    (Run Finished)
  
  
         Spec                                              Tests  Passing  Failing  Pending  Skipped  
    ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
    │ ✖  simple_failing_hook_spec.coffee          XX:XX        6        1        3        1        1 │
    ├────────────────────────────────────────────────────────────────────────────────────────────────┤
    │ ✖  simple_retrying_spec.js                  XX:XX        2        1        1        -        - │
    └────────────────────────────────────────────────────────────────────────────────────────────────┘
      ✖  2 of 2 failed (100%)                     XX:XX        8        2        4        1        1  
  
  
  `
  
  exports['e2e spec_isolation fails [electron] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 8,
    "totalTests": 12,
    "totalFailed": 5,
    "totalPassed": 5,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "skipped": 0,
          "failures": 2,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "failures": 2,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple failing spec",
              "fails1"
            ],
            "state": "failed",
            "body": "function() {\n    return cy.wrap(true, {\n      timeout: 100\n    }).should(\"be.false\");\n  }",
            "displayError": "AssertionError: Timed out retrying: expected true to be false\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "AssertionError",
                  "message": "Timed out retrying: expected true to be false",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 3,
                    "column": 35,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  1 | describe \"simple failing spec\", ->\n  2 |   it \"fails1\", ->\n> 3 |     cy.wrap(true, {timeout: 100}).should(\"be.false\")\n    |                                   ^\n  4 | \n  5 |   it \"fails2\", ->\n  6 |     throw new Error(\"fails2\")",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing spec",
              "fails2"
            ],
            "state": "failed",
            "body": "function() {\n    throw new Error(\"fails2\");\n  }",
            "displayError": "Error: fails2\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fails2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 6,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  4 | \n  5 |   it \"fails2\", ->\n> 6 |     throw new Error(\"fails2\")\n    |           ^",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails2 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_spec.coffee",
          "relative": "cypress/integration/simple_failing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before all",
            "title": [
              "\"before all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          },
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple hooks spec",
              "t1"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t1\").should(\"eq\", \"t1\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t2"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t2\").should(\"eq\", \"t2\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t3"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t3\").should(\"eq\", \"t3\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_hooks_spec.coffee",
          "relative": "cypress/integration/simple_hooks_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_hooks_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(1000);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple passing spec",
              "passes"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(true).should(\"be.true\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_passing_spec.coffee",
          "relative": "cypress/integration/simple_passing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_passing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  
  exports['e2e spec_isolation fails [chrome] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 8,
    "totalTests": 12,
    "totalFailed": 5,
    "totalPassed": 5,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "skipped": 0,
          "failures": 2,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "failures": 2,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple failing spec",
              "fails1"
            ],
            "state": "failed",
            "body": "function() {\n    return cy.wrap(true, {\n      timeout: 100\n    }).should(\"be.false\");\n  }",
            "displayError": "AssertionError: Timed out retrying: expected true to be false\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "AssertionError",
                  "message": "Timed out retrying: expected true to be false",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 3,
                    "column": 35,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  1 | describe \"simple failing spec\", ->\n  2 |   it \"fails1\", ->\n> 3 |     cy.wrap(true, {timeout: 100}).should(\"be.false\")\n    |                                   ^\n  4 | \n  5 |   it \"fails2\", ->\n  6 |     throw new Error(\"fails2\")",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing spec",
              "fails2"
            ],
            "state": "failed",
            "body": "function() {\n    throw new Error(\"fails2\");\n  }",
            "displayError": "Error: fails2\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fails2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 6,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  4 | \n  5 |   it \"fails2\", ->\n> 6 |     throw new Error(\"fails2\")\n    |           ^",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails2 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_spec.coffee",
          "relative": "cypress/integration/simple_failing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before all",
            "title": [
              "\"before all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          },
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple hooks spec",
              "t1"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t1\").should(\"eq\", \"t1\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t2"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t2\").should(\"eq\", \"t2\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t3"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t3\").should(\"eq\", \"t3\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_hooks_spec.coffee",
          "relative": "cypress/integration/simple_hooks_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_hooks_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(1000);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple passing spec",
              "passes"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(true).should(\"be.true\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_passing_spec.coffee",
          "relative": "cypress/integration/simple_passing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_passing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  
  exports['e2e spec_isolation fails [firefox] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 8,
    "totalTests": 12,
    "totalFailed": 5,
    "totalPassed": 5,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "skipped": 0,
          "failures": 2,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 0,
          "pending": 0,
          "failures": 2,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple failing spec",
              "fails1"
            ],
            "state": "failed",
            "body": "function() {\n    return cy.wrap(true, {\n      timeout: 100\n    }).should(\"be.false\");\n  }",
            "displayError": "AssertionError: Timed out retrying: expected true to be false\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "AssertionError",
                  "message": "Timed out retrying: expected true to be false",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 3,
                    "column": 35,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  1 | describe \"simple failing spec\", ->\n  2 |   it \"fails1\", ->\n> 3 |     cy.wrap(true, {timeout: 100}).should(\"be.false\")\n    |                                   ^\n  4 | \n  5 |   it \"fails2\", ->\n  6 |     throw new Error(\"fails2\")",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing spec",
              "fails2"
            ],
            "state": "failed",
            "body": "function() {\n    throw new Error(\"fails2\");\n  }",
            "displayError": "Error: fails2\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fails2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 6,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_failing_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
                    "frame": "  4 | \n  5 |   it \"fails2\", ->\n> 6 |     throw new Error(\"fails2\")\n    |           ^",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_spec.coffee/simple failing spec -- fails2 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_spec.coffee",
          "relative": "cypress/integration/simple_failing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 3,
          "passes": 3,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before all",
            "title": [
              "\"before all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          },
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n    return cy.wait(200);\n  }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n    return cy.wait(100);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple hooks spec",
              "t1"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t1\").should(\"eq\", \"t1\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t2"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t2\").should(\"eq\", \"t2\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple hooks spec",
              "t3"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(\"t3\").should(\"eq\", \"t3\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_hooks_spec.coffee",
          "relative": "cypress/integration/simple_hooks_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_hooks_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 0,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 1,
          "passes": 1,
          "pending": 0,
          "failures": 0,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n    return cy.wait(1000);\n  }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple passing spec",
              "passes"
            ],
            "state": "passed",
            "body": "function() {\n    return cy.wrap(true).should(\"be.true\");\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_passing_spec.coffee",
          "relative": "cypress/integration/simple_passing_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_passing_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  
  exports['e2e spec_isolation failing with retries enabled [electron] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 6,
    "totalTests": 8,
    "totalFailed": 4,
    "totalPassed": 2,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 1,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "failures": 1,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple retrying spec",
              "t1"
            ],
            "state": "failed",
            "body": "function () {\n    var test = cy.state('test');\n    throw new Error(\"\".concat(test.title, \" attempt #\").concat(cy.state('test').currentRetry()));\n  }",
            "displayError": "Error: t1 attempt #1\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #0",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple retrying spec",
              "t2"
            ],
            "state": "passed",
            "body": "function () {// pass\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_retrying_spec.js",
          "relative": "cypress/integration/simple_retrying_spec.js",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  
  exports['e2e spec_isolation failing with retries enabled [chrome] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 6,
    "totalTests": 8,
    "totalFailed": 4,
    "totalPassed": 2,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 1,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "failures": 1,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple retrying spec",
              "t1"
            ],
            "state": "failed",
            "body": "function () {\n    var test = cy.state('test');\n    throw new Error(\"\".concat(test.title, \" attempt #\").concat(cy.state('test').currentRetry()));\n  }",
            "displayError": "Error: t1 attempt #1\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #0",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple retrying spec",
              "t2"
            ],
            "state": "passed",
            "body": "function () {// pass\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_retrying_spec.js",
          "relative": "cypress/integration/simple_retrying_spec.js",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  
  exports['e2e spec_isolation failing with retries enabled [firefox] 1'] = {
    "status": "finished",
    "startedTestsAt": "2018-02-01T20:14:19.323Z",
    "endedTestsAt": "2018-02-01T20:14:19.323Z",
    "totalDuration": 5555,
    "totalSuites": 6,
    "totalTests": 8,
    "totalFailed": 4,
    "totalPassed": 2,
    "totalPending": 1,
    "totalSkipped": 1,
    "runs": [
      {
        "stats": {
          "suites": 5,
          "tests": 6,
          "passes": 1,
          "pending": 1,
          "skipped": 1,
          "failures": 3,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 5,
          "tests": 5,
          "passes": 1,
          "pending": 1,
          "failures": 3,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [
          {
            "hookName": "before each",
            "title": [
              "\"before each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail1\");\n    }"
          },
          {
            "hookName": "after each",
            "title": [
              "\"after each\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail2\");\n    }"
          },
          {
            "hookName": "after all",
            "title": [
              "\"after all\" hook"
            ],
            "body": "function() {\n      throw new Error(\"fail3\");\n    }"
          }
        ],
        "tests": [
          {
            "title": [
              "simple failing hook spec",
              "beforeEach hooks",
              "never gets here"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail1\n\nBecause this error occurred during a `before each` hook we are skipping the remaining tests in the current suite: `beforeEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 4,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  2 |   context \"beforeEach hooks\", ->\n  3 |     beforeEach ->\n> 4 |       throw new Error(\"fail1\")\n    |             ^\n  5 | \n  6 |     it \"never gets here\", ->\n  7 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- beforeEach hooks -- never gets here -- before each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "pending",
              "is pending"
            ],
            "state": "pending",
            "body": "",
            "displayError": null,
            "attempts": [
              {
                "state": "pending",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "runs this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail2\n\nBecause this error occurred during a `after each` hook we are skipping the remaining tests in the current suite: `afterEach hooks`",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 13,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  11 |   context \"afterEach hooks\", ->\n  12 |     afterEach ->\n> 13 |       throw new Error(\"fail2\")\n     |             ^\n  14 | \n  15 |     it \"runs this\", ->\n  16 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- afterEach hooks -- runs this -- after each hook (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "afterEach hooks",
              "does not run this"
            ],
            "state": "skipped",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "skipped",
                "error": null,
                "videoTimestamp": null,
                "duration": null,
                "startedAt": null,
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "runs this"
            ],
            "state": "passed",
            "body": "function() {}",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          },
          {
            "title": [
              "simple failing hook spec",
              "after hooks",
              "fails on this"
            ],
            "state": "failed",
            "body": "function() {}",
            "displayError": "Error: fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "fail3\n\nBecause this error occurred during a `after all` hook we are skipping the remaining tests in the current suite: `after hooks`\n\nAlthough you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 21,
                    "column": 13,
                    "originalFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "relativeFile": "cypress/integration/simple_failing_hook_spec.coffee",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
                    "frame": "  19 |   context \"after hooks\", ->\n  20 |     after ->\n> 21 |       throw new Error(\"fail3\")\n     |             ^\n  22 | \n  23 |     it \"runs this\", ->\n  24 | ",
                    "language": "coffee"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_failing_hook_spec.coffee/simple failing hook spec -- after hooks -- fails on this -- after all hook (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_failing_hook_spec.coffee",
          "relative": "cypress/integration/simple_failing_hook_spec.coffee",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_failing_hook_spec.coffee",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      },
      {
        "stats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "skipped": 0,
          "failures": 1,
          "duration": 1234,
          "startedAt": "2018-02-01T20:14:19.323Z",
          "endedAt": "2018-02-01T20:14:19.323Z"
        },
        "reporter": "spec",
        "reporterStats": {
          "suites": 1,
          "tests": 2,
          "passes": 1,
          "pending": 0,
          "failures": 1,
          "start": "2018-02-01T20:14:19.323Z",
          "end": "2018-02-01T20:14:19.323Z",
          "duration": 1234
        },
        "hooks": [],
        "tests": [
          {
            "title": [
              "simple retrying spec",
              "t1"
            ],
            "state": "failed",
            "body": "function () {\n    var test = cy.state('test');\n    throw new Error(\"\".concat(test.title, \" attempt #\").concat(cy.state('test').currentRetry()));\n  }",
            "displayError": "Error: t1 attempt #1\n      [stack trace lines]",
            "attempts": [
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #0",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              },
              {
                "state": "failed",
                "error": {
                  "name": "Error",
                  "message": "t1 attempt #1",
                  "stack": "[stack trace lines]",
                  "codeFrame": {
                    "line": 5,
                    "column": 11,
                    "originalFile": "cypress/integration/simple_retrying_spec.js",
                    "relativeFile": "cypress/integration/simple_retrying_spec.js",
                    "absoluteFile": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
                    "frame": "  3 |     const test = cy.state('test')\n  4 | \n> 5 |     throw new Error(`${test.title} attempt #${cy.state('test').currentRetry()}`)\n    |           ^\n  6 |   })\n  7 | \n  8 |   it('t2', () => {",
                    "language": "js"
                  }
                },
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": [
                  {
                    "name": null,
                    "takenAt": "2018-02-01T20:14:19.323Z",
                    "path": "/foo/bar/.projects/e2e/cypress/screenshots/simple_retrying_spec.js/simple retrying spec -- t1 (failed) (attempt 2).png",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            ]
          },
          {
            "title": [
              "simple retrying spec",
              "t2"
            ],
            "state": "passed",
            "body": "function () {// pass\n  }",
            "displayError": null,
            "attempts": [
              {
                "state": "passed",
                "error": null,
                "videoTimestamp": null,
                "duration": 1234,
                "startedAt": "2018-02-01T20:14:19.323Z",
                "screenshots": []
              }
            ]
          }
        ],
        "error": null,
        "video": null,
        "spec": {
          "name": "simple_retrying_spec.js",
          "relative": "cypress/integration/simple_retrying_spec.js",
          "absolute": "/foo/bar/.projects/e2e/cypress/integration/simple_retrying_spec.js",
          "specType": "integration"
        },
        "shouldUploadVideo": true
      }
    ],
    "browserPath": "path/to/browser",
    "browserName": "FooBrowser",
    "browserVersion": "88",
    "osName": "FooOS",
    "osVersion": "1234",
    "cypressVersion": "9.9.9",
    "config": {}
  }
  