[Piglit] [PATCH 1/2] gleantest_tests.py: Adds test for erroneous pass in GleanTest

Dylan Baker baker.dylan.c at gmail.com
Fri Mar 7 17:50:48 PST 2014


Glean tests report pass when returning a code 127 (library not found),
this is obviously false, since the tests didn't run they could not
pass.

Signed-off-by: Dylan Baker <baker.dylan.c at gmail.com>
---
 framework/tests/gleantest_tests.py | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/framework/tests/gleantest_tests.py b/framework/tests/gleantest_tests.py
index ba2c3a5..cee48b9 100644
--- a/framework/tests/gleantest_tests.py
+++ b/framework/tests/gleantest_tests.py
@@ -21,6 +21,10 @@
 
 """ Tests for the glean class. Requires Nose """
 
+from __future__ import print_function
+import os
+from nose.plugins.skip import SkipTest
+from framework.core import Environment
 from framework.gleantest import GleanTest
 
 
@@ -41,3 +45,24 @@ def test_globalParams_assignment():
     GleanTest.globalParams = ['--quick']
     test2 = GleanTest('basic')
     assert test1.command == test2.command
+
+
+def test_bad_returncode():
+    """ If glean doesn't return zero it should be a fail
+
+    Currently clean returns 127 if piglit can't find it's libs (LD_LIBRARY_PATH
+    isn't set properly), and then marks such tests as pass, when they obviously
+    are not.
+
+    """
+    if not os.path.exists('bin'):
+        raise SkipTest("This test requires a working, built version of piglit")
+
+    # Clearing the environment should remove the piglit/lib from
+    # LD_LIBRARY_PATH
+    os.environ = {}
+
+    test = GleanTest('basic')
+    result = test.run(Environment())
+    print("result: {result}\nreturncode: {returncode}".format(**result))
+    assert result['result'] == 'fail', "Result should have been fail"
-- 
1.9.0



More information about the Piglit mailing list