• Dmitry Blinov's avatar
    set -e for shell commands · 2f92b674
    Dmitry Blinov authored
    If not set, the commands in the middle of custom configure-command,
    pre-build, post-build etc can fail without resulting in SystemError
    for user and without stopping cmmi process, which thus can formally
    succeed despite being misconfigured or in some cases with the code
    not even built.
    This is because when executing a multiline command, only the exit
    status of the last one actually gets caught by check_call().
    
    Setting -e makes debugging easier by allowing shell to terminate
    mid-way if errors (non-zero exit status) occur.
    
    -e only covers 'simple commands', and does not affect 'if' tests
    and more complex cases where non-zero exit status is expected to
    occur normally.
    Detailed description of -e effects can be seen in the POSIX
    standard:
    
    https://pubs.opengroup.org/onlinepubs/009695399/utilities/set.html
    2f92b674
__init__.py 20.6 KB