aboutsummaryrefslogtreecommitdiff
path: root/ca/tests/test-rrdp.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-09-16 19:19:02 +0000
committerRob Austein <sra@hactrn.net>2014-09-16 19:19:02 +0000
commitbcf3d77c6806571271e2e7870a5140a4ceca7cd8 (patch)
treebf7b6cf50cfa7d8ff95fe956767054c93c216282 /ca/tests/test-rrdp.py
parent180a9c09f9705283e11caa2df408e6b2353f3b9d (diff)
Add a mechanism yamltest can use to signal its parent that it's done
with all its tedious setup actions. svn path=/branches/tk705/; revision=5957
Diffstat (limited to 'ca/tests/test-rrdp.py')
-rwxr-xr-xca/tests/test-rrdp.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/ca/tests/test-rrdp.py b/ca/tests/test-rrdp.py
index 98918bad..db626a35 100755
--- a/ca/tests/test-rrdp.py
+++ b/ca/tests/test-rrdp.py
@@ -23,6 +23,7 @@ import os
import sys
import glob
import time
+import signal
import textwrap
import argparse
import subprocess
@@ -30,7 +31,7 @@ import subprocess
parser = argparse.ArgumentParser(description = __doc__)
parser.add_argument("--use-smoketest", action = "store_true")
parser.add_argument("--yaml-file", default = "smoketest.2.yaml")
-parser.add_argument("--delay", type = int, default = 300)
+parser.add_argument("--delay", type = int, default = 30)
parser.add_argument("--exhaustive", action = "store_true")
parser.add_argument("--skip-daemons", action = "store_true")
args = parser.parse_args()
@@ -80,9 +81,20 @@ elif args.use_smoketest:
run("python", "smoketest.py", args.yaml_file)
else:
run("python", "sql-cleaner.py")
- argv = ("python", "yamltest.py", args.yaml_file)
+ class GotSIGUSR1(Exception):
+ pass
+ def handle_sigusr1(signum, frame):
+ raise GotSIGUSR1
+ old_sigusr1 = signal.signal(signal.SIGUSR1, handle_sigusr1)
+ argv = ("python", "yamltest.py", args.yaml_file, "--notify-when-startup-complete", str(os.getpid()))
log("Running: " + " ".join(argv))
yamltest = subprocess.Popen(argv)
+ log("Waiting for SIGUSR1 from yamltest")
+ try:
+ while True:
+ signal.pause()
+ except GotSIGUSR1:
+ signal.signal(signal.SIGUSR1, old_sigusr1)
log("Sleeping %s" % args.delay)
time.sleep(args.delay)
yamltest.terminate()