Author: gnichols Date: 2010-01-29 14:47:10 +0000 (Fri, 29 Jan 2010) New Revision: 343
Modified: trunk/tests/info/info.py Log: 192245 - info test should call sosreport instead of sysreport
Modified: trunk/tests/info/info.py =================================================================== --- trunk/tests/info/info.py 2010-01-29 14:40:32 UTC (rev 342) +++ trunk/tests/info/info.py 2010-01-29 14:47:10 UTC (rev 343) @@ -28,19 +28,11 @@ self.deviceClass = DeviceClass.system self.mandatory = Constants.post # required at the end of each run # what RHEL are we testing? - self.osVersion = Constants.RHEL5 - etcRelease = open('/etc/redhat-release') - releaseDescription = etcRelease.readline() - if releaseDescription: - # 450068: FEAT: INFO test should check detailed OS version - print "OS Version: %s" % releaseDescription.strip() - if 'Nahant' in releaseDescription: - self.osVersion = Constants.RHEL4 - elif 'Fedora' in releaseDescription: - self.osVersion = releaseDescription.strip() - else: - print "Warning: could not read /etc/redhat-release" - etcRelease.close() + self.osVersion = "6" + (self.osProduct, self.osVersion, self.osCodeName) = self.getRedHatRelease() + print "Tested OS: %s %s (%s)" % (self.osProduct, self.osVersion, self.osCodeName) + +
self.getKernelRPMName() print "Kernel RPM: %s" % self.kernelRPMName @@ -66,7 +58,7 @@ unameOutput = unameOutput.strip()
self.kernelRPMName = None - if self.osVersion == Constants.RHEL4: + if "Red Hat" in self.osProduct and self.osVersion == "4": pattern = re.compile("(?P<versionRelease>[^a-z]*)(?P<name>smp|hugemem|largesmp)?$") match = pattern.search(unameOutput) if match: @@ -76,7 +68,7 @@ else: self.kernelRPMName = "kernel-%s" % match.group("versionRelease")
- elif self.osVersion == Constants.RHEL5: + elif "Red Hat" in self.osProduct and self.osVersion == "5": pattern = re.compile("(?P<versionRelease>[^a-z]*)(?P<product>el5)(?P<flavor>xen|PAE)?$") match = pattern.search(unameOutput) if match: @@ -85,7 +77,7 @@ flavor = "%s-" % match.group("flavor") self.kernelRPMName = "kernel-%s%s%s" % (flavor, match.group("versionRelease"), match.group("product"))
- elif 'Fedora' in self.osVersion: + elif 'Fedora' in self.osProduct: print "looking for Fedora kernel" print unameOutput pattern = re.compile("(?P<versionRelease>[^a-z]*)(?P<product>fc[0-9]+)(?P<arch>..*)$") @@ -197,7 +189,7 @@ break # module is NOT from the kernel RPM. if not found: - if self.osVersion is Constants.RHEL4: + if "Red Hat" in self.osProduct and self.osVersion == "4": print "Error: Non-Red Hat kernel module %s" % module elif not self.abiCheck(module): print "Error: Non-Red Hat kernel module %s fails ABI Whitelist check." % module @@ -361,7 +353,10 @@
def generateSystemReport(self): outputDirectory = os.getcwd() - pipe = os.popen("echo -e '\n\n' | sysreport -k rpm.rpmva=off 2>&1") + reportCommand = "sosreport" + if "Red Hat" in self.osProduct and self.osVersion == "4": + report = "sysreport" + pipe = os.popen("echo -e '\n\n' | %s -k rpm.rpmva=off 2>&1" % reportCommand) result = False while True: line = pipe.readline() @@ -369,9 +364,19 @@ print line.strip() sys.stdout.flush() word = line.split() - if len(word) > 3 and word[0] in "Please" and word[1] in "send": - shutil.copy(word[2], outputDirectory) - print "Copied sysreport %s to %s" % (word[2], outputDirectory) + tarFile = None + if reportCommand == "sysreport": + if len(word) > 3 and word[0] in "Please" and word[1] in "send": + tarFile = word[2] + else: # sosreport + if "generated and saved in" in line: + tarFile = pipe.readline().strip() + print tarFile + sys.stdout.flush() + + if tarFile: + shutil.copy(tarFile, outputDirectory) + print "Copied %s %s to %s" % (reportCommand, tarFile, outputDirectory) sys.stdout.flush() result = True break
v7-commits@lists.stg.fedorahosted.org