]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/tools/build/test/core_parallel_actions.py
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / tools / build / test / core_parallel_actions.py
CommitLineData
7c673cae
FG
1#!/usr/bin/python
2
3# Copyright 2006 Rene Rivera.
4# Copyright 2011 Steven Watanabe
5# Distributed under the Boost Software License, Version 1.0.
1e59de90 6# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
7c673cae
FG
7
8import BoostBuild
9
11fdf7f2 10t = BoostBuild.Tester(["-d1"], pass_toolset=0)
7c673cae
FG
11
12t.write("sleep.bat", """\
13::@timeout /T %1 /NOBREAK >nul
14@ping 127.0.0.1 -n 2 -w 1000 >nul
15@ping 127.0.0.1 -n %1 -w 1000 >nul
16@exit /B 0
17""")
18
19t.write("file.jam", """\
20if $(NT)
21{
22 actions sleeper
23 {
24 echo [$(<:S)] 0
25 call sleep.bat 1
26 echo [$(<:S)] 1
27 call sleep.bat 1
28 echo [$(<:S)] 2
29 call sleep.bat $(<:B)
30 }
31}
32else
33{
34 actions sleeper
35 {
36 echo "[$(<:S)] 0"
37 sleep 1
38 echo "[$(<:S)] 1"
39 sleep 1
40 echo "[$(<:S)] 2"
41 sleep $(<:B)
42 }
43}
44
45rule sleeper
46{
47 DEPENDS $(<) : $(>) ;
48}
49
50NOTFILE front ;
51sleeper 1.a : front ;
52sleeper 2.a : front ;
53sleeper 3.a : front ;
54sleeper 4.a : front ;
55NOTFILE choke ;
56DEPENDS choke : 1.a 2.a 3.a 4.a ;
57sleeper 1.b : choke ;
58sleeper 2.b : choke ;
59sleeper 3.b : choke ;
60sleeper 4.b : choke ;
61DEPENDS bottom : 1.b 2.b 3.b 4.b ;
62DEPENDS all : bottom ;
63""")
64
65t.run_build_system(["-ffile.jam", "-j4"], stdout="""\
66...found 12 targets...
67...updating 8 targets...
68sleeper 1.a
69[.a] 0
70[.a] 1
71[.a] 2
72sleeper 2.a
73[.a] 0
74[.a] 1
75[.a] 2
76sleeper 3.a
77[.a] 0
78[.a] 1
79[.a] 2
80sleeper 4.a
81[.a] 0
82[.a] 1
83[.a] 2
84sleeper 1.b
85[.b] 0
86[.b] 1
87[.b] 2
88sleeper 2.b
89[.b] 0
90[.b] 1
91[.b] 2
92sleeper 3.b
93[.b] 0
94[.b] 1
95[.b] 2
96sleeper 4.b
97[.b] 0
98[.b] 1
99[.b] 2
100...updated 8 targets...
101""")
102
103t.cleanup()