1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
export topsrcdir=$TESTDIR/../../../
export MOZBUILD_STATE_PATH=$TMP/mozbuild
export MACH_TRY_PRESET_PATHS=$MOZBUILD_STATE_PATH/try_presets.yml
# This helps to find fzf when running these tests locally, since normally fzf
# would be found via MOZBUILD_STATE_PATH pointing to $HOME/.mozbuild
export PATH="$PATH:$HOME/.mozbuild/fzf/bin"
export MACHRC=$TMP/machrc
cat > $MACHRC << EOF
[try]
default=syntax
EOF
cmd="$topsrcdir/mach python -c 'from mach.util import get_state_dir; print(get_state_dir(specific_to_topsrcdir=True))'"
# First run local state dir generation so it doesn't affect test output.
eval $cmd > /dev/null 2>&1
# Now run it again to get the actual directory.
cachedir=$(eval $cmd)/cache/taskgraph
mkdir -p $cachedir
cat > $cachedir/target_task_set << EOF
{
"test/foo-opt": {
"kind": "test",
"label": "test/foo-opt",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"test/foo-debug": {
"kind": "test",
"label": "test/foo-debug",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"build-baz": {
"kind": "build",
"label": "build-baz",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
}
}
EOF
cat > $cachedir/full_task_set << EOF
{
"test/foo-opt": {
"kind": "test",
"label": "test/foo-opt",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"test/foo-debug": {
"kind": "test",
"label": "test/foo-debug",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"test/bar-opt": {
"kind": "test",
"label": "test/bar-opt",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"test/bar-debug": {
"kind": "test",
"label": "test/bar-debug",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
},
"build-baz": {
"kind": "build",
"label": "build-baz",
"attributes": {},
"task": {},
"optimization": {},
"dependencies": {}
}
}
EOF
# set mtime to the future so we don't re-generate tasks
find $cachedir -type f -exec touch -d "next day" {} +
export testargs="--no-push --no-artifact"
|