Make minidump tests Python 3-compatible

Makes it possible to run //tools/perf/core/minidump_unittests.py under
Python 3 on Linux. Other platforms may work, but have not yet been
verified.

Bug: 1198237
Change-Id: I2ba57111eb8704d446fd42f4a2d229252ec9627e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3169966
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: David Schinazi <dschinazi@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#926914}
NOKEYCHECK=True
GitOrigin-RevId: f9ffd52ad608b7302976b3557f5fb6d3c8f4fffe
diff --git a/testserver.py.vpython3 b/testserver.py.vpython3
new file mode 100644
index 0000000..a1af4ec
--- /dev/null
+++ b/testserver.py.vpython3
@@ -0,0 +1,48 @@
+# This is a vpython "spec" file.
+#
+# It describes patterns for python wheel dependencies of the python scripts in
+# the chromium repo, particularly for dependencies that have compiled components
+# (since pure-python dependencies can be easily vendored into third_party).
+#
+# When vpython is invoked, it finds this file and builds a python VirtualEnv,
+# containing all of the dependencies described in this file, fetching them from
+# CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`,
+# this never requires the end-user machine to have a working python extension
+# compilation environment. All of these packages are built using:
+#   https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/
+#
+# All python scripts in the repo share this same spec, to avoid dependency
+# fragmentation.
+#
+# If you have depot_tools installed in your $PATH, you can invoke python scripts
+# in this repo by running them as you normally would run them, except
+# substituting `vpython` instead of `python` on the command line, e.g.:
+#   vpython path/to/script.py some --arguments
+#
+# Read more about `vpython` and how to modify this file here:
+#   https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
+
+# This Python file gets its own vpython spec since it doesn't actually need that
+# many dependencies and trying to load all dependencies from the main .vpython3
+# spec on ChromeOS VMs runs into disk space issues.
+
+python_version: "3.8"
+
+# The default set of platforms vpython checks does not yet include mac-arm64.
+# Setting `verify_pep425_tag` to the list of platforms we explicitly must support
+# allows us to ensure that vpython specs stay mac-arm64-friendly
+verify_pep425_tag: [
+    {python: "cp38", abi: "cp38", platform: "manylinux1_x86_64"},
+    {python: "cp38", abi: "cp38", platform: "linux_arm64"},
+
+    {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"},
+    {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"},
+
+    {python: "cp38", abi: "cp38", platform: "win32"},
+    {python: "cp38", abi: "cp38", platform: "win_amd64"}
+]
+
+wheel: <
+  name: "infra/python/wheels/six-py2_py3"
+  version: "version:1.15.0"
+>