)]}'
{
  "commit": "7d42a93a55aa1d3a8778eb80bc690cf6e90eb769",
  "tree": "ba8d1c792f0e55b19eb6bcc3a3af789ba3e245e7",
  "parents": [
    "a6cd158eeaa5d887480e90351596c94d32b18bce"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Tue Sep 10 14:42:36 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 10 21:42:36 2024 +0000"
  },
  "message": "tests: make precompile tests pass when other toolchains are defined (#2213)\n\nThis makes the precompile_tests pass when the environment defines custom\ntoolchains that\ndon\u0027t match what rules_python defines in its dev environment. This keeps\nthe tests\nindependent of whatever the user\u0027s environment is.\n\nBasically, the tests rely on a fake Python version 4.5 toolchain for the\nprecompiler being\ndefined. They pass today because they fallback to a real toolchain (as\nsetup by\nMODULE.bazel), which doesn\u0027t have any version constraints on it. In\ncomparison, within\nGoogle, there is no \"default\" toolchain, so the tests fail to find what\nthey need.\n\nTo fix, explicitly define a fake precompiler toolchain and tell the test\nto use it.\n\nAlong the way:\n* Also force `--allow_unresolved_symlinks\u003dtrue` in the tests. This flag\nisn\u0027t enabled in\n  certain environments, but is implicitly relied upon by the\n`current_interpreter_executable` rule when a platform runtime is used\n(as they are in\n  the tests).\n* Move the Python testing toolchains to support/py_toolchains, to match\nwhere the cc\n  testing toolchains were moved.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e2ffdc8bb4c86ce2502c2866bb250773d582830f",
      "old_mode": 33188,
      "old_path": "tests/base_rules/precompile/precompile_tests.bzl",
      "new_id": "4c0f936ac554129adccee14c236ef2e9e1aa9496",
      "new_mode": 33188,
      "new_path": "tests/base_rules/precompile/precompile_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "58c74d6d483591b50511112679812070c4f99542",
      "old_mode": 33188,
      "old_path": "tests/support/BUILD.bazel",
      "new_id": "9fb5cd0760fc65e5f21d8da4dc311cdcfd15a915",
      "new_mode": 33188,
      "new_path": "tests/support/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "185c7ae2da2f29f2289b190b666ffc4c876088a8",
      "new_mode": 33188,
      "new_path": "tests/support/py_toolchains/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b7d8fa9fa6507d816a18483a31669e6d1e38b882",
      "old_mode": 33188,
      "old_path": "tests/support/support.bzl",
      "new_id": "150ca7f4a41cec9018eadb558fe3aa3bea60611a",
      "new_mode": 33188,
      "new_path": "tests/support/support.bzl"
    }
  ]
}
