-
-
Notifications
You must be signed in to change notification settings - Fork 235
Description
Make sure you completed the following tasks
- I searched the discussions
- I searched the closed and open issues
- I read the contribution guidelines
Environment and version details
- Operating System+version: Linux Ubuntu 20.04
- Compiler+version: GCC 9
- Shell: Bash
- B2 Version: Output of
b2 -vandb2 --version
$ b2 -v
B2 Version 4.0. OS=LINUX.
Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
Copyright 2001 David Turner.
Copyright 2001-2004 David Abrahams.
Copyright 2002-2019 Rene Rivera.
Copyright 2003-2015 Vladimir Prus.
DEFAULTS: jobs = 8
$ b2 --version
Boost.Build 4.0-git
- B2 Configuration: Output of
b2 --debug-configurationin your project.
N/A
Brief problem description
The test for JAM_SEMAPHORE in core_multifile_actions.py does not seem to actually test the semaphore.
Steps to reproduce the issue
I removed the JAM_SEMAPHORE in the test and it still passed. I would hope that the test would fail if the semaphore was not set properly.
Looking at the code, there is only one action happening in the test, so there is no chance for anything to run in parallel.
actions update
{
echo updating $(<)
}
targets = x1 x2 ;
JAM_SEMAPHORE on $(targets) = <s>update_sem ;
update x1 x2 ;
The output is expected to be such. The printout updating x1 x2 suggests to me that only one action is running, so I don't see how anything could run in parallel. I added a sleep 60 in the update action and the test only takes 60 seconds, again suggesting that only one action is running.
...found 2 targets...
...updating 2 targets...
update x1
updating x1 x2
...updated 2 targets...
Actual behavior summary
The targets update in the same order whether the JAM_SEMAPHORE is set or not.
Expected behavior summary
I would expect the test to fail if the semaphore was not set. I attempted to improve the test to actually update the targets in parallel, but I think it requires more work than just a minor change. I tried adding a sleep to the update action there, but
Metadata
Metadata
Assignees
Labels
Type
Projects
Status