-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PR196 1/3+] Making stage reproduction more portable, making resultspace sourcing more robust #273
Conversation
930a402
to
af54a6e
Compare
2840e52
to
ebdc149
Compare
- adds `env` verb, which mimics the UNIX env command, but with the ability to read environment variables from stdin - defines repro commands as the piping of the two calls: `cd CWD; catkin build --get-env PKG | catkin env -si CMD; cd -`
ebdc149
to
e87f9ed
Compare
Should |
Yeah, that's how it's designed, but hold off on merging this for the moment. |
382bf1b
to
efde288
Compare
@wjwwood This is good to merge, once you've tested it. |
@wjwwood You can get a human-readable printout like this: catkin build --get-env PKGNAME | catkin env -si We could add another option to get a human readable output without the pipes, but I don't know how important that is at the moment. |
8084e60
to
71f1c09
Compare
@wjwwood This should be good to review. It should be robust to the PTY exhaustion issues on OS X, and we can re-enable It also uses an asynchronous lock for the install lock, and treats it as a generic "locked resource" for a given stage. Also, I ran into the same problem with |
Also, since |
execution: switching time.sleep to asyncio.sleep in executor coroutint
- uses `catkin env` to handle environment variables which contain line breaks - makes `catkin env` flush stdout to make sure all output gets processed before the resultspace loading receives the return code - properly escapes environment paths to load from - reports errors more clearly
build: Clean up exit from build cli osx: Setting notty on OS X to avoid exhausting PTYs, cleaning up install lock implementation python3: decode popen result in resultspace loading resultspace: adding note stages: removing OS X nonfix
185c94a
to
14c5ce0
Compare
@@ -348,6 +362,7 @@ def execute_jobs( | |||
def run_until_complete(coroutine): | |||
# Get event loop | |||
loop = get_loop() | |||
loop.slow_callback_duration = 1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to stay in? What callbacks do you expect might take longer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default is 100ms. Many callbacks take upwards of 300ms, which causes Trollius to generate warnings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.
[PR196 1/3+] Making stage reproduction more portable, making resultspace sourcing more robust
env
verb, which mimics the UNIX env command, but with theability to read environment variables from stdin
typeset
builtin instead ofcmake -E environment
, which makes it robust to environment variables with line breaksFull
catkin env -h
help: