diff options
author | Rob Austein <sra@hactrn.net> | 2016-04-09 01:01:36 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-04-09 01:01:36 +0000 |
commit | d753ca696172c297245410830e7b63326a85ec29 (patch) | |
tree | e33b7b5559041a392f25c23c86373584ff4c37b3 /ca/tests/yamltest.py | |
parent | 68d8ff79fc48cb0ae82399628cd7bf1ca459bc3b (diff) |
Avoid setuid antics when starting GUI from yamltest.
svn path=/branches/tk705/; revision=6352
Diffstat (limited to 'ca/tests/yamltest.py')
-rwxr-xr-x | ca/tests/yamltest.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ca/tests/yamltest.py b/ca/tests/yamltest.py index a6581275..f8f441e7 100755 --- a/ca/tests/yamltest.py +++ b/ca/tests/yamltest.py @@ -83,7 +83,6 @@ prog_rpkid = cleanpath(ca_dir, "rpkid") prog_irdbd = cleanpath(ca_dir, "irdbd") prog_pubd = cleanpath(ca_dir, "pubd") prog_rootd = cleanpath(ca_dir, "rootd") -prog_rpki_manage = cleanpath(rp_conf_dir, "rpki-manage") prog_rpki_confgen = cleanpath(rp_conf_dir, "rpki-confgen") class roa_request(object): @@ -760,16 +759,27 @@ class allocation(object): return a subprocess.Popen object representing the running daemon. """ - port = 8000 + self.engine - cmd = (prog_rpki_manage, "runserver", str(port)) env = dict(os.environ, RPKI_CONF = self.path("rpki.conf"), DJANGO_SETTINGS_MODULE = "rpki.django_settings.gui", RPKI_DJANGO_DEBUG = "yes", + LANG = "en_US.UTF-8", ALLOW_PLAIN_HTTP_FOR_TESTING = "I solemnly swear that I am not running this in production") + + if False: + # This ought to work, doesn't. Looks like some kind of Django argv hairball. + cmd = (sys.executable, "-c", textwrap.dedent('''\ + import django + django.setup() + import django.core.management + django.core.management.call_command("runserver", "{port}") + '''.format(port = 8000 + self.engine))) + else: + cmd = ("django-admin", "runserver", str(8000 + self.engine)) + p = subprocess.Popen(cmd, cwd = self.path(), env = env, stdout = open(self.path("gui.log"), "w"), stderr = subprocess.STDOUT) - print "Running %s for %s: pid %d process %r" % (" ".join(cmd), self.name, p.pid, p) + print "Running GUI for %s: pid %d process %r" % (self.name, p.pid, p) return p |