# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-from webkitpy.common import multiprocessing_bootstrap
-multiprocessing_bootstrap.run('webkitpy', 'test', 'main.py')
+import os
+import sys
+
+dirname = os.path.dirname
+scripts_dir = dirname(os.path.realpath(__file__))
+chromium_src_dir = dirname(dirname(dirname(dirname(scripts_dir))))
+
+path_to_typ = os.path.join(chromium_src_dir, 'third_party', 'typ')
+if path_to_typ not in sys.path:
+ sys.path.append(path_to_typ)
+
+import typ
+
+if sys.platform == 'win32':
+ # These test fail on win32. We could annotate some of these in
+ # class-level skips, but we don't support package/module-level skips.
+ # bugs.webkit.org/show_bug.cgi?id=54526 .
+ skip = [
+ 'webkitpy.common.checkout.*',
+ 'webkitpy.common.config.*',
+ 'webkitpy.tool.*',
+ 'webkitpy.w3c.*',
+ 'webkitpy.layout_tests.layout_package.bot_test_expectations_unittest.*',
+ ]
+else:
+ # The scm tests are really slow, so we skip them by default.
+ # bugs.webkit.org/show_bug.cgi?id=31818 .
+ skip = [
+ 'webkitpy.common.checkout.scm.scm_unittest.*',
+ ]
+
+sys.exit(typ.main(top_level_dir=scripts_dir,
+ skip=skip,
+ path=[os.path.join(scripts_dir, 'webkitpy', 'thirdparty')],
+ win_multiprocessing='spawn'))