If the remote system and the local one share a directory (using e.g. NFS or
SMB), we can use this to avoid two ssh invocations and one scp invocation.
This commit adds new flags --shared-mount-{local,remote}-path to ssh.py
that when passed use the shared directory instead of scp to upload files
to the remote system.
Example usage:
./bin/llvm-lit projects/libcxx/test "-Dexecutor=/path/to/llvm-project/libcxx/utils/ssh.py --shared-mount-local-path=$(pwd)/tmp --shared-mount-remote-path=/mnt/tmp --host testuser@local-qemu"
This can massively speed up running tests:
Running the libcxxabi test suite via ssh.py on localhost on a Linux test
system takes 87 seconds instead of previously 200.
real 4m10.025s -> 1m46.165s
user 1m3.192s -> 0m45.396s
sys 0m12.088s -> 0m9.795s
Depends on D84097