diff options
Diffstat (limited to 'src/software/test/test_software_file_check.py')
-rwxr-xr-x | src/software/test/test_software_file_check.py | 377 |
1 files changed, 256 insertions, 121 deletions
diff --git a/src/software/test/test_software_file_check.py b/src/software/test/test_software_file_check.py index d44fd10..4228c18 100755 --- a/src/software/test/test_software_file_check.py +++ b/src/software/test/test_software_file_check.py @@ -87,20 +87,20 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): objpath["SoftwareElementID"] = pkg.get_nevra(newer) return objpath - def assertEqualSEID(self, id1, id2): + def assertEqualSEID(self, id1, id2, msg=None): """ This is for comparison of SoftwareElementID property values. """ if ( not isinstance(id1, basestring) or not isinstance(id2, basestring)): - return common.SoftwareBaseTestCase.assertEqual(self, id1, id2) + return common.SoftwareBaseTestCase.assertEqual(self, id1, id2, msg) match1 = common.RE_NEVRA.match(id1) match2 = common.RE_NEVRA.match(id2) if not match1 or not match2: - return common.SoftwareBaseTestCase.assertEqual(self, id1, id2) + return common.SoftwareBaseTestCase.assertEqual(self, id1, id2, msg) if any( match1.group(g) != match2.group(g) for g in ('name', 'ver', 'rel', 'arch')): - return common.SoftwareBaseTestCase.assertEqual(self, id1, id2) + return common.SoftwareBaseTestCase.assertEqual(self, id1, id2, msg) epoch1 = match1.group('epoch') epoch2 = match2.group('epoch') if not epoch1: @@ -108,10 +108,10 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): if not epoch2: epoch2 = '0' if epoch1 != epoch2: - return common.SoftwareBaseTestCase.assertEqual(self, id1, id2) + return common.SoftwareBaseTestCase.assertEqual(self, id1, id2, msg) return True - def assertEqual(self, op1, op2): + def assertEqual(self, op1, op2, msg=None): """ This is override for object paths, that allows some differences (like missing epoch in SoftwareElementID). @@ -124,10 +124,9 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): or any(op1[a] != op2[a] for a in ( 'Name', 'Version', 'CheckID', 'SoftwareElementState' , 'TargetOperatingSystem'))): - return common.SoftwareBaseTestCase.assertEqual(self, op1, op2) + return common.SoftwareBaseTestCase.assertEqual(self, op1, op2, msg) return self.assertEqualSEID( - op1['SoftwareElementID'], op2['SoftwareElementID']) - return True + op1['SoftwareElementID'], op2['SoftwareElementID'], msg) def make_checksum_str(self, csumnum, filename): """ @@ -136,23 +135,31 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): return RE_CHECKSUM.match(subprocess.check_output([ self.hash_num2cmd[csumnum], filename])).group(1).lower() - def do_check_symlink(self, filepath, inst): + def do_check_symlink(self, pkg, filepath, inst): """ Assert some details about symlink. """ target = os.readlink(filepath) stats = os.lstat(filepath) - self.assertEqual(inst["FileType"], pywbem.Uint16(3)) - self.assertEqual(inst["FileUserID"], stats.st_uid) - self.assertEqual(inst["FileGroupID"], stats.st_gid) - self.assertEqual(inst["FileMode"], stats.st_mode) - self.assertEqual(inst["FileSize"], stats.st_size) - self.assertEqual(inst["LinkTarget"], target) - self.assertEqual(inst["FileChecksum"], - "0"*self.hash_num2length[inst["FileChecksumType"]]) - self.assertEqual(inst["LastModificationTime"], - int(stats.st_mtime)) + self.assertEqual(pywbem.Uint16(3), inst["FileType"], + "Unexpected file type of symlink for %s:%s"%( + pkg.name, filepath)) + self.assertEqual(stats.st_uid, inst["FileUserID"], + "Unexpected uid of symlink for %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_gid, inst["FileGroupID"], + "Unexpected gid of symlink for %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_mode, inst["FileMode"], + "Unexpected mode of symlink for %s:%s" %(pkg.name, filepath)) + self.assertEqual(stats.st_size, inst["FileSize"], + "Unexpected size of symlink for %s:%s"%(pkg.name, filepath)) + self.assertEqual(target, inst["LinkTarget"], + "Unexpected size of symlink for %s:%s"%(pkg.name, filepath)) + self.assertEqual("0"*self.hash_num2length[inst["FileChecksumType"]], + inst["FileChecksum"], + "Unexpected hash of symlink for %s:%s"%(pkg.name, filepath)) + self.assertEqual(int(stats.st_mtime), inst["LastModificationTime"], + "Unexpected mtime of symlink for %s:%s"%(pkg.name, filepath)) # modify owner prev_user = inst["FileUserID"] @@ -160,22 +167,40 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): #prev_pflags = PassedFlags(*inst["PassedFlags"]) os.lchown(filepath, stats.st_uid + 1, -1) inst = self.conn.GetInstance(InstanceName=inst.path) - self.assertEqual(inst["FileUserID"], inst["ExpectedFileUserID"] + 1) - self.assertEqual(inst["FileUserID"], prev_user + 1) - self.assertEqual(inst["FileGroupID"], stats.st_gid) + self.assertEqual(inst["ExpectedFileUserID"] + 1, inst["FileUserID"], + "Unexpected uid of modified symlink for %s:%s"%( + pkg.name, filepath)) + self.assertEqual(prev_user + 1, inst["FileUserID"], + "Unexpected uid of modified symlink for %s:%s"%( + pkg.name, filepath)) + self.assertEqual(stats.st_gid, inst["FileGroupID"], + "Unexpected gid of modified symlink for %s:%s"%( + pkg.name, filepath)) cur_pflags = PassedFlags(*inst["PassedFlags"]) #self.assertGreater(inst["LastModificationTime"], prev_mtime) - self.assertTrue(cur_pflags.exists) - self.assertTrue(cur_pflags.type) - self.assertTrue(cur_pflags.size) - self.assertTrue(cur_pflags.mode) - self.assertTrue(cur_pflags.checksum) - self.assertTrue(cur_pflags.dev) - self.assertTrue(cur_pflags.ltarget) - self.assertFalse(cur_pflags.uid) - self.assertTrue(cur_pflags.gid) - self.assertTrue(cur_pflags.mtime) + self.assertTrue(cur_pflags.exists, + "Symlink %s:%s should exist." %(pkg.name, filepath)) + self.assertTrue(cur_pflags.type, + "File type should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.size, + "File size should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.mode, + "File mode should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.checksum, + "File checksum should match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.dev, + "Device number should match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.ltarget, + "Link target should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.uid, + "Uid should not match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.gid, + "Gid shoud match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.mtime, + "Mtime should match for symlink %s:%s"%(pkg.name, filepath)) # modify link_target os.remove(filepath) @@ -188,72 +213,116 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): self.assertGreater(len(inst["LinkTarget"]), len(inst["ExpectedLinkTarget"])) - self.assertTrue(cur_pflags.exists) - self.assertTrue(cur_pflags.type) - self.assertFalse(cur_pflags.size) - self.assertTrue(cur_pflags.mode) - self.assertTrue(cur_pflags.checksum) - self.assertTrue(cur_pflags.dev) - self.assertFalse(cur_pflags.ltarget) - self.assertTrue(cur_pflags.uid) - self.assertTrue(cur_pflags.gid) - self.assertTrue(cur_pflags.mtime) - - def do_check_directory(self, filepath, inst): + self.assertTrue(cur_pflags.exists, + "File %s:%s should exist"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.type, + "File type should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.size, + "File size should not match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.mode, + "File mode should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.checksum, + "Checksum should match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.dev, + "Device numbers should match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.ltarget, + "Link target should not match for symlink %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.uid, + "File uid should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.gid, + "File gid should match for symlink %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.mtime, + "File mtime should match for symlink %s:%s"%(pkg.name, filepath)) + + def do_check_directory(self, pkg, filepath, inst): """ Assert some details about directory. """ stats = os.lstat(filepath) - self.assertEqual(inst["FileType"], pywbem.Uint16(2)) - self.assertEqual(inst["FileUserID"], stats.st_uid) - self.assertEqual(inst["FileGroupID"], stats.st_gid) - self.assertEqual(inst["FileMode"], stats.st_mode) - self.assertEqual(inst["FileSize"], stats.st_size) + self.assertEqual(pywbem.Uint16(2), inst["FileType"], + "Unexpected type for directory %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_uid, inst["FileUserID"], + "Unexpected uid for directory %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_gid, inst["FileGroupID"], + "Unexpected gid for directory %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_mode, inst["FileMode"], + "Unexpected mode for directory %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_size, inst["FileSize"], + "Unexpected size for directory %s:%s"%(pkg.name, filepath)) self.assertIs(inst["LinkTarget"], None) - self.assertEqual(inst["FileChecksum"], - "0"*self.hash_num2length[inst["FileChecksumType"]]) - self.assertEqual(inst["LastModificationTime"], - int(stats.st_mtime)) + self.assertEqual("0"*self.hash_num2length[inst["FileChecksumType"]], + inst["FileChecksum"], + "Unexpected checksum for directory %s:%s"%(pkg.name, filepath)) + self.assertEqual(int(stats.st_mtime), inst["LastModificationTime"], + "Unexpected mtime for directory %s:%s"%(pkg.name, filepath)) - def do_check_file(self, filepath, inst): + def do_check_file(self, pkg, filepath, inst): """ Assert some details about regurar file. """ stats = os.lstat(filepath) - self.assertEqual(inst["FileType"], pywbem.Uint16(1)) - self.assertEqual(inst["FileUserID"], stats.st_uid) - self.assertEqual(inst["FileGroupID"], stats.st_gid) - self.assertEqual(inst["FileMode"], stats.st_mode) - self.assertEqual(inst["FileSize"], stats.st_size) + self.assertEqual(pywbem.Uint16(1), inst["FileType"], + "Unexpected file type for %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_uid, inst["FileUserID"], + "Unexpected file uid for %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_gid, inst["FileGroupID"], + "Unexpected gid for regular file %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_mode, inst["FileMode"], + "Unexpected mode for reqular file %s:%s"%(pkg.name, filepath)) + self.assertEqual(stats.st_size, inst["FileSize"], + "Unexpected size for reqular file %s:%s"%(pkg.name, filepath)) self.assertIs(inst["LinkTarget"], None) csum = self.make_checksum_str(inst['FileChecksumType'], filepath) - self.assertEqual(inst["FileChecksum"].lower(), csum) - self.assertEqual(inst["ExpectedLastModificationTime"], - inst["LastModificationTime"]) + self.assertEqual(csum, inst["FileChecksum"].lower(), + "Unexpected checksum for reqular file %s:%s"%(pkg.name, filepath)) self.assertEqual(inst["LastModificationTime"], - int(stats.st_mtime)) + inst["ExpectedLastModificationTime"], + "Unexpected mtime for reqular file %s:%s"%(pkg.name, filepath)) + self.assertEqual(int(stats.st_mtime), inst["LastModificationTime"], + "Unexpected mtime for reqular file %s:%s"%(pkg.name, filepath)) # make it longer with open(filepath, "a+") as fobj: fobj.write("data\n") inst = self.conn.GetInstance(InstanceName=inst.path) cur_pflags = PassedFlags(*inst["PassedFlags"]) - self.assertGreater(inst["FileSize"], inst["ExpectedFileSize"]) + self.assertGreater(inst["FileSize"], inst["ExpectedFileSize"], + "File size should be greater, then expected for reqular file" + " %s:%s"%(pkg.name, filepath)) self.assertGreater(inst["LastModificationTime"], - inst["ExpectedLastModificationTime"]) - - self.assertTrue(cur_pflags.exists) - self.assertTrue(cur_pflags.type) - self.assertFalse(cur_pflags.size) - self.assertTrue(cur_pflags.mode) - self.assertFalse(cur_pflags.checksum) - self.assertTrue(cur_pflags.dev) - self.assertTrue(cur_pflags.ltarget) - self.assertTrue(cur_pflags.uid) - self.assertTrue(cur_pflags.gid) - self.assertFalse(cur_pflags.mtime) + inst["ExpectedLastModificationTime"], + "Unexpected mtime for reqular file %s:%s"%(pkg.name, filepath)) + + self.assertTrue(cur_pflags.exists, + "Regular file should exist %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.type, + "Type of regular file should match for %s:%s"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.size, + "Size should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.mode, + "Mode should match for regular file %s:%s"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.checksum, + "Checksum should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.dev, + "Device number should match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.ltarget, + "Link target should match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.uid, + "File uid should match for %s:%s"%(pkg.name, filepath)) + self.assertTrue(cur_pflags.gid, + "File gid should match for %s:%s"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.mtime, + "File mtime should not match for %s:%s"%(pkg.name, filepath)) # change file type os.remove(filepath) @@ -262,30 +331,59 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): inst["ExpectedFileGroupID"]) inst = self.conn.GetInstance(InstanceName=inst.path) cur_pflags = PassedFlags(*inst["PassedFlags"]) - self.assertNotEqual(inst["LinkTarget"], inst["ExpectedLinkTarget"]) - self.assertNotEqual(inst["FileSize"], inst["ExpectedFileSize"]) + self.assertNotEqual(inst["ExpectedLinkTarget"], inst["LinkTarget"], + "Link target should not match for %s:%s"%(pkg.name, filepath)) + self.assertNotEqual(inst["ExpectedFileSize"], inst["FileSize"], + "File size should not match for %s:%s"%(pkg.name, filepath)) self.assertGreater(inst["LastModificationTime"], - inst["ExpectedLastModificationTime"]) - self.assertNotEqual(inst["FileType"], inst["ExpectedFileType"]) - self.assertEqual(inst["FileType"], pywbem.Uint16(3)) - - self.assertTrue(cur_pflags.exists) - self.assertFalse(cur_pflags.type) - self.assertFalse(cur_pflags.size) - self.assertFalse(cur_pflags.mode) - self.assertFalse(cur_pflags.checksum) - self.assertTrue(cur_pflags.dev) - self.assertFalse(cur_pflags.ltarget) - self.assertTrue(cur_pflags.uid) - self.assertTrue(cur_pflags.gid) - self.assertFalse(cur_pflags.mtime) + inst["ExpectedLastModificationTime"], + "File mtime should be greater than expected for %s:%s"%( + pkg.name, filepath)) + self.assertNotEqual(inst["ExpectedFileType"], inst["FileType"], + "File type should not match for %s:%s"%(pkg.name, filepath)) + self.assertEqual(pywbem.Uint16(3), inst["FileType"], + "File type should match for %s:%s"%(pkg.name, filepath)) + + self.assertTrue(cur_pflags.exists, + "Regular file %s:%s should exist"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.type, + "Regular file type should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.size, + "Size should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.mode, + "File mode should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.checksum, + "Checksum should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.dev, + "Device should match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.ltarget, + "Link target should not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.uid, + "Regular file's uid should match for %s:%s"%( + pkg.name, filepath)) + self.assertTrue(cur_pflags.gid, + "Regular file's gid should match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.mtime, + "Regular file's mtime should not match for %s:%s"%( + pkg.name, filepath)) # remove it os.remove(filepath) inst = self.conn.GetInstance(InstanceName=inst.path) cur_pflags = PassedFlags(*inst["PassedFlags"]) - self.assertEqual(inst["LinkTarget"], inst["ExpectedLinkTarget"]) - self.assertNotEqual(inst["FileSize"], inst["ExpectedFileSize"]) + self.assertEqual(inst["ExpectedLinkTarget"], inst["LinkTarget"], + "Link target does not match for regular file %s:%s"%( + pkg.name, filepath)) + self.assertNotEqual(inst["ExpectedFileSize"], inst["FileSize"], + "File size should not match for regular file %s:%s"%( + pkg.name, filepath)) self.assertIsNone(inst["LastModificationTime"]) self.assertIsNone(inst["FileType"]) self.assertIsNone(inst["FileChecksum"]) @@ -293,16 +391,35 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): self.assertIsNone(inst["FileUserID"]) self.assertIsNone(inst["FileGroupID"]) - self.assertFalse(cur_pflags.exists) - self.assertFalse(cur_pflags.type) - self.assertFalse(cur_pflags.size) - self.assertFalse(cur_pflags.mode) - self.assertFalse(cur_pflags.checksum) - self.assertFalse(cur_pflags.dev) - self.assertFalse(cur_pflags.ltarget) - self.assertFalse(cur_pflags.uid) - self.assertFalse(cur_pflags.gid) - self.assertFalse(cur_pflags.mtime) + self.assertFalse(cur_pflags.exists, + "Regular file %s:%s should not exist"%(pkg.name, filepath)) + self.assertFalse(cur_pflags.type, + "Regular file's type should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.size, + "Regular file's size should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.mode, + "Regular file's mode should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.checksum, + "Regular file's checksum should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.dev, + "Regular file's dev number should not match %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.ltarget, + "Regular file's link target should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.uid, + "Regular file's uid should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.gid, + "Regular file's guid should not match for %s:%s"%( + pkg.name, filepath)) + self.assertFalse(cur_pflags.mtime, + "Regular file's mtime should not match for %s:%s"%( + pkg.name, filepath)) @common.mark_dangerous def test_get_instance(self): @@ -316,7 +433,9 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): common.remove_pkg(pkg.name) if not common.is_installed(pkg.name): common.install_pkg(pkg) - self.assertTrue(common.is_installed(pkg)) + self.assertTrue(common.is_installed(pkg), + "Package %s must be installed"%pkg) + for filepath in files: objpath = self.make_op(pkg, filepath) @@ -324,27 +443,38 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): InstanceName=objpath, LocalOnly=False) self.assertIsInstance(inst, pywbem.CIMInstance) - self.assertEqual(inst.path, objpath) + self.assertEqual(objpath, inst.path, + msg="Object paths of instance must match for %s:%s"%( + pkg.name, filepath)) for key in self.KEYS: if key.lower() == "softwareelementid": - self.assertEqualSEID(inst[key], objpath[key]) + self.assertEqualSEID(inst[key], objpath[key], + "OP keys should match for %s:%s"%( + pkg.name, filepath)) else: - self.assertEqual(inst[key], objpath[key]) - - self.assertTrue(inst["FileExists"]) - self.assertEqual(len(inst["PassedFlags"]), 10) - self.assertTrue(all( filepath is True - for filepath in inst["PassedFlags"])) + self.assertEqual(objpath[key], inst[key], + "OP keys should match for %s:%s"%( + pkg.name, filepath)) + + self.assertTrue(inst["FileExists"], + "File %s:%s must exist"%(pkg.name, filepath)) + self.assertEqual(10, len(inst["PassedFlags"]), + "PassedFlags must have constant length") + for i, flag in enumerate(inst["PassedFlags"]): + self.assertTrue(flag is True, + "Flag \"%s\" should all match for file %s:%s"%( + inst["PassedFlagsDescriptions"][i], pkg.name, filepath)) for prop in ( "FileType", "FileUserID", "FileGroupID" , "FileMode", "FileSize", "LinkTarget" , "FileChecksum", "FileModeFlags"): - self.assertEqual(inst["Expected"+prop], inst[prop]) + self.assertEqual(inst["Expected"+prop], inst[prop], + "%s should match for %s:%s"%(prop, pkg.name, filepath)) if os.path.islink(filepath): - self.do_check_symlink(filepath, inst) + self.do_check_symlink(pkg, filepath, inst) elif os.path.isdir(filepath): - self.do_check_directory(filepath, inst) + self.do_check_directory(pkg, filepath, inst) elif os.path.isfile(filepath): - self.do_check_file(filepath, inst) + self.do_check_file(pkg, filepath, inst) @common.mark_dangerous def test_invoke_method(self): @@ -357,14 +487,17 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): common.remove_pkg(pkg.name) if not common.is_installed(pkg.name): common.install_pkg(pkg) - self.assertTrue(common.is_installed(pkg)) + self.assertTrue(common.is_installed(pkg), + "Package %s must be installed"%pkg) for filepath in files: objpath = self.make_op(pkg, filepath) (rval, _) = self.conn.InvokeMethod( MethodName="Invoke", ObjectName=objpath) - self.assertEqual(rval, pywbem.Uint32(0)) + self.assertEqual(pywbem.Uint32(0), rval, + msg="InvokeMethod should be successful for %s:%s"%( + pkg.name, filepath)) # modify file if os.path.isfile(filepath): @@ -374,7 +507,9 @@ class TestSoftwareFileCheck(common.SoftwareBaseTestCase): (rval, _) = self.conn.InvokeMethod( MethodName="Invoke", ObjectName=objpath) - self.assertEqual(rval, pywbem.Uint32(2)) + self.assertEqual(pywbem.Uint32(2), rval, + "InvokeMethod should not pass for modified file %s:%s"%( + pkg.name, filepath)) def suite(): """For unittest loaders.""" |