Author: gnichols
Date: 2012-04-20 13:22:45 +0000 (Fri, 20 Apr 2012)
New Revision: 1288
Modified:
trunk/tests/info/info.py
Log:
812437 - getModuleFile may return 'null' \n811247 - kabi-whitelists structure
changing makes kabi check fail
Modified: trunk/tests/info/info.py
===================================================================
--- trunk/tests/info/info.py 2012-04-20 13:19:08 UTC (rev 1287)
+++ trunk/tests/info/info.py 2012-04-20 13:22:45 UTC (rev 1288)
@@ -292,6 +292,10 @@
module = line.split()[0]
moduleFile = self.getModuleFile(module)
+ if not moduleFile:
+ success = False
+ continue
+
# check that modules come from the kernel RPM.
if not moduleFile in kernelRPMModuleList:
# RHEL4 does not include kmod
@@ -320,6 +324,8 @@
warnVendorList = ["Fedora", "Fedora Project"]
try:
moduleFile = self.getModuleFile(module)
+ if not moduleFile:
+ return False
vendor = Command("rpm -qf %s --qf %%{VENDOR}" %
moduleFile).getString()
if vendor in goodVendorList:
@@ -418,10 +424,16 @@
if os.path.islink(moduleFile):
moduleFile = os.readlink(moduleFile)
return moduleFile
+ else:
+ print "Error: module source version mismatch: "
+ print " /sys/modules/%s/srcversion: %s" % (module,
sysSrcVersion)
+ print " modinfo -F srcversion: %s" % modInfoSrcVersion
+
except V7CommandException, e:
- print "Error: could no find module file:"
+ print "Error: could no find module file for %s:" % module
print e
e.command.printErrors()
+
return None
@@ -441,13 +453,19 @@
# skip abi checks for rt kernel
if self.redHatRelease.getKernelFlavor() == Constants.rt:
return True
- whitelist = '/usr/src/kernels/%s-%s/kabi_whitelist' %
(self.redHatRelease.getKernel(), self.redHatRelease.getArch())
+ whitelistLocations = [("/lib/modules/kabi-current/kabi_whitelist_" +
self.redHatRelease.getArch()), # RHEL 6.3
+ ("/lib/modules/kabi/kabi_whitelist_" +
self.redHatRelease.getArch()), # RHEL 6.2 ?
+ ("/usr/src/kernels/%s-%s/kabi_whitelist" %
(self.redHatRelease.getKernel(), self.redHatRelease.getArch())) # ?
+ ]
+
+ for whitelist in whitelistLocations:
+ if os.path.exists(whitelist):
+ break
+
if not os.path.exists(whitelist):
- usrSrcWhitelist = whitelist
- whitelist = "/lib/modules/kabi/kabi_whitelist_" +
self.redHatRelease.getArch()
- if not os.path.exists(whitelist):
- print "Error: could not find whitelist file %s or %s"
%(usrSrcWhitelist, whitelist)
- return False
+ print "Error: could not find whitelist file in any of the following
locations:"
+ print "\n".join(whitelistLocations)
+ return False
print "Red Hat Enterprise Linux %u ABI" %
self.redHatRelease.getVersion()
print "--------------------------------"
Show replies by date