anchor.diff:      results = parser.parse(args);
     } catch (e) {
       stdout.writeln('$e\n');
  -    results = null;
  -  }
  -
  -  if (results == null) {
  -    print(parser.usage);
  -    exit(0);
  -  }
  -
  -  verbose = results['verbose'] == true;
  -
  -  await init(
  -      host: results['host'],
  -      port: int.parse(results['port']),
  -      transportType: results['transport'],
  -      protocolType: results['protocol']).then((_) {
  -    exit(0);
  -  }).catchError((e) {
  -    stdout.writeln('Error:');
  -    stdout.writeln('$e');
  -    if (e is Error) {
  -      stdout.writeln('${e.stackTrace}');
  -    }
  -    exit(1);
  -  });
  -  exit(0);
  +  }
  +
  +  if (results == null) stdout.write(parser.usage);
  +
  +  return results;
   }
   
   TProtocolFactory getProtocolFactory(String protocolType) {
  
positive.code:   throw new ArgumentError.value(protocolType);
  }
  
  Future init(
      {String host, int port, String transportType, String protocolType}) async {
    TTransport transport;
    var protocolFactory = getProtocolFactory(protocolType);
  
negative.code: 
      var result = await client.testMulti(input.byte_thing, input.i32_thing,
          input.i64_thing, {1: 'one'}, Numberz.EIGHT, 5678);
      if ('$result' != '$input') throw new TTestError(result, input);
    }));
  
    tests.add(new TTest(TEST_EXCEPTIONS, 'testException', () async {
      try {
        await client.testException('Xception');
      } on Xception catch (x) {
        return;
      }
  
      throw new TTestError(null, 'Xception');
    }));
  
    tests.add(new TTest(TEST_EXCEPTIONS, 'testMultiException', () async {
      try {
        await client.testMultiException('Xception2', 'foo');
      } on Xception2 catch (x) {
        return;
      }
  
      throw new TTestError(null, 'Xception2');
    }));
  
    return tests;
  }
  
  Future _testEnum(int input) async {
    var result = await client.testEnum(input);
    if (result != input) throw new TTestError(result, input);
  }
  