summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Srbecky <dsrbecky@google.com> 2024-02-29 16:28:10 +0000
committer David Srbecky <dsrbecky@google.com> 2024-03-01 00:00:09 +0000
commit902ee14fd6da336cd6b0899084d8f99035c4680f (patch)
tree21bced0c7ad52ca105934b7a2f3b57a60ba3e26c
parent0fb2079920ddd0b9d213fbd28f14f804fada87e5 (diff)
Qemu: Keep ssh connection to VM open.
Reuse the same ssh connection for all run-tests. This makes the whole test run about 4x faster. Test: time art/test.py --target -r --ndebug --64 --optimizing Change-Id: Ibca9ec2e6a0f07269ffbfa74da085ca698346563
-rw-r--r--.gitignore1
-rw-r--r--test/testrunner/env.py7
-rw-r--r--test/testrunner/ssh_config6
3 files changed, 10 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 803c297b07..dd264ef134 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ JIT_ART
**/*.iml
**/*.pyc
**/*.swn
+tools/boot.out
diff --git a/test/testrunner/env.py b/test/testrunner/env.py
index 8313756995..de24b4cde6 100644
--- a/test/testrunner/env.py
+++ b/test/testrunner/env.py
@@ -152,11 +152,10 @@ ART_TEST_ON_VM = _env.get('ART_TEST_ON_VM')
ART_TEST_SSH_PORT = _env.get('ART_TEST_SSH_PORT', 10001)
ART_TEST_SSH_USER = _env.get('ART_TEST_SSH_USER', 'ubuntu')
ART_TEST_SSH_HOST = _env.get('ART_TEST_SSH_HOST', 'localhost')
-ART_SSH_CMD = _env.get('ART_SSH_CMD', f"ssh -q -i ~/.ssh/ubuntu -p {ART_TEST_SSH_PORT} "
- f"-o StrictHostKeyChecking=no "
+ART_SSH_CONFIG = os.path.join(os.path.dirname(__file__), 'ssh_config')
+ART_SSH_CMD = _env.get('ART_SSH_CMD', f"ssh -q -F {ART_SSH_CONFIG} -p {ART_TEST_SSH_PORT} "
f"{ART_TEST_SSH_USER}@{ART_TEST_SSH_HOST}")
-ART_SCP_CMD = _env.get('ART_SCP_CMD', f"scp -i ~/.ssh/ubuntu -P {ART_TEST_SSH_PORT} "
- f"-o StrictHostKeyChecking=no -p -r")
+ART_SCP_CMD = _env.get('ART_SCP_CMD', f"scp -q -F {ART_SSH_CONFIG} -P {ART_TEST_SSH_PORT} -p -r")
ART_CHROOT_CMD = _env.get('ART_CHROOT_CMD', "unshare --user --map-root-user chroot art-test-chroot")
if ART_TEST_ON_VM:
ART_TEST_CHROOT = _env.get('ART_TEST_CHROOT', f"/home/{ART_TEST_SSH_USER}/art-test-chroot")
diff --git a/test/testrunner/ssh_config b/test/testrunner/ssh_config
new file mode 100644
index 0000000000..6d847e9e1d
--- /dev/null
+++ b/test/testrunner/ssh_config
@@ -0,0 +1,6 @@
+Host *
+ IdentityFile ~/.ssh/ubuntu
+ StrictHostKeyChecking no
+ ControlMaster auto
+ ControlPersist 10m
+ ControlPath /run/user/%i/ssh-%C