From 481a96c93522fa20e315f225a6c971ab77e05306 Mon Sep 17 00:00:00 2001
From: Henrik Levkowetz <henrik@levkowetz.com>
Date: Sat, 17 Dec 2016 21:49:53 +0000
Subject: [PATCH] Changed the handling of skip tests and messages in order to
 show which tests will be skipped, and why, at the start of a test run.  -
 Legacy-Id: 12568

---
 ietf/group/tests.py      | 6 ++++--
 ietf/ietfauth/tests.py   | 6 ++++--
 ietf/meeting/tests_js.py | 6 +++---
 ietf/utils/tests.py      | 8 +++++---
 4 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/ietf/group/tests.py b/ietf/group/tests.py
index a090a9f81..0b9d2fd1e 100644
--- a/ietf/group/tests.py
+++ b/ietf/group/tests.py
@@ -27,9 +27,11 @@ elif (  os.path.exists(settings.DOT_BINARY) and
     skip_dot_to_pdf = False
     skip_message = ""
 else:
+    import sys
     skip_dot_to_pdf = True
-    skip_message = ("One or more of the binaries for dot, unflatten and ps2pdf weren't found "
-                    "in the locations indicated in settings.py.")
+    skip_message = ("Skipping dependency graph tests: One or more of the binaries for dot\n       "
+                    "and unflatten weren't found in the locations indicated in settings.py")
+    sys.stderr.write("     "+skip_message+'\n')
 
 class StreamTests(TestCase):
     def test_streams(self):
diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py
index 7bab9f340..eb7a143b0 100644
--- a/ietf/ietfauth/tests.py
+++ b/ietf/ietfauth/tests.py
@@ -27,9 +27,11 @@ if os.path.exists(settings.HTPASSWD_COMMAND):
     skip_htpasswd_command = False
     skip_message = ""
 else:
+    import sys
     skip_htpasswd_command = True
-    skip_message = ("The binary for htpasswd wasn't found "
-                    "in the locations indicated in settings.py.")
+    skip_message = ("Skipping htpasswd test: The binary for htpasswd wasn't found in the\n       "
+                    "location indicated in settings.py.")
+    sys.stderr.write("     "+skip_message+'\n')
 
 class IetfAuthTests(TestCase):
     def setUp(self):
diff --git a/ietf/meeting/tests_js.py b/ietf/meeting/tests_js.py
index 3ce762a8e..9e142e9ff 100644
--- a/ietf/meeting/tests_js.py
+++ b/ietf/meeting/tests_js.py
@@ -30,13 +30,13 @@ else:
         from selenium.webdriver.common.action_chains import ActionChains
     except ImportError as e:
         skip_selenium = True
-        skip_message = "     Skipping selenium tests: %s" % e
+        skip_message = "Skipping selenium tests: %s" % e
     code, out, err = pipe('phantomjs -v')
     if not code == 0:
         skip_selenium = True
-        skip_message = "     Skipping selenium tests: 'phantomjs' executable not found."
+        skip_message = "Skipping selenium tests: 'phantomjs' executable not found."
     if skip_selenium:
-        sys.stderr.write(skip_message+'\n')
+        sys.stderr.write("     "+skip_message+'\n')
 
 def condition_data():
         make_meeting_test_data()
diff --git a/ietf/utils/tests.py b/ietf/utils/tests.py
index d2608283f..886b75043 100644
--- a/ietf/utils/tests.py
+++ b/ietf/utils/tests.py
@@ -30,12 +30,14 @@ from ietf.utils.test_utils import TestCase
 from ietf.group.models import Group
 
 skip_wiki_glue_testing = False
-skip_wiki_glue_message = ""
+skip_message = ""
 try:
     import svn                          # pyflakes:ignore
 except ImportError as e:
+    import sys
     skip_wiki_glue_testing = True
-    skip_wiki_glue_message = "     Skipping trac tests: %s" % e
+    skip_message = "Skipping trac tests: %s" % e
+    sys.stderr.write("     "+skip_message+'\n')
 
 class PyFlakesTestCase(TestCase):
 
@@ -205,7 +207,7 @@ class TemplateChecksTestCase(TestCase):
         settings.DEBUG = saved_debug
 
 
-@skipIf(skip_wiki_glue_testing, skip_wiki_glue_message)
+@skipIf(skip_wiki_glue_testing, skip_message)
 class TestWikiGlueManagementCommand(TestCase):
 
     def setUp(self):