def test_failures(): lspciOutput = open(os.path.join( TEST_DIR, "upgrade", "lspci.unsupported")).read() def lspci(_argv): return (lspciOutput, 0) fauxroot.resetLogs() reload(fauxconfig) fauxroot.WRITTEN_FILES["/etc/vmware/esx.conf"] = fauxroot.CopyOnWriteFile( '/system/uuid = "473027ac-5705f21d-6d09-000c2918f3dd"\n') fauxroot.EXEC_FUNCTIONS['/sbin/lspci'] = lspci inventoryContent = open( os.path.join(TEST_DIR, "upgrade", "vmInventory-old.xml")).read() fauxroot.WRITTEN_FILES["/etc/vmware/hostd/vmInventory.xml"] = \ fauxroot.CopyOnWriteFile(inventoryContent) expected = open(os.path.join( TEST_DIR, "upgrade", "precheck-failures.xml")).read() try: got = _captureMain() print got finally: del fauxroot.EXEC_FUNCTIONS['/sbin/lspci'] assert got == expected
def _captureMain(): newStdout = StringIO() oldStdout = sys.stdout try: fauxroot.WRITTEN_FILES["/"] = fauxroot.CopyOnWriteFile( fmode=stat.S_IFDIR) fauxroot.WRITTEN_FILES["/boot"] = fauxroot.CopyOnWriteFile( fmode=stat.S_IFDIR) fauxroot.FAUXROOT = [DEFAULT_CONFIG_NAME] sys.stdout = newStdout precheck.main([]) finally: sys.stdout = oldStdout fauxroot.FAUXROOT = [] return newStdout.getvalue()
def test_hasEsxConf(): fauxroot.resetLogs() reload(fauxconfig) fauxroot.WRITTEN_FILES["/etc/vmware/esx.conf"] = fauxroot.CopyOnWriteFile( '/system/uuid = "473027ac-5705f21d-6d09-000c2918f3dd"\n') expected = open(os.path.join( TEST_DIR, "upgrade", "precheck-esxconf.xml")).read() got = _captureMain() print got assert got == expected
def test_noEsxConf(): fauxroot.resetLogs() reload(fauxconfig) expected = open(os.path.join( TEST_DIR, "upgrade", "precheck-noesxconf.xml")).read() inventoryContent = open( os.path.join(TEST_DIR, "upgrade", "vmInventory.xml")).read() fauxroot.WRITTEN_FILES["/etc/vmware/hostd/vmInventory.xml"] = \ fauxroot.CopyOnWriteFile(inventoryContent) got = _captureMain() print got assert got == expected
def test_notEnoughMemory(): def usrSbinEsxcfgInfo(_argv): return (" |---Physical Mem.............536870912\n" " |---Service Console Mem (Cfg)....272\n", 0) fauxroot.resetLogs() reload(fauxconfig) fauxroot.WRITTEN_FILES["/etc/vmware/esx.conf"] = fauxroot.CopyOnWriteFile( '/system/uuid = "473027ac-5705f21d-6d09-000c2918f3dd"\n') expected = open(os.path.join( TEST_DIR, "upgrade", "precheck-mem.xml")).read() fauxroot.EXEC_FUNCTIONS['/usr/sbin/esxcfg-info'] = usrSbinEsxcfgInfo got = _captureMain() print got assert got == expected
superBlockFormat = 'IIIIIII7IBBH8IIII16s16s' retval = "\0" * superBlockOffset superBlock = [0] * 14 superBlock += [0123, 0357] # magic numbers superBlock += [0] + [0] * 11 superBlock += [util.uuidStringToBits(uuid)] superBlock += ['\0' * 16] retval += struct.pack(superBlockFormat, *superBlock) return retval fauxroot.WRITTEN_FILES["/dev/sda1"] = fauxroot.CopyOnWriteFile( ext3PartitionContents(fauxroot.PART_UUID_CONFIG['/dev/sda1']), fmode=stat.S_IFBLK, rdev=(8 << 8 | 1)) fauxroot.WRITTEN_FILES["/dev/sda2"] = fauxroot.CopyOnWriteFile( ext3PartitionContents(fauxroot.PART_UUID_CONFIG['/dev/sda2']), fmode=stat.S_IFBLK, rdev=(8 << 8 | 1)) # A few fake rpm files for the rpm module to chew on. (nom nom nom) rpm.RPM_FILES = { 'VMware-esx-gunk-e.x.p-0.3.00000.i386.rpm' : dict( name='VMware-esx-gunk', size=1234, requires='', conflicts='' ), 'foopkg-3.2.i386.rpm' : dict(