diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0fee13..b620ac3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.8+1
+
+* Use the new `test` package runner internally.
+
 # 0.1.8
 
 * Update to latest `analyzer` and `args` packages.
diff --git a/pubspec.lock b/pubspec.lock
index 7c2ef77..5fd256c 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -4,11 +4,19 @@
   analyzer:
     description: analyzer
     source: hosted
-    version: "0.25.0"
+    version: "0.25.0+1"
   args:
     description: args
     source: hosted
-    version: "0.13.0"
+    version: "0.13.2"
+  async:
+    description: async
+    source: hosted
+    version: "1.2.0"
+  barback:
+    description: barback
+    source: hosted
+    version: "0.15.2+4"
   browser:
     description: browser
     source: hosted
@@ -16,11 +24,15 @@
   collection:
     description: collection
     source: hosted
-    version: "1.1.0"
+    version: "1.1.1"
   crypto:
     description: crypto
     source: hosted
     version: "0.9.0"
+  glob:
+    description: glob
+    source: hosted
+    version: "1.0.4"
   http:
     description: http
     source: hosted
@@ -32,23 +44,51 @@
   http_parser:
     description: http_parser
     source: hosted
-    version: "0.0.2+6"
+    version: "0.0.2+7"
   matcher:
     description: matcher
     source: hosted
-    version: "0.11.4+4"
+    version: "0.12.0+1"
+  mime:
+    description: mime
+    source: hosted
+    version: "0.9.3"
   path:
     description: path
     source: hosted
     version: "1.3.5"
+  pool:
+    description: pool
+    source: hosted
+    version: "1.1.0"
+  pub_semver:
+    description: pub_semver
+    source: hosted
+    version: "1.2.1"
   scheduled_test:
     description: scheduled_test
     source: hosted
-    version: "0.11.8"
+    version: "0.12.1+2"
   shelf:
     description: shelf
     source: hosted
-    version: "0.6.1+1"
+    version: "0.6.1+2"
+  shelf_static:
+    description: shelf_static
+    source: hosted
+    version: "0.2.2"
+  shelf_web_socket:
+    description: shelf_web_socket
+    source: hosted
+    version: "0.0.1+2"
+  source_map_stack_trace:
+    description: source_map_stack_trace
+    source: hosted
+    version: "1.0.4"
+  source_maps:
+    description: source_maps
+    source: hosted
+    version: "0.10.1"
   source_span:
     description: source_span
     source: hosted
@@ -56,16 +96,20 @@
   stack_trace:
     description: stack_trace
     source: hosted
-    version: "1.3.1"
+    version: "1.3.4"
   string_scanner:
     description: string_scanner
     source: hosted
     version: "0.1.3+1"
-  unittest:
-    description: unittest
+  test:
+    description: test
     source: hosted
-    version: "0.11.5+4"
+    version: "0.12.3+4"
   watcher:
     description: watcher
     source: hosted
-    version: "0.9.5"
+    version: "0.9.6"
+  yaml:
+    description: yaml
+    source: hosted
+    version: "2.1.3"
diff --git a/pubspec.yaml b/pubspec.yaml
index 9f81841..ae66087 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: dart_style
-version: 0.1.8
+version: 0.1.8+1
 author: Dart Team <misc@dartlang.org>
 description: Opinionated, automatic Dart source code formatter.
 homepage: https://github.com/dart-lang/dart_style
@@ -10,8 +10,8 @@
   source_span: '>=1.0.0 <2.0.0'
 dev_dependencies:
   browser: '>=0.10.0 <0.11.0'
-  scheduled_test: '>=0.11.2 <0.12.0'
-  unittest: '>=0.11.0 <0.12.0'
+  scheduled_test: '>=0.12.0 <0.13.0'
+  test: '>=0.12.0 <0.13.0'
 executables:
   dartfmt: format
   dartformat: format # Allow the old name for compatibility.
diff --git a/test/formatter_test.dart b/test/formatter_test.dart
index 5f4ea11..050cab2 100644
--- a/test/formatter_test.dart
+++ b/test/formatter_test.dart
@@ -5,19 +5,14 @@
 library dart_style.test.formatter_test;
 
 import 'dart:io';
+import 'dart:mirrors';
 
 import 'package:path/path.dart' as p;
-import 'package:unittest/compact_vm_config.dart';
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 
 import 'package:dart_style/dart_style.dart';
 
 void main() {
-  // Tidy up the unittest output.
-  filterStacks = true;
-  formatStacks = true;
-  useCompactVMConfiguration();
-
   testDirectory("comments");
   testDirectory("regression");
   testDirectory("selections");
@@ -113,8 +108,16 @@
 void testDirectory(String name) {
   var indentPattern = new RegExp(r"^\(indent (\d+)\)\s*");
 
-  var dir = p.join(p.dirname(p.fromUri(Platform.script)), name);
-  for (var entry in new Directory(dir).listSync()) {
+  // Locate the "test" directory. Use mirrors so that this works with the test
+  // package, which loads this suite into an isolate.
+  var testDir = p.dirname(currentMirrorSystem()
+      .findLibrary(#dart_style.test.formatter_test)
+      .uri
+      .path);
+
+  var entries = new Directory(p.join(testDir, name))
+      .listSync(recursive: true, followLinks: false);
+  for (var entry in entries) {
     if (!entry.path.endsWith(".stmt") && !entry.path.endsWith(".unit")) {
       continue;
     }
diff --git a/test/source_code_test.dart b/test/source_code_test.dart
index ed146a1..2361ca7 100644
--- a/test/source_code_test.dart
+++ b/test/source_code_test.dart
@@ -4,7 +4,7 @@
 
 library dart_style.test.source_code_test;
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 
 import 'package:dart_style/dart_style.dart';
 
diff --git a/test/utils.dart b/test/utils.dart
index 8fba63d..2c555d0 100644
--- a/test/utils.dart
+++ b/test/utils.dart
@@ -10,7 +10,6 @@
 import 'package:scheduled_test/descriptor.dart' as d;
 import 'package:scheduled_test/scheduled_process.dart';
 import 'package:scheduled_test/scheduled_test.dart';
-import 'package:unittest/compact_vm_config.dart';
 
 const unformattedSource = 'void  main()  =>  print("hello") ;';
 const formattedSource = 'void main() => print("hello");\n';
@@ -19,8 +18,7 @@
 ScheduledProcess runFormatter([List<String> args]) {
   if (args == null) args = [];
 
-  var formatterPath = p.join(
-      p.dirname(p.fromUri(Platform.script)), "..", "bin", "format.dart");
+  var formatterPath = p.join("bin", "format.dart");
 
   args.insert(0, formatterPath);
 
@@ -44,11 +42,6 @@
 /// Configures the unit test output and makes a sandbox directory for the
 /// scheduled tests to run in.
 void setUpTestSuite() {
-  // Tidy up the unittest output.
-  filterStacks = true;
-  formatStacks = true;
-  useCompactVMConfiguration();
-
   // Make a sandbox directory for the scheduled tests to run in.
   setUp(() {
     var tempDir = Directory.systemTemp.createTempSync('dart_style.test.');
