)]}'
{
  "commit": "ee72c976c488e98cc6b1a58989f90861f87ec377",
  "tree": "0fc7616d10983db4832c6e1fd7a9c94b9fcd4f7a",
  "parents": [
    "58faa3c2d65452a1a7c7cb407a4f27d8f89f87fb"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Mon Jun 08 19:15:03 2020 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Jun 09 13:10:39 2020 -0400"
  },
  "message": "tests: support building Linux tests in-tree\n\nPreviously, you had to manually invoke gcc to build the tests.  Now,\nanytime you make tests, you\u0027ll also get the Linux version.  The tests\nthat are built for both OSes are specified manually in the Makefile.\n\nThis will also build any Linux modules in tests/linux/modules/.  You\u0027ll\nneed to provide LINUX_KDIR, e.g. in your Makelocal.  This is for tests\nthat need kernel support, such as the upcoming lock_test mcs-kernel mode.\n\nYou can also build these programs directly by cd-ing into tests/linux\nand running Make.  This won\u0027t use any of the top-level Makefile\nfeatures (including Makelocal settings).  It\u0027s convenient if you don\u0027t\nwant to build Akaros (toolchain recompile, etc.).\n\nEither way, the test binaries will appear in tests/linux/obj/.  The\ntop-level obj/ is just for Akaros\u0027s build output.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "70766a6ddab52d460ef59d9b184a04605179c8c3",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "6b3f1dca6e062bdf3796d2e576d22666a5babc91",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "098cf931271eaa63571213e0d232c55f0081df0d",
      "old_mode": 33188,
      "old_path": "Makelocal.template",
      "new_id": "e9c489783d04a3d4cff9dca4f92b13086d036e30",
      "new_mode": 33188,
      "new_path": "Makelocal.template"
    },
    {
      "type": "modify",
      "old_id": "b8c4095ffbd93663a73ef55d9c8c6df50749b8aa",
      "old_mode": 33188,
      "old_path": "tests/Makefile",
      "new_id": "d7f46f14b00fae4f40d9f4dba03e5b5c7aaadab5",
      "new_mode": 33188,
      "new_path": "tests/Makefile"
    },
    {
      "type": "modify",
      "old_id": "8196ff74a07c0f0854be1c129e06ab3879bff1e4",
      "old_mode": 33188,
      "old_path": "tests/interference.c",
      "new_id": "bcc303dbecbb7a85e013f06277a38ed5052017e8",
      "new_mode": 33188,
      "new_path": "tests/interference.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8f1e591cc369942624a701f9aa8963ba55a7730",
      "new_mode": 33188,
      "new_path": "tests/linux/Makefile"
    },
    {
      "type": "rename",
      "old_id": "8596443fa1b1d81344d53dbb38af3c85cb98fa7b",
      "old_mode": 33188,
      "old_path": "tests/linux-lock-hacks.h",
      "new_id": "6da938be85c0a6fb88a25b2b4fd5236b5b18f98c",
      "new_mode": 33188,
      "new_path": "tests/linux/linux-lock-hacks.h",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "08f472f6203cb0b6bb3913b0d9b6c5bb73104f52",
      "old_mode": 33188,
      "old_path": "tests/misc-compat.h",
      "new_id": "e6832e47a396a03799a32a0afc5d844d78885247",
      "new_mode": 33188,
      "new_path": "tests/linux/misc-compat.h",
      "score": 93
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1a86f5ee4a2e6a63875bde0af1119c1acf337913",
      "new_mode": 33188,
      "new_path": "tests/linux/modules/.gitignore"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4517f23f0c0817e6beb33f4313d3fb163d6b62ae",
      "new_mode": 33188,
      "new_path": "tests/linux/modules/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "e1a985df7923e9811d811f01894ff6b54fa4cd12",
      "old_mode": 33188,
      "old_path": "tests/lock_test.c",
      "new_id": "a02d7fb531cb22066735ef7d04ec38722faaeb15",
      "new_mode": 33188,
      "new_path": "tests/lock_test.c"
    },
    {
      "type": "modify",
      "old_id": "d5bb46b38910746eccdf713164e71ef668a81f68",
      "old_mode": 33188,
      "old_path": "tests/pthread_switch.c",
      "new_id": "7ef0e7459fad4f988db972fbda350263bc332190",
      "new_mode": 33188,
      "new_path": "tests/pthread_switch.c"
    },
    {
      "type": "modify",
      "old_id": "e7f568d1c9f08af8b5559a41be2b6d4f6ddc9862",
      "old_mode": 33188,
      "old_path": "tests/pthread_test.c",
      "new_id": "0d2b3e0a049c7e5db7a0b45fa146fcaafd37d525",
      "new_mode": 33188,
      "new_path": "tests/pthread_test.c"
    },
    {
      "type": "modify",
      "old_id": "299024be55e905df83ae57bab4f2814451abb940",
      "old_mode": 33188,
      "old_path": "user/benchutil/measure.c",
      "new_id": "d57459f3926de74e55ec2fe71e1034c8a5a66a66",
      "new_mode": 33188,
      "new_path": "user/benchutil/measure.c"
    },
    {
      "type": "modify",
      "old_id": "d85742e7826d9bc1b5e89a1eacba4d70450419b7",
      "old_mode": 33188,
      "old_path": "user/pthread/pthread.h",
      "new_id": "88b33805805dbdca2e82e2970eb6f8b42f913eeb",
      "new_mode": 33188,
      "new_path": "user/pthread/pthread.h"
    }
  ]
}
