• Robert Schmidt's avatar
    Implement runScript in cls_cmd for LocalCmd/RemoteCmd, add test · e541aee4
    Robert Schmidt authored
    A lot of CI code is python mixed with bash, e.g.,
    
        ssh = getConnection(host)
        ssh.run('ls')
        ssh.run('echo')
    
    At least some of this CI code would benefit if it was written in a
    simple bash script, returning error codes and potentially other
    information either through stdout/stderr or files, to the calling Python
    code:
    
        ssh = runScript(host, script)
        # script does: ls; echo
    
    This commit introduces the possibility to run entire scripts. The idea
    is that the executor has a script (on localhost), which is either
    executed locally or on a remote host. For the remote host, the script is
    not copied but piped into a remotely executed bash. In both cases,
    output is either returned like the Cmd.run() function with returncode
    and mixed stdout/stderr, or optionally redirected into a file on the
    (remote) host, which can be treated further by the Python code in later
    steps.
    e541aee4
cls_cmd.py 11.2 KB