)]}'
{
  "commit": "60609a39ee5040513ec16671258ace4382bffcee",
  "tree": "d87531371ffaa0467fdb213b8ef602f44b84a6f3",
  "parents": [
    "7aa4ec6ebe6f0f5108e9af77c9bd010f671767f2"
  ],
  "author": {
    "name": "Matt Stark",
    "email": "msta@google.com",
    "time": "Fri Jun 05 14:22:05 2026 +1000"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jul 06 21:30:31 2026 -0700"
  },
  "message": "Create starlark testutils crate\n\nThis CL introduces a mechanism to create a fake test object that supports EvalContext.\nThis allows us to write tests for crates that depend on an EvalContext\nwithout touching any GN code.\n\nBug: 528225104\nChange-Id: I637f984205e5fb7910f42dc15f0a80d16a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/23540\nReviewed-by: Cole Faust \u003ccolefaust@google.com\u003e\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f68f352544cf9358c43bdff959deada2f35f7c21",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/Cargo.lock",
      "new_id": "0444f96f720ab9919121f82bbcda92bcdf6daeaf",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/Cargo.lock"
    },
    {
      "type": "modify",
      "old_id": "9d2a06d297b2f52bdc72c9b73cf4e62bd156db58",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/Cargo.toml",
      "new_id": "dc9b615c5d2a09628858636a49b5370155887171",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/Cargo.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3077538f449311e1718506d57cbef5660508fc0",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/Cargo.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9bbb8f3f4517d86498d7c1a79feb74284e8387bc",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/assert.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bb9752b90b0059fd1d3e221d64ecf76e91ccb76",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/eval_context.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52a4b4c52fc2c8ec46b66472074a32f931f64383",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "26d918e215f711dcc936e635d43764c445b86453",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/session.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a60a9681321b2dc34f5ca891e8440e00037ac96c",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/target.rs"
    },
    {
      "type": "modify",
      "old_id": "65a6cda703709c2c673866462d365460b631ff2c",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/types/src/eval_context.rs",
      "new_id": "f23ae6c7a431b1c3935a72922a5096a34da27fce",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/eval_context.rs"
    },
    {
      "type": "modify",
      "old_id": "c43dd5f26cf368f38046358e7247bf0e6f07123f",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/types/src/lib.rs",
      "new_id": "40e565f2684d931ecd0ba913dae540d3efc20731",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5bb4ad6c1cf199cc36994fba32a4b95dc328c45f",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/unpacked_owned_value.rs"
    }
  ]
}
