)]}'
{
  "commit": "04383224f1a7c848ebb162b00501e76680765aef",
  "tree": "2d823569f63a6088f8c098756ac2e3044e41f821",
  "parents": [
    "2f39ff47ac1e8d7649266b8473c31d48a7275417"
  ],
  "author": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Mon Nov 30 16:51:45 2020 -0800"
  },
  "committer": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Mon Nov 30 17:09:44 2020 -0800"
  },
  "message": "Remove `test_runner`\u0027s dependence on `async-std` and `tokio`.\n\n`test_runner` used both `async-std` and `tokio` to implement a timeout on test execution. This brought in a *large* dependency tree. Some of the crates in that dependency tree (e.g. `value-bag`) assume that if you\u0027re on nightly Rust, you have an up to date compiler. At the moment, this is breaking `libtock-rs`\u0027 CI: `value-bag` does not build with the toolchain `libtock-rs` uses.\n\nI tried to update the compiler, but newer compilers SIGSEGV somewhere in `libtock-rs`. Rather than investigating that (which will likely be very time-consuming), I decided to remove `libtock-rs`\u0027 dependency on `value-bag`. This required removing `test_runner`\u0027s dependency on both `tokio` and `async-std`.\n\nI replaced the timeout functionality by spawning a second thread that waits for 10 seconds then kills QEMU.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66a407a46659868430ecf36390e13e589b180798",
      "old_mode": 33188,
      "old_path": "test_runner/Cargo.toml",
      "new_id": "94711387f84f1519be49df6fe462d488bf291b79",
      "new_mode": 33188,
      "new_path": "test_runner/Cargo.toml"
    },
    {
      "type": "modify",
      "old_id": "0bea1cfb2938cb94729b7f7e30a8b993dec4286a",
      "old_mode": 33188,
      "old_path": "test_runner/src/main.rs",
      "new_id": "b21b945cfe2609f1b98ea141d2e2d00bce56c166",
      "new_mode": 33188,
      "new_path": "test_runner/src/main.rs"
    }
  ]
}
