Expose bootstrap methods publicly (#820)

diff --git a/.gitignore b/.gitignore
index 80a5bb9..5865e43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 # Don’t commit the following directories created by pub.
 .buildlog
+.dart_tool/
 .pub/
 build/
 packages
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e2885ee..62eda07 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 0.12.36
+
+* Expose the test bootstrapping methods, so that build systems can precompile
+  tests without relying on internal apis.
+
 ## 0.12.35
 
 * Dropped support for Dart 1. Going forward only Dart 2 will be supported.
diff --git a/lib/bootstrap/browser.dart b/lib/bootstrap/browser.dart
new file mode 100644
index 0000000..b70cf11
--- /dev/null
+++ b/lib/bootstrap/browser.dart
@@ -0,0 +1,5 @@
+// Copyright (c) 2018, 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.
+
+export '../src/bootstrap/browser.dart';
diff --git a/lib/bootstrap/node.dart b/lib/bootstrap/node.dart
new file mode 100644
index 0000000..0214d6b
--- /dev/null
+++ b/lib/bootstrap/node.dart
@@ -0,0 +1,5 @@
+// Copyright (c) 2018, 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.
+
+export '../src/bootstrap/node.dart';
diff --git a/lib/bootstrap/vm.dart b/lib/bootstrap/vm.dart
new file mode 100644
index 0000000..a38b915
--- /dev/null
+++ b/lib/bootstrap/vm.dart
@@ -0,0 +1,5 @@
+// Copyright (c) 2018, 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.
+
+export '../src/bootstrap/vm.dart';
diff --git a/pubspec.yaml b/pubspec.yaml
index d6ecaa4..aa318fa 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test
-version: 0.12.35
+version: 0.12.36
 author: Dart Team <misc@dartlang.org>
 description: A library for writing dart unit tests.
 homepage: https://github.com/dart-lang/test
diff --git a/test/runner/configuration/top_level_test.dart b/test/runner/configuration/top_level_test.dart
index d59f46a..bcfd811 100644
--- a/test/runner/configuration/top_level_test.dart
+++ b/test/runner/configuration/top_level_test.dart
@@ -421,7 +421,7 @@
     expect(test.stdout, emitsThrough(contains('+1: All tests passed!')));
     await test.shouldExit(0);
     await pub.kill();
-  }, tags: 'pub');
+  }, tags: 'pub', skip: 'https://github.com/dart-lang/test/issues/821');
 
   test("uses the specified concurrency", () async {
     await d.file("dart_test.yaml", jsonEncode({"concurrency": 2})).create();
diff --git a/test/runner/pub_serve_test.dart b/test/runner/pub_serve_test.dart
index 20f65a0..1e025ff 100644
--- a/test/runner/pub_serve_test.dart
+++ b/test/runner/pub_serve_test.dart
@@ -4,6 +4,7 @@
 
 @TestOn("vm")
 @Tags(const ["pub"])
+@Skip('https://github.com/dart-lang/test/issues/821')
 
 import 'dart:io';