main shinobi / tests / mk / gnu / targets / INTERMEDIATE / t007 / test.json
 1{
 2  "case": "t007",
 3  "category": "targets/INTERMEDIATE",
 4  "compare_output": true,
 5  "description": "Test the behaviour of the .INTERMEDIATE target.",
 6  "details": "\nTest the behavior of the .INTERMEDIATE special target.\nCreate a makefile where a file would not normally be considered\nintermediate, then specify it as .INTERMEDIATE.  Build and ensure it's\ndeleted properly.  Rebuild to ensure that it's not created if it doesn't\nexist but doesn't need to be built.  Change the original and ensure\nthat the intermediate file and the ultimate target are both rebuilt, and\nthat the intermediate file is again deleted.\n\nTry this with implicit rules and explicit rules: both should work.\n",
 7  "env": {},
 8  "expected_exit": 0,
 9  "options": "foo.e",
10  "options_mode": "shell",
11  "output_mode": "exact",
12  "setup": [
13    {
14      "content": "\n",
15      "kind": "file",
16      "mode": "0644",
17      "mtime": 1778707222,
18      "path": "bar.e"
19    },
20    {
21      "content": "\n",
22      "kind": "file",
23      "mode": "0644",
24      "mtime": 1778707202,
25      "path": "bar.f"
26    },
27    {
28      "content": "\n\n\n\n",
29      "kind": "file",
30      "mode": "0644",
31      "mtime": 1778707222,
32      "path": "foo.c"
33    },
34    {
35      "content": "\n\n",
36      "kind": "file",
37      "mode": "0644",
38      "mtime": 1778707222,
39      "path": "foo.d"
40    },
41    {
42      "content": "\n\n\n",
43      "kind": "file",
44      "mode": "0644",
45      "mtime": 1778707222,
46      "path": "foo.e"
47    },
48    {
49      "content": "\n\n\n",
50      "kind": "file",
51      "mode": "0644",
52      "mtime": 1778707222,
53      "path": "foo.f"
54    }
55  ],
56  "source_script": "targets/INTERMEDIATE",
57  "stdin": "",
58  "suite": "gnu",
59  "timeout_seconds": 60
60}