2 # Copyright (C) 2020 Richard W.M. Jones
3 # Copyright (C) 2020 Red Hat Inc.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License along
16 # with this program; if not, write to the Free Software Foundation, Inc.,
17 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 # This tests the behaviour of the keep-going (-k) option. This
20 # should build as many targets as possible. The tree of goals
27 # all --- good1 --- good2 --- fail2
29 # good4 --- good5 good7 -- good8..20
31 # The following goals should run:
32 # fail2, fail3, good3, good4, good5, good6, good7, good8..20
33 # The following goals should NOT run:
34 # all, fail1, good1, good2
36 goal all = : fail1, good1, good4 { echo ALL }
37 goal fail1 = : fail3 { echo FAIL1; exit 1 }
38 goal fail2 = : good6, good7 { echo FAIL2; exit 1 }
39 goal fail3 = { echo FAIL3; exit 1 }
40 goal good1 = : good2 { echo GOOD1 }
41 goal good2 = : good3, fail2 { echo GOOD2 }
42 goal good3 = { echo GOOD3 }
43 goal good4 = : good5 { echo GOOD4 }
44 goal good5 = { echo GOOD5 }
45 goal good6 = { echo GOOD6 }
46 goal good7 = : good8 { echo GOOD7 }
47 goal good8 = : good9 { echo GOOD8 }
48 goal good9 = : good10 { echo GOOD9 }
49 goal good10 = : good11 { echo GOOD10 }
50 goal good11 = : good12 { echo GOOD11 }
51 goal good12 = : good13 { echo GOOD12 }
52 goal good13 = : good14 { echo GOOD13 }
53 goal good14 = : good15 { echo GOOD14 }
54 goal good15 = : good16 { echo GOOD15 }
55 goal good16 = : good17 { echo GOOD16 }
56 goal good17 = : good18 { echo GOOD17 }
57 goal good18 = : good19 { echo GOOD18 }
58 goal good19 = : good20 { echo GOOD19 }
59 goal good20 = { echo GOOD20 }