]> code.ossystems Code Review - openembedded-core.git/commitdiff
base.py: add assertExists and assertNotExists to oeselftest
authorYeoh Ee Peng <ee.peng.yeoh@intel.com>
Sun, 21 May 2017 18:22:22 +0000 (11:22 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 25 May 2017 22:35:50 +0000 (23:35 +0100)
Current osselftest print confusing assertion message when using
self.assertTrue(os.path.exists(filepath)) to test file path,
example of confusing assertion message:
AssertionError: False is not true

Add the assertExists and assertNotExists to improve assertion
message and simplify coding, using selft.assertExists(filepath),
will print meaningful assertion message:
AssertionError: <filepath> does not exist

[YOCTO #11356]

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oeqa/selftest/base.py

index 47a8ea82715d7242ec91c959bf25b64383778f0b..43a1951be307b659b3800eff6342da237e43c8e9 100644 (file)
@@ -18,6 +18,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer
 from oeqa.utils.decorators import LogResults
 from random import choice
 import glob
+from unittest.util import safe_repr
 
 @LogResults
 class oeSelfTest(unittest.TestCase):
@@ -214,6 +215,18 @@ be re-executed from a clean environment to ensure accurate results.")
         self.log.debug("Writing to: %s\n%s\n" % (self.machineinc_path, data))
         ftools.write_file(self.machineinc_path, data)
 
+    # check does path exist    
+    def assertExists(self, expr, msg=None):
+        if not os.path.exists(expr):
+            msg = self._formatMessage(msg, "%s does not exist" % safe_repr(expr))
+            raise self.failureException(msg)
+    
+    # check does path not exist 
+    def assertNotExists(self, expr, msg=None):
+        if os.path.exists(expr):
+            msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr))
+            raise self.failureException(msg)
+
 
 def get_available_machines():
     # Get a list of all available machines