support travis and coveralls

R=lrn@google.com

Review URL: https://codereview.chromium.org//1026363003
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..02caa43
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,6 @@
+language: dart
+sudo: false
+dart:
+  - dev
+  - stable
+script: ./tool/travis.sh
diff --git a/README.md b/README.md
index d2cbe08..a242f11 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
-# isolate
+[![Build Status](https://travis-ci.org/dart-lang/isolate.svg?branch=master)](https://travis-ci.org/dart-lang/isolate)
+[![Coverage Status](https://coveralls.io/repos/dart-lang/isolate/badge.svg?branch=master)](https://coveralls.io/r/dart-lang/isolate)
 
-The `isolate` package helps with isolates and isolate communication.
+Helps with isolates and isolate communication in Dart.
 
 The package contains individual libraries with different purposes.
 
diff --git a/test/test_all.dart b/test/test_all.dart
new file mode 100644
index 0000000..663ce38
--- /dev/null
+++ b/test/test_all.dart
@@ -0,0 +1,17 @@
+// Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library isolate.test.test_all;
+
+import 'package:unittest/unittest.dart';
+
+import 'isolaterunner_test.dart' as isolaterunner;
+import 'ports_test.dart' as ports;
+import 'registry_test.dart' as registy;
+
+void main() {
+  group('IsolateRunner', isolaterunner.main);
+  group('ports', ports.main);
+  group('registry', registy.main);
+}
diff --git a/tool/travis.sh b/tool/travis.sh
new file mode 100755
index 0000000..ffcdf89
--- /dev/null
+++ b/tool/travis.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# Fast fail the script on failures.   
+set -e
+
+# Run the tests.
+dart --checked test/test_all.dart
+
+# Install dart_coveralls; gather and send coverage data.
+if [ "$COVERALLS_TOKEN" ] && [ "$TRAVIS_DART_VERSION" = "stable" ]; then
+  pub global activate dart_coveralls
+  pub global run dart_coveralls report \
+    --token $COVERALLS_TOKEN \
+    --retry 2 \
+    --exclude-test-files \
+    test/test_all.dart
+fi
\ No newline at end of file