From 960d1152866b41f49d224beb853b8fe36ff92a33 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 16 Oct 2020 11:25:37 -0400 Subject: [PATCH 1/3] news fragment --- newsfragments/3481.minor | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsfragments/3481.minor diff --git a/newsfragments/3481.minor b/newsfragments/3481.minor new file mode 100644 index 000000000..e69de29bb From 75b3bf1097e11c7bc6ca8dd83e530fae1bd3ae76 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 16 Oct 2020 11:26:05 -0400 Subject: [PATCH 2/3] Refuse to continue if the introducer fURL has no location hints. --- integration/conftest.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/integration/conftest.py b/integration/conftest.py index 04e3dcb52..802deb79d 100644 --- a/integration/conftest.py +++ b/integration/conftest.py @@ -8,6 +8,10 @@ from os.path import join, exists from tempfile import mkdtemp, mktemp from functools import partial +from foolscap.furl import ( + decode_furl, +) + from eliot import ( to_file, log_call, @@ -226,6 +230,16 @@ def introducer_furl(introducer, temp_dir): print("Don't see {} yet".format(furl_fname)) sleep(.1) furl = open(furl_fname, 'r').read() + tubID, location_hints, name = decode_furl(furl) + if not location_hints: + # If there are no location hints then nothing can ever possibly + # connect to it and the only thing that can happen next is something + # will hang or time out. So just give up right now. + raise ValueError( + "Introducer ({!r}) fURL has no location hints!".format( + introducer_furl, + ), + ) return furl From 64a9e95319d5ef1bb3a52c6471e353aca0979703 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Fri, 16 Oct 2020 11:27:13 -0400 Subject: [PATCH 3/3] Pass PATH (and other stuff) into the child process --- integration/util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration/util.py b/integration/util.py index bbcf5efc6..a64bcbf8e 100644 --- a/integration/util.py +++ b/integration/util.py @@ -1,7 +1,7 @@ import sys import time import json -from os import mkdir +from os import mkdir, environ from os.path import exists, join from six.moves import StringIO from functools import partial @@ -145,6 +145,7 @@ def _tahoe_runner_optional_coverage(proto, reactor, request, other_args): proto, sys.executable, args, + env=environ, )