def test_xorg_invalid_conf(self): '''XorgDriverHandler with invalid xorg.conf''' # append some breakage f = open(OSLib.inst.xorg_conf_path, 'a') print >> f, ''' EndSection Section "Module" EndSection ''' f.close() h = XorgDriverHandler(self.backend, 'vanilla3d', 'mesa-vanilla', 'v3d', 'vanilla', extra_conf_options={'SuperSpeed': 'true'}, add_modules=['glx'], disable_modules=['dri2'], remove_modules=['dri'], name='Vanilla accelerated graphics driver') self.assertEqual(h.name(), 'Vanilla accelerated graphics driver') self.assertEqual(h.description(), OSLib.inst.package_description('mesa-vanilla')[1]) self.assertEqual(h.rationale(), None) self.failIf(h.free()) self.failIf(h.changed()) self.assert_('xorg.conf is invalid' in h.can_change()) self.failIf(h.enabled()) self.assertEqual(h.available(), None) self.failIf(h.enable()) self.failIf(h.changed()) self.failIf(h.enabled()) self.failIf(h.disable()) self.failIf(h.changed()) self.failIf(h.enabled())
def test_xorg_driver_modules(self): '''XorgDriverHandler with default Modules xorg.conf section''' # append a Module section f = open(OSLib.inst.xorg_conf_path, 'a') print >> f, ''' Section "Module" Load "dri" SubSection "extmod" Option "omit xfree86-dga" EndSubSection Load "foo" EndSection ''' f.close() h = XorgDriverHandler(self.backend, 'vanilla3d', 'mesa-vanilla', 'v3d', 'vanilla', extra_conf_options={'SuperSpeed': 'true'}, add_modules=['glx'], disable_modules=['dri2'], remove_modules=['dri'], name='Vanilla accelerated graphics driver') self.assertEqual(h.name(), 'Vanilla accelerated graphics driver') self.assertEqual(h.description(), OSLib.inst.package_description('mesa-vanilla')[1]) self.assertEqual(h.rationale(), None) self.failIf(h.free()) self.failIf(h.changed()) self.assertEqual(h.can_change(), None) self.failIf(h.enabled()) self.assertEqual(h.available(), None) self.failIf(h.enable()) self.assert_(h.changed()) self.assert_(h.enabled()) self.assert_(OSLib.inst.package_installed('mesa-vanilla')) self.failIf(OSLib.inst.module_blacklisted('vanilla3d')) conf = open(OSLib.inst.xorg_conf_path).read() self.assert_(re.search('^\s*driver\s*"v3d"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*option\s*"SuperSpeed"\s*"true"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*load\s*"glx"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*disable\s*"dri2"\s*$', conf, re.I|re.M)) self.failIf(re.search('^\s*load\s*"dri"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*load\s*"foo"\s*$', conf, re.I|re.M)) # unlink backup file os.unlink(os.path.join(OSLib.inst.backup_dir, 'v3d.oldconf')) # should restore module dri, drop glx and remove dri2 self.failIf(h.disable()) self.assert_(h.changed()) self.failIf(h.enabled()) self.failIf(OSLib.inst.package_installed('mesa-vanilla')) self.assert_(OSLib.inst.module_blacklisted('vanilla3d')) conf = open(OSLib.inst.xorg_conf_path).read() self.failIf(re.search('^\s*load\s*"glx"\s*$', conf, re.I|re.M)) self.failIf(re.search('^\s*disable\s*"dri2"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*load\s*"dri"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*load\s*"foo"\s*$', conf, re.I|re.M))
def test_xorg_driver_nomodules(self): '''XorgDriverHandler with no default Modules xorg.conf section''' h = XorgDriverHandler(self.backend, 'vanilla3d', 'mesa-vanilla', 'v3d', 'vanilla', extra_conf_options={'SuperSpeed': 'true'}, add_modules=['glx'], disable_modules=['dri2'], remove_modules=['dri'], name='Vanilla accelerated graphics driver') orig_xorg_conf = open(OSLib.inst.xorg_conf_path).read() self.assertEqual(h.name(), 'Vanilla accelerated graphics driver') self.assertEqual(h.id(), 'xorg:vanilla3d') self.assertEqual(h.description(), OSLib.inst.package_description('mesa-vanilla')[1]) self.assertEqual(h.rationale(), None) self.failIf(h.free()) self.failIf(h.changed()) self.assertEqual(h.can_change(), None) self.failIf(h.enabled()) self.failIf(h.used()) self.assertEqual(h.available(), None) self.failIf(h.enables_composite()) self.failIf(h.enable()) self.assert_(h.changed()) self.failIf(h.used()) # X.org needs to be restarted for this to work self.assert_(h.enabled()) self.assert_(OSLib.inst.package_installed('mesa-vanilla')) self.failIf(OSLib.inst.module_blacklisted('vanilla3d')) conf = open(OSLib.inst.xorg_conf_path).read() self.assert_(re.search('^\s*driver\s*"v3d"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*option\s*"SuperSpeed"\s*"true"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*load\s*"glx"\s*$', conf, re.I|re.M)) self.assert_(re.search('^\s*disable\s*"dri2"\s*$', conf, re.I|re.M)) self.failIf(re.search('^\s*load\s*"dri"\s*$', conf, re.I|re.M)) # driver should be used when loading the module (done in enable()) and # starting jockey again h2 = XorgDriverHandler(self.backend, 'vanilla3d', 'mesa-vanilla', 'v3d', 'vanilla', extra_conf_options={'SuperSpeed': 'true'}, add_modules=['glx'], disable_modules=['dri2'], remove_modules=['dri'], name='Vanilla accelerated graphics driver') self.assert_(h2.enabled()) self.assert_(h2.used()) self.failIf(h.disable()) self.assert_(h.changed()) self.failIf(h.enabled()) self.failIf(h.used()) # wasn't used after enabling self.failIf(OSLib.inst.package_installed('mesa-vanilla')) self.assert_(OSLib.inst.module_blacklisted('vanilla3d')) # restores original backup self.assertEqual(open(OSLib.inst.xorg_conf_path).read(), orig_xorg_conf) # vendor h.driver_vendor = 'Foo Bar' self.assertEqual(h.id(), 'xorg:vanilla3d:Foo_Bar')
def test_xorg_invalid_conf(self): """XorgDriverHandler with invalid xorg.conf""" # append some breakage f = open(OSLib.inst.xorg_conf_path, "a") print >> f, """ EndSection Section "Module" EndSection """ f.close() h = XorgDriverHandler( self.backend, "vanilla3d", "mesa-vanilla", "v3d", "vanilla", extra_conf_options={"SuperSpeed": "true"}, add_modules=["glx"], disable_modules=["dri2"], remove_modules=["dri"], name="Vanilla accelerated graphics driver", ) self.assertEqual(h.name(), "Vanilla accelerated graphics driver") self.assertEqual(h.description(), OSLib.inst.package_description("mesa-vanilla")[1]) self.assertEqual(h.rationale(), None) self.failIf(h.free()) self.failIf(h.changed()) self.assert_("xorg.conf is invalid" in h.can_change()) self.failIf(h.enabled()) self.assertEqual(h.available(), None) self.failIf(h.enable()) self.failIf(h.changed()) self.failIf(h.enabled()) self.failIf(h.disable()) self.failIf(h.changed()) self.failIf(h.enabled())
def test_xorg_driver_modules(self): """XorgDriverHandler with default Modules xorg.conf section""" # append a Module section f = open(OSLib.inst.xorg_conf_path, "a") print >> f, """ Section "Module" Load "dri" SubSection "extmod" Option "omit xfree86-dga" EndSubSection Load "foo" EndSection """ f.close() h = XorgDriverHandler( self.backend, "vanilla3d", "mesa-vanilla", "v3d", "vanilla", extra_conf_options={"SuperSpeed": "true"}, add_modules=["glx"], disable_modules=["dri2"], remove_modules=["dri"], name="Vanilla accelerated graphics driver", ) self.assertEqual(h.name(), "Vanilla accelerated graphics driver") self.assertEqual(h.description(), OSLib.inst.package_description("mesa-vanilla")[1]) self.assertEqual(h.rationale(), None) self.failIf(h.free()) self.failIf(h.changed()) self.assertEqual(h.can_change(), None) self.failIf(h.enabled()) self.assertEqual(h.available(), None) self.failIf(h.enable()) self.assert_(h.changed()) self.assert_(h.enabled()) self.assert_(OSLib.inst.package_installed("mesa-vanilla")) self.failIf(OSLib.inst.module_blacklisted("vanilla3d")) conf = open(OSLib.inst.xorg_conf_path).read() self.assert_(re.search('^\s*driver\s*"v3d"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*option\s*"SuperSpeed"\s*"true"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*load\s*"glx"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*disable\s*"dri2"\s*$', conf, re.I | re.M)) self.failIf(re.search('^\s*load\s*"dri"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*load\s*"foo"\s*$', conf, re.I | re.M)) # unlink backup file os.unlink(os.path.join(OSLib.inst.backup_dir, "v3d.oldconf")) # should restore module dri, drop glx and remove dri2 self.failIf(h.disable()) self.assert_(h.changed()) self.failIf(h.enabled()) self.failIf(OSLib.inst.package_installed("mesa-vanilla")) self.assert_(OSLib.inst.module_blacklisted("vanilla3d")) conf = open(OSLib.inst.xorg_conf_path).read() self.failIf(re.search('^\s*load\s*"glx"\s*$', conf, re.I | re.M)) self.failIf(re.search('^\s*disable\s*"dri2"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*load\s*"dri"\s*$', conf, re.I | re.M)) self.assert_(re.search('^\s*load\s*"foo"\s*$', conf, re.I | re.M))