import unittest import sh class Qnand(unittest.TestCase): params = None __device = "10M" __resultlist = None # resultlist is a python list of python dictionaries # varlist: device def __init__(self, testname, testfunc, varlist): self.params = varlist super(Qnand, self).__init__(testfunc) if "device" in varlist: self.__device = varlist["device"] else: raise Exception('device param inside Qnand must be defined') self._testMethodDoc = testname self.__resultlist = [] def execute(self): try: p = sh.nandtest("-m", self.__device) # save result with open('/tmp/nand-nandtest.txt', 'w') as outfile: n = outfile.write(p.stdout.decode('ascii')) self.__resultlist.append( { "desc": "nandtest output", "data": "/tmp/nand-nandtest.txt", "type": "file" } ) except sh.ErrorReturnCode as e: self.__resultlist.append( { "desc": "Test result", "data": "FAILED: could not complete nandtest command", "type": "string" } ) self.fail("failed: could not complete nandtest command") # Test successful self.__resultlist.append( { "desc": "Test result", "data": "OK", "type": "string" } ) def getresults(self): return self.__resultlist