1[
2  {
3    "wd": "/tmp/stable",
4    "env": [
5      "BISECT_STAGE=someBisectStage",
6      "HOME=/user/home"
7    ],
8    "wrapper": {
9      "cmd": {
10        "path": "/tmp/stable/clang",
11        "args": [
12          "main.cc"
13        ]
14      }
15    },
16    "cmds": [
17      {
18        "cmd": {
19          "path": "/usr/bin/env",
20          "args": [
21            "python3",
22            "-c",
23            "\nimport bisect_driver\nimport shlex\nimport sys\n\ndef ExpandArgs(args, target):\n\tfor arg in args:\n\t\tif arg[0] == '@':\n\t\t\twith open(arg[1:], 'r', encoding='utf-8') as f:\n\t\t\t\tExpandArgs(shlex.split(f.read()), target)\n\t\telse:\n\t\t\ttarget.append(arg)\n\treturn target\n\nstage = sys.argv[1]\ndir = sys.argv[2]\nexecargs = ExpandArgs(sys.argv[3:], [])\n\nsys.exit(bisect_driver.bisect_driver(stage, dir, execargs))\n",
24            "someBisectStage",
25            "/user/home/ANDROID_BISECT",
26            "/tmp/stable/clang.real",
27            "main.cc"
28          ],
29          "env_updates": [
30            "PYTHONPATH=/somepath/test_binary"
31          ]
32        }
33      }
34    ]
35  },
36  {
37    "wd": "/tmp/stable",
38    "env": [
39      "BISECT_STAGE=someBisectStage",
40      "BISECT_DIR=someBisectDir",
41      "HOME=/user/home"
42    ],
43    "wrapper": {
44      "cmd": {
45        "path": "/tmp/stable/clang",
46        "args": [
47          "main.cc"
48        ]
49      }
50    },
51    "cmds": [
52      {
53        "cmd": {
54          "path": "/usr/bin/env",
55          "args": [
56            "python3",
57            "-c",
58            "\nimport bisect_driver\nimport shlex\nimport sys\n\ndef ExpandArgs(args, target):\n\tfor arg in args:\n\t\tif arg[0] == '@':\n\t\t\twith open(arg[1:], 'r', encoding='utf-8') as f:\n\t\t\t\tExpandArgs(shlex.split(f.read()), target)\n\t\telse:\n\t\t\ttarget.append(arg)\n\treturn target\n\nstage = sys.argv[1]\ndir = sys.argv[2]\nexecargs = ExpandArgs(sys.argv[3:], [])\n\nsys.exit(bisect_driver.bisect_driver(stage, dir, execargs))\n",
59            "someBisectStage",
60            "someBisectDir",
61            "/tmp/stable/clang.real",
62            "main.cc"
63          ],
64          "env_updates": [
65            "PYTHONPATH=/somepath/test_binary"
66          ]
67        }
68      }
69    ]
70  },
71  {
72    "wd": "/tmp/stable",
73    "env": [
74      "BISECT_STAGE=someBisectStage",
75      "BISECT_DIR=someBisectDir",
76      "HOME=/user/home"
77    ],
78    "wrapper": {
79      "cmd": {
80        "path": "/tmp/stable/clang",
81        "args": [
82          "main.cc"
83        ]
84      },
85      "stdout": "somemessage",
86      "stderr": "someerror",
87      "exitcode": 1
88    },
89    "cmds": [
90      {
91        "cmd": {
92          "path": "/usr/bin/env",
93          "args": [
94            "python3",
95            "-c",
96            "\nimport bisect_driver\nimport shlex\nimport sys\n\ndef ExpandArgs(args, target):\n\tfor arg in args:\n\t\tif arg[0] == '@':\n\t\t\twith open(arg[1:], 'r', encoding='utf-8') as f:\n\t\t\t\tExpandArgs(shlex.split(f.read()), target)\n\t\telse:\n\t\t\ttarget.append(arg)\n\treturn target\n\nstage = sys.argv[1]\ndir = sys.argv[2]\nexecargs = ExpandArgs(sys.argv[3:], [])\n\nsys.exit(bisect_driver.bisect_driver(stage, dir, execargs))\n",
97            "someBisectStage",
98            "someBisectDir",
99            "/tmp/stable/clang.real",
100            "main.cc"
101          ],
102          "env_updates": [
103            "PYTHONPATH=/somepath/test_binary"
104          ]
105        },
106        "stdout": "somemessage",
107        "stderr": "someerror",
108        "exitcode": 1
109      }
110    ]
111  }
112]
113