         stdout.should.not.match /\u001b\[\d\dm/
 
     describe 'bail', ->
-      it 'should bail on the first error', ->
+      xit 'should bail on the first error', ->
         { stdout } = yield run
           test: 'mixed'
           bail: true
 
-        stdout.should.match failRegExp 1
+        stdout.should.contain '1 failing'
 
     describe 'file', ->
       it 'pipes reporter output to a file', ->

        code.should.equal 6
        stdout.should.not.match /passes/

    describe 'no-colors', ->
      it 'suppresses color output', ->
        { stdout } = yield run
          test: 'mixed'
          useColors: false

    { stdout } = yield run { test: 'mocha-runner' }
    stdout.should.match /Run callback fired/m

  it 'can use a different reporter', ->
    { stdout } = yield run
      reporter: 'xunit'
      test: 'mixed'
    
    stdout.should.match /<testcase classname="Tests Mixed" name="passes 1" time=".*"\/>/

  describe 'exit code', ->
    it 'returns 0 when all tests pass', ->
      { code } = yield run { test: 'passing' }
      code.should.equal 0

    it 'returns a failing code equal to the number of mocha failures', ->
      { code } = yield run { test: 'failing' }
      code.should.equal 3

    it 'returns a failing code correctly even with async failing tests', ->
      { code } = yield run { test: 'failing-async' }
      code.should.equal 3

  describe 'screenshot', ->
    it 'takes a screenshot into given file, suffixed with .png', ->
      { code } = yield run { test: 'screenshot' }
      code.should.equal 0
      fileName = 'screenshot.png'
      fs.existsSync(fileName).should.be.true
      fs.unlinkSync(fileName)

  describe 'third party reporters', ->
    it 'loads and wraps node-style reporters to run in the browser', ->
      { stdout } = yield run
        reporter: process.cwd() + '/test/reporters/3rd-party.js'
