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