exports['test catch sync error'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    test.equal(e, err);
    test.finish();
  }

  throw e;
};
exports['test catch async error'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    test.equal(err, e);
    test.finish();
  }

  setTimeout(function() {
      throw e;
    }, 500);
};
exports['test sync error fail'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    test.ok(false, 'this fails synchronously');
    test.finish();
  }

  throw e;
};
exports['test async error fail'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    test.ok(false, 'this fails synchronously');
    test.finish();
  }

  setTimeout(function() {
      throw e;
    }, 500);
};
exports['test sync error async fail'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    process.nextTick(function() {
        test.ok(false, 'this fails asynchronously');
        test.finish();
      });
  }

  throw e;
};
exports['test async error async fail'] = function(test) {
  var e = new Error();

  test.uncaughtExceptionHandler = function(err) {
    process.nextTick(function() {
        test.ok(false, 'this fails asynchronously');
        test.finish();
      });
  }

  setTimeout(function() {
      throw e;
    }, 500);
};
exports['test sync error error again'] = function(test) {
  var e = new Error('first error');

  test.uncaughtExceptionHandler = function(err) {
    throw new Error('second error');
  }

  throw e;
};
exports['test async error error again'] = function(test) {
  var e = new Error('first error');

  test.uncaughtExceptionHandler = function(err) {
    throw new Error('second error');
  }

  setTimeout(function() {
      throw e;
    }, 500);
};
exports['test sync error error again async'] = function(test) {
  var e = new Error('first error');

  test.uncaughtExceptionHandler = function(err) {
    process.nextTick(function() {
        throw new Error('second error');
      });
  }

  throw e;
};
exports['test async error error again async'] = function(test) {
  var e = new Error('first error');

  test.uncaughtExceptionHandler = function(err) {
    process.nextTick(function() {
        throw new Error('second error');
      });
  }

  setTimeout(function() {
      throw e;
    }, 500);
};

if (module == require.main) {
  require('../lib/async_testing').run(__filename, process.ARGV);
}

@@ -773,32 +773,33 @@
 se, 'this fails 
+a
 synchronously');
@@ -791,32 +791,32 @@
 ynchronously');%0A
-
     test.finish(
@@ -1015,46 +1015,8 @@
 ) %7B%0A
-    process.nextTick(function() %7B%0A    
     
@@ -1028,39 +1028,39 @@
 ok(false, 'this 
-fail
+error
 s 
-a
 synchronously');
@@ -1052,36 +1052,32 @@
 ynchronously');%0A
-    
     test.finish(
@@ -1075,34 +1075,24 @@
 t.finish();%0A
-      %7D);%0A
   %7D%0A%0A  throw
@@ -1234,46 +1234,8 @@
 ) %7B%0A
-    process.nextTick(function() %7B%0A    
     
@@ -1247,36 +1247,37 @@
 ok(false, 'this 
-fail
+error
 s asynchronously
@@ -1280,20 +1280,16 @@
 usly');%0A
-    
     test
@@ -1299,26 +1299,16 @@
 nish();%0A
-      %7D);%0A
   %7D%0A%0A  s

Fix inproperly labelled assertions.