diff --git a/.gitignore b/.gitignore
index 388eff0..7dbf035 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
 .pub/
 build/
 packages
+.packages
 
 # Or the files created by dart2js.
 *.dart.js
diff --git a/.status b/.status
deleted file mode 100644
index bfc58fc..0000000
--- a/.status
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2014, 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.
-
-# Skip non-test files ending with "_test".
-packages/*: Skip
-*/packages/*: Skip
-*/*/packages/*: Skip
-*/*/*/packages/*: Skip
-*/*/*/*packages/*: Skip
-*/*/*/*/*packages/*: Skip
-
-# Only run tests from the build directory, since we don't care about the
-# difference between transformed an untransformed code.
-test/*: Skip
-
-[ $browser ]
-build/test/io_test: Fail, OK # Uses dart:io.
-
-[ $runtime == vm ]
-build/test/browser_test: Fail, OK # Uses dart:html
diff --git a/.test_config b/.test_config
new file mode 100644
index 0000000..412fc5c
--- /dev/null
+++ b/.test_config
@@ -0,0 +1,3 @@
+{
+  "test_package": true
+}
\ No newline at end of file
diff --git a/pubspec.yaml b/pubspec.yaml
index 6ba3a15..e669844 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: path
-version: 1.3.6
+version: 1.3.7-dev
 author: Dart Team <misc@dartlang.org>
 description: >
  A string-based path manipulation library. All of the path operations you know
@@ -7,6 +7,6 @@
  machines.
 homepage: http://github.com/dart-lang/path
 dev_dependencies:
-  unittest: ">=0.9.0 <0.12.0"
+  test: ">=0.12.0 <0.13.0"
 environment:
   sdk: ">=1.0.0 <2.0.0"
diff --git a/test/browser_test.dart b/test/browser_test.dart
index 0b56c7a..b329146 100644
--- a/test/browser_test.dart
+++ b/test/browser_test.dart
@@ -2,15 +2,14 @@
 // 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.
 
+@TestOn('browser')
+
 import 'dart:html';
 
-import 'package:unittest/unittest.dart';
-import 'package:unittest/html_config.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 main() {
-  useHtmlConfiguration();
-
   group('new Context()', () {
     test('uses the window location if root and style are omitted', () {
       var context = new path.Context();
diff --git a/test/io_test.dart b/test/io_test.dart
index e855522..f15f82d 100644
--- a/test/io_test.dart
+++ b/test/io_test.dart
@@ -2,9 +2,11 @@
 // 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.
 
+@TestOn('vm')
+
 import 'dart:io' as io;
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 main() {
diff --git a/test/path_test.dart b/test/path_test.dart
index 19397cf..b45f8dc 100644
--- a/test/path_test.dart
+++ b/test/path_test.dart
@@ -2,7 +2,7 @@
 // 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.
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 main() {
diff --git a/test/posix_test.dart b/test/posix_test.dart
index 2368d99..d6d7a90 100644
--- a/test/posix_test.dart
+++ b/test/posix_test.dart
@@ -4,7 +4,7 @@
 
 library path.test.posix_test;
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 import 'utils.dart';
diff --git a/test/relative_test.dart b/test/relative_test.dart
index 57a9046..3cf02dc 100644
--- a/test/relative_test.dart
+++ b/test/relative_test.dart
@@ -4,7 +4,7 @@
 //
 // Test "relative" on all styles of path.Context, on all platforms.
 
-import "package:unittest/unittest.dart";
+import "package:test/test.dart";
 import "package:path/path.dart" as path;
 
 import "utils.dart";
diff --git a/test/url_test.dart b/test/url_test.dart
index 854e19a..1188129 100644
--- a/test/url_test.dart
+++ b/test/url_test.dart
@@ -2,7 +2,7 @@
 // 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.
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 main() {
diff --git a/test/utils.dart b/test/utils.dart
index 1730798..7d917a0 100644
--- a/test/utils.dart
+++ b/test/utils.dart
@@ -4,7 +4,7 @@
 
 library path.test.utils;
 
-import "package:unittest/unittest.dart";
+import "package:test/test.dart";
 import "package:path/path.dart" as path;
 
 /// A matcher for a closure that throws a [path.PathException].
diff --git a/test/windows_test.dart b/test/windows_test.dart
index 6942837..a32f1fe 100644
--- a/test/windows_test.dart
+++ b/test/windows_test.dart
@@ -4,7 +4,7 @@
 
 library path.test.windows_test;
 
-import 'package:unittest/unittest.dart';
+import 'package:test/test.dart';
 import 'package:path/path.dart' as path;
 
 import 'utils.dart';
@@ -13,7 +13,7 @@
   var context =
       new path.Context(style: path.Style.windows, current: r'C:\root\path');
 
-  group('separator', () {
+  test('separator', () {
     expect(context.separator, '\\');
   });
 
