Anonymous avatar Anonymous committed c73534c

Get rid of indentation tabs in the test scripts and have runtest.py invoke them with the python -tt option to keep them out.

Comments (0)

Files changed (150)

     """
 
     def __init__(self, **kw):
-	"""Initialize an SCons testing object.
+        """Initialize an SCons testing object.
 
-	If they're not overridden by keyword arguments, this
-	initializes the object with the following default values:
+        If they're not overridden by keyword arguments, this
+        initializes the object with the following default values:
 
-		program = 'scons' if it exists,
-			  else 'scons.py'
-		interpreter = 'python'
-		match = match_exact
-		workdir = ''
+                program = 'scons' if it exists,
+                          else 'scons.py'
+                interpreter = 'python'
+                match = match_exact
+                workdir = ''
 
         The workdir value means that, by default, a temporary workspace
         directory is created for a TestSCons environment.  In addition,
-	this method changes directory (chdir) to the workspace directory,
-	so an explicit "chdir = '.'" on all of the run() method calls
-	is not necessary.
-	"""
-	if not kw.has_key('program'):
+        this method changes directory (chdir) to the workspace directory,
+        so an explicit "chdir = '.'" on all of the run() method calls
+        is not necessary.
+        """
+        if not kw.has_key('program'):
             kw['program'] = os.environ.get('SCONS')
             if not kw['program']:
                 if os.path.exists('scons'):
                     kw['program'] = 'scons'
                 else:
                     kw['program'] = 'scons.py'
-	if not kw.has_key('interpreter') and not os.environ.get('SCONS_EXEC'):
-	    kw['interpreter'] = [python, '-tt']
-	if not kw.has_key('match'):
-	    kw['match'] = match_exact
-	if not kw.has_key('workdir'):
-	    kw['workdir'] = ''
-	apply(TestCommon.__init__, [self], kw)
+        if not kw.has_key('interpreter') and not os.environ.get('SCONS_EXEC'):
+            kw['interpreter'] = [python, '-tt']
+        if not kw.has_key('match'):
+            kw['match'] = match_exact
+        if not kw.has_key('workdir'):
+            kw['workdir'] = ''
+        apply(TestCommon.__init__, [self], kw)
 
     def Environment(self, ENV=None, *args, **kw):
         """
         else:
             workpath = self.workpath()
 
-	if not sconscript:
-	    sconscript = self.workpath('SConstruct')
+        if not sconscript:
+            sconscript = self.workpath('SConstruct')
 
         exec_script_main = "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-%s'), join(sys.prefix, 'scons-%s'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons') ] + sys.path; import SCons.Script; SCons.Script.main()" % (self._scons_version, self._scons_version)
         exec_script_main_xml = string.replace(exec_script_main, "'", "'")
 sys.stdout = Unbuffered(sys.stdout)
 
 for t in tests:
-    t.command_args = [python]
+    t.command_args = [python, '-tt']
     if debug:
         t.command_args.append(debug)
     t.command_args.append(t.abspath)

src/engine/SCons/ActionTests.py

 
             def exitstatfunc(stat, result=exitstatfunc_result):
                 result.append(stat)
-		return stat
+                return stat
 
             result = a("out", "in", env, exitstatfunc=exitstatfunc)
             assert result == 0, result
         s = act4.strfunction([t1], [s1], env)
         assert s is None, s
 
-	act = SCons.Action.CommandAction("@foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("@foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("@-foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("@-foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("-@foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("-@foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("-foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "foo bar", s
+        act = SCons.Action.CommandAction("-foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "foo bar", s
 
-	act = SCons.Action.CommandAction("@ foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("@ foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("@- foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("@- foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("-@ foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "", s
+        act = SCons.Action.CommandAction("-@ foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "", s
 
-	act = SCons.Action.CommandAction("- foo bar")
-	s = act.strfunction([], [], env)
-	assert s == "foo bar", s
+        act = SCons.Action.CommandAction("- foo bar")
+        s = act.strfunction([], [], env)
+        assert s == "foo bar", s
 
     def test_execute(self):
         """Test execution of command Actions
         r = act([], [], env.Copy(out = outfile))
         assert r == expect_nonexecutable, "r == %d" % r
 
-	act = SCons.Action.CommandAction('%s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 1, r
+        act = SCons.Action.CommandAction('%s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 1, r
 
-	act = SCons.Action.CommandAction('@%s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 1, r
+        act = SCons.Action.CommandAction('@%s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 1, r
 
-	act = SCons.Action.CommandAction('@-%s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 0, r
+        act = SCons.Action.CommandAction('@-%s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 0, r
 
-	act = SCons.Action.CommandAction('-%s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 0, r
+        act = SCons.Action.CommandAction('-%s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 0, r
 
-	act = SCons.Action.CommandAction('@ %s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 1, r
+        act = SCons.Action.CommandAction('@ %s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 1, r
 
-	act = SCons.Action.CommandAction('@- %s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 0, r
+        act = SCons.Action.CommandAction('@- %s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 0, r
 
-	act = SCons.Action.CommandAction('- %s %s 1' % (python, exit_py))
-	r = act([], [], env)
-	assert r == 0, r
+        act = SCons.Action.CommandAction('- %s %s 1' % (python, exit_py))
+        r = act([], [], env)
+        assert r == 0, r
 
     def _DO_NOT_EXECUTE_test_pipe_execute(self):
         """Test capturing piped output from an action

src/engine/SCons/BuilderTests.py

 
         tgt = builder2(env, target='baz',
                        source=['test.bar', 'test2.foo', 'test3.txt'])[0]
-	s = str(tgt)
-	assert s == 'baz', s
-	s = map(str, tgt.sources)
-	assert s == ['test.foo', 'test2.foo', 'test3.txt'], s
-	s = map(str, tgt.sources[0].sources)
-	assert s == ['test.bar'], s
+        s = str(tgt)
+        assert s == 'baz', s
+        s = map(str, tgt.sources)
+        assert s == ['test.foo', 'test2.foo', 'test3.txt'], s
+        s = map(str, tgt.sources[0].sources)
+        assert s == ['test.bar'], s
 
         tgt = builder2(env, None, 'aaa.bar')[0]
-	s = str(tgt)
-	assert s == 'aaa', s
-	s = map(str, tgt.sources)
-	assert s == ['aaa.foo'], s
-	s = map(str, tgt.sources[0].sources)
-	assert s == ['aaa.bar'], s
+        s = str(tgt)
+        assert s == 'aaa', s
+        s = map(str, tgt.sources)
+        assert s == ['aaa.foo'], s
+        s = map(str, tgt.sources[0].sources)
+        assert s == ['aaa.bar'], s
 
         builder3 = SCons.Builder.MultiStepBuilder(action = 'foo',
                                                   src_builder = 'xyzzy',
                                                   suffix='.exe',
                                                   src_suffix='.obj')
         tgt = builder6(env, 'test', 'test.i')[0]
-	s = str(tgt)
+        s = str(tgt)
         assert s == 'test.exe', s
-	s = map(str, tgt.sources)
-	assert s == ['test_wrap.obj'], s
-	s = map(str, tgt.sources[0].sources)
-	assert s == ['test_wrap.c'], s
-	s = map(str, tgt.sources[0].sources[0].sources)
-	assert s == ['test.i'], s
+        s = map(str, tgt.sources)
+        assert s == ['test_wrap.obj'], s
+        s = map(str, tgt.sources[0].sources)
+        assert s == ['test_wrap.c'], s
+        s = map(str, tgt.sources[0].sources[0].sources)
+        assert s == ['test.i'], s
         
     def test_CompositeBuilder(self):
         """Testing CompositeBuilder class."""

src/engine/SCons/EnvironmentTests.py

     s2 = "env2 = {\n"
     d = {}
     for k in env1._dict.keys() + env2._dict.keys():
-	d[k] = None
+        d[k] = None
     keys = d.keys()
     keys.sort()
     for k in keys:
     s2 = "d2 = {\n"
     d = {}
     for k in d1.keys() + d2.keys():
-	d[k] = None
+        d[k] = None
     keys = d.keys()
     keys.sort()
     for k in keys:
 
 
     def test_Builder_execs(self):
-	"""Test Builder execution through different environments
-
-	One environment is initialized with a single
-	Builder object, one with a list of a single Builder
-	object, and one with a list of two Builder objects.
-	"""
-	global built_it
-
-	b1 = Builder()
-	b2 = Builder()
-
-	built_it = {}
+        """Test Builder execution through different environments
+
+        One environment is initialized with a single
+        Builder object, one with a list of a single Builder
+        object, and one with a list of two Builder objects.
+        """
+        global built_it
+
+        b1 = Builder()
+        b2 = Builder()
+
+        built_it = {}
         env3 = Environment()
         env3.Replace(BUILDERS = { 'builder1' : b1,
                                   'builder2' : b2 })
-	env3.builder1.execute(target = 'out1')
-	env3.builder2.execute(target = 'out2')
-	env3.builder1.execute(target = 'out3')
-	assert built_it['out1']
-	assert built_it['out2']
-	assert built_it['out3']
+        env3.builder1.execute(target = 'out1')
+        env3.builder2.execute(target = 'out2')
+        env3.builder1.execute(target = 'out3')
+        assert built_it['out1']
+        assert built_it['out2']
+        assert built_it['out3']
 
         env4 = env3.Copy()
         assert env4.builder1.env is env4, "builder1.env (%s) == env3 (%s)?" % (env4.builder1.env, env3)
         assert s == [s1, s1, None, s3, s3], s
 
     def test_ENV(self):
-	"""Test setting the external ENV in Environments
-	"""
-	env = Environment()
-	assert env.Dictionary().has_key('ENV')
-
-	env = Environment(ENV = { 'PATH' : '/foo:/bar' })
-	assert env.Dictionary('ENV')['PATH'] == '/foo:/bar'
+        """Test setting the external ENV in Environments
+        """
+        env = Environment()
+        assert env.Dictionary().has_key('ENV')
+
+        env = Environment(ENV = { 'PATH' : '/foo:/bar' })
+        assert env.Dictionary('ENV')['PATH'] == '/foo:/bar'
 
     def test_ReservedVariables(self):
         """Test generation of warnings when reserved variable names
         assert x is None, x
 
     def test_Dictionary(self):
-	"""Test retrieval of known construction variables
-
-	Fetch them from the Dictionary and check for well-known
-	defaults that get inserted.
-	"""
-	env = Environment(XXX = 'x', YYY = 'y', ZZZ = 'z')
-	assert env.Dictionary('XXX') == 'x'
-	assert env.Dictionary('YYY') == 'y'
-	assert env.Dictionary('XXX', 'ZZZ') == ['x', 'z']
-	xxx, zzz = env.Dictionary('XXX', 'ZZZ')
-	assert xxx == 'x'
-	assert zzz == 'z'
-	assert env.Dictionary().has_key('BUILDERS')
-	assert env.Dictionary().has_key('CC')
-	assert env.Dictionary().has_key('CCFLAGS')
-	assert env.Dictionary().has_key('ENV')
-
-	assert env['XXX'] == 'x'
-	env['XXX'] = 'foo'
-	assert env.Dictionary('XXX') == 'foo'
-	del env['XXX']
-	assert not env.Dictionary().has_key('XXX')
+        """Test retrieval of known construction variables
+
+        Fetch them from the Dictionary and check for well-known
+        defaults that get inserted.
+        """
+        env = Environment(XXX = 'x', YYY = 'y', ZZZ = 'z')
+        assert env.Dictionary('XXX') == 'x'
+        assert env.Dictionary('YYY') == 'y'
+        assert env.Dictionary('XXX', 'ZZZ') == ['x', 'z']
+        xxx, zzz = env.Dictionary('XXX', 'ZZZ')
+        assert xxx == 'x'
+        assert zzz == 'z'
+        assert env.Dictionary().has_key('BUILDERS')
+        assert env.Dictionary().has_key('CC')
+        assert env.Dictionary().has_key('CCFLAGS')
+        assert env.Dictionary().has_key('ENV')
+
+        assert env['XXX'] == 'x'
+        env['XXX'] = 'foo'
+        assert env.Dictionary('XXX') == 'foo'
+        del env['XXX']
+        assert not env.Dictionary().has_key('XXX')
 
     def test_FindIxes(self):
         "Test FindIxes()"
         assert i.path == 'dir2'
 
     def test_Install(self):
-	"""Test the Install method"""
+        """Test the Install method"""
         env = Environment(FOO='iii', BAR='jjj')
 
         tgt = env.Install('export', [ 'build/foo1', 'build/foo2' ])
         assert match, e
 
     def test_InstallAs(self):
-	"""Test the InstallAs method"""
+        """Test the InstallAs method"""
         env = Environment(FOO='iii', BAR='jjj')
 
         tgt = env.InstallAs(target=string.split('foo1 foo2'),

src/engine/SCons/ErrorsTests.py

             assert e.errstr == "foo"
 
     def test_InternalError(self):
-	"""Test the InternalError exception."""
+        """Test the InternalError exception."""
         try:
             raise SCons.Errors.InternalError, "test internal error"
         except SCons.Errors.InternalError, e:
             assert e.args == ("test internal error",)
 
     def test_UserError(self):
-	"""Test the UserError exception."""
+        """Test the UserError exception."""
         try:
             raise SCons.Errors.UserError, "test user error"
         except SCons.Errors.UserError, e:
             assert e.args == ("test user error",)
 
     def test_ExplicitExit(self):
-	"""Test the ExplicitExit exception."""
+        """Test the ExplicitExit exception."""
         try:
             raise SCons.Errors.ExplicitExit, "node"
         except SCons.Errors.ExplicitExit, e:
 if __name__ == "__main__":
     suite = unittest.makeSuite(ErrorsTestCase, 'test_')
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)

src/engine/SCons/Scanner/IDLTests.py

 import "f3.idl";
 
 [
-	object,
-	uuid(22995106-CE26-4561-AF1B-C71C6934B840),
-	dual,
-	helpstring("IBarObject Interface"),
-	pointer_default(unique)
+        object,
+        uuid(22995106-CE26-4561-AF1B-C71C6934B840),
+        dual,
+        helpstring("IBarObject Interface"),
+        pointer_default(unique)
 ]
 interface IBarObject : IDispatch
 {
 import <f3.idl>;
 
 [
-	object,
-	uuid(22995106-CE26-4561-AF1B-C71C6934B840),
-	dual,
-	helpstring(\"IBarObject Interface\"),
-	pointer_default(unique)
+        object,
+        uuid(22995106-CE26-4561-AF1B-C71C6934B840),
+        dual,
+        helpstring(\"IBarObject Interface\"),
+        pointer_default(unique)
 ]
 interface IBarObject : IDispatch
 {
 const char* x = \"#include <never.idl>\"
 
 [
-	object,
-	uuid(22995106-CE26-4561-AF1B-C71C6934B840),
-	dual,
-	helpstring(\"IBarObject Interface\"),
-	pointer_default(unique)
+        object,
+        uuid(22995106-CE26-4561-AF1B-C71C6934B840),
+        dual,
+        helpstring(\"IBarObject Interface\"),
+        pointer_default(unique)
 ]
 interface IBarObject : IDispatch
 {
 #include <fb.idl>
 
 [
-	object,
-	uuid(22995106-CE26-4561-AF1B-C71C6934B840),
-	dual,
-	helpstring(\"IBarObject Interface\"),
-	pointer_default(unique)
+        object,
+        uuid(22995106-CE26-4561-AF1B-C71C6934B840),
+        dual,
+        helpstring(\"IBarObject Interface\"),
+        pointer_default(unique)
 ]
 interface IBarObject : IDispatch
 {

src/engine/SCons/Sig/MD5Tests.py

     """
 
     def __init__(self, value = ""):
-	self.value = value
+        self.value = value
         
     def get_signature(self):
         if not hasattr(self, "sig"):
-	    self.sig = signature(self)
-	return self.sig
+            self.sig = signature(self)
+        return self.sig
 
     def get_contents(self):
-	return self.value
+        return self.value
 
 
 
 class MD5TestCase(unittest.TestCase):
 
     def test_current(self):
-	"""Test deciding if an object is up-to-date
+        """Test deciding if an object is up-to-date
 
-	Simple comparison of different "signature" values.
-	"""
-	obj = my_obj('111')
-	assert not current(obj.get_signature(), signature(my_obj('110')))
-	assert     current(obj.get_signature(), signature(my_obj('111')))
-	assert not current(obj.get_signature(), signature(my_obj('112')))
+        Simple comparison of different "signature" values.
+        """
+        obj = my_obj('111')
+        assert not current(obj.get_signature(), signature(my_obj('110')))
+        assert     current(obj.get_signature(), signature(my_obj('111')))
+        assert not current(obj.get_signature(), signature(my_obj('112')))
 
     def test_collect(self):
-	"""Test collecting a list of signatures into a new signature value
-	"""
+        """Test collecting a list of signatures into a new signature value
+        """
         s = map(signature, map(my_obj, ('111', '222', '333')))
         
         assert '698d51a19d8a121ce581499d7b701668' == collect(s[0:1])
         assert '8980c988edc2c78cc43ccb718c06efd5' == collect(s[0:2])
-	assert '53fd88c84ff8a285eb6e0a687e55b8c7' == collect(s)
+        assert '53fd88c84ff8a285eb6e0a687e55b8c7' == collect(s)
 
     def test_signature(self):
         """Test generating a signature"""
-	o1 = my_obj(value = '111')
+        o1 = my_obj(value = '111')
         s = signature(o1)
         assert '698d51a19d8a121ce581499d7b701668' == s, s
 
 if __name__ == "__main__":
     suite = unittest.makeSuite(MD5TestCase, 'test_')
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)

src/engine/SCons/Sig/TimeStampTests.py

     """
 
     def __init__(self, value = 0):
-	self.value = value
+        self.value = value
 
     def get_signature(self):
-	return self.value
+        return self.value
 
     def get_timestamp(self):
         return self.value
 class TimeStampTestCase(unittest.TestCase):
 
     def test_current(self):
-	"""Test deciding if an object is up-to-date
+        """Test deciding if an object is up-to-date
 
-	Simple comparison of different timestamp values.
-	"""
-	o1 = my_obj(value = 111)
-	assert not current(o1.get_signature(), 110)
-	assert current(o1.get_signature(), 111)
-	assert current(o1.get_signature(), 112)
+        Simple comparison of different timestamp values.
+        """
+        o1 = my_obj(value = 111)
+        assert not current(o1.get_signature(), 110)
+        assert current(o1.get_signature(), 111)
+        assert current(o1.get_signature(), 112)
 
     def test_collect(self):
-	"""Test collecting a list of signatures into a new signature value
-	into a new timestamp value.
-	"""
+        """Test collecting a list of signatures into a new signature value
+        into a new timestamp value.
+        """
         
-	assert 111 == collect((111,))
-	assert 222 == collect((111, 222))
-	assert 333 == collect((333, 222, 111))
+        assert 111 == collect((111,))
+        assert 222 == collect((111, 222))
+        assert 333 == collect((333, 222, 111))
 
     def test_signature(self):
         """Test generating a signature"""
 if __name__ == "__main__":
     suite = unittest.makeSuite(TimeStampTestCase, 'test_')
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)

src/engine/SCons/Tool/JavaCommonTests.py

         pkg_dir, classes = SCons.Tool.JavaCommon.parse_java("""\
 public class MyTabs
 {
-	private class MyInternal
-	{
-	}
-	private final static String PATH = "images\\\\";
+        private class MyInternal
+        {
+        }
+        private final static String PATH = "images\\\\";
 }
 """)
         assert pkg_dir == None, pkg_dir

src/engine/SCons/Tool/msvsTests.py

     print "Test MSVS 6 Registry"
     # print str(registry.root)
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)
 
     registry = DummyRegistry(regdata_6b)
     default_version = '6.0'
     print "Test Other MSVS 6 Registry"
     # print str(registry.root)
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)
 
     registry = DummyRegistry(regdata_67)
     default_version = '7.0'
     # print str(registry.root)
     print "Test MSVS 6 & 7 Registry"
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)
 
     registry = DummyRegistry(regdata_7)
     default_version = '7.0'
     # print str(registry.root)
     print "Test MSVS 7 Registry"
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)
 
     registry = DummyRegistry(regdata_none)
     default_version = '6.0'
     # print str(registry.root)
     print "Test Empty Registry"
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)

src/engine/SCons/WarningsTests.py

 if __name__ == "__main__":
     suite = unittest.makeSuite(WarningsTestCase, 'test_')
     if not unittest.TextTestRunner().run(suite).wasSuccessful():
-	sys.exit(1)
+        sys.exit(1)

src/test_setup.py

             self.version_lib = os.path.join(self.lib_dir, scons_version)
             self.man_dir = os.path.join(self.prefix, 'man', 'man1')
 
-	self.prepend_bin_dir = lambda p, d=self.bin_dir: os.path.join(d, p)
-	self.prepend_bat_dir = lambda p, d=self.bat_dir: os.path.join(d, p)
-	self.prepend_man_dir = lambda p, d=self.man_dir: os.path.join(d, p)
+        self.prepend_bin_dir = lambda p, d=self.bin_dir: os.path.join(d, p)
+        self.prepend_bat_dir = lambda p, d=self.bat_dir: os.path.join(d, p)
+        self.prepend_man_dir = lambda p, d=self.man_dir: os.path.join(d, p)
 
     def run(self, *args, **kw):
         kw['chdir'] = scons_version
         return 'Installed SCons man pages into %s' % self.man_dir
 
     def man_page_paths(self):
-	return map(self.prepend_man_dir, self._man_pages)
+        return map(self.prepend_man_dir, self._man_pages)
 
 
     def must_have_installed(self, paths):
 void
 library_function(void)
 {
-	printf("foo.c\n");
+        printf("foo.c\n");
 }
 """)
 
 void
 library_function(void)
 {
-	printf("bar.c\n");
+        printf("bar.c\n");
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	library_function();
-	exit (0);
+        argv[argc++] = "--";
+        library_function();
+        exit (0);
 }
 """)
 

test/AR/ARFLAGS.py

 void
 library_function(void)
 {
-	printf("foo.c\n");
+        printf("foo.c\n");
 }
 """)
 
 void
 library_function(void)
 {
-	printf("bar.c\n");
+        printf("bar.c\n");
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	library_function();
-	exit (0);
+        argv[argc++] = "--";
+        library_function();
+        exit (0);
 }
 """)
 
 .globl name
 name:
         .ascii	"aaa.s"
-	.byte	0
+        .byte	0
 """)
 
     test.write('bbb.s', """\
 .globl name
 name:
         .ascii	"bbb.s"
-	.byte	0
+        .byte	0
 """)
 
     test.write('ccc.h', """\
 .globl name
 name:
         .ascii	STRING
-	.byte	0
+        .byte	0
 """)
 
     test.write('aaa_main.c', r"""
     test.write('ccc.asm', 
 """
 DSEG	segment
-	PUBLIC _name
+        PUBLIC _name
 _name	byte "ccc.asm",0
 DSEG	ends
-	end
+        end
 """)
 
     test.write('ddd.asm', 
 """        
 DSEG	segment
-	PUBLIC _name
+        PUBLIC _name
 _name	byte "ddd.asm",0
 DSEG	ends
-	end
+        end
 """)
 
     test.write('ccc_main.c', r"""
 """
 global name
 name:
-	db 'eee.asm',0
+        db 'eee.asm',0
 """)
 
     test.write('fff.asm', 
 """        
 global name
 name:
-	db 'fff.asm',0
+        db 'fff.asm',0
 """)
 
     test.write('eee_main.c', r"""

test/BuildDir/BuildDir.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf(F1_STR);
-	exit (0);
+        argv[argc++] = "--";
+        printf(F1_STR);
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf(F2_STR);
-	exit (0);
+        argv[argc++] = "--";
+        printf(F2_STR);
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf(F3_STR);
-	exit (0);
+        argv[argc++] = "--";
+        printf(F3_STR);
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf(F4_STR);
-	exit (0);
+        argv[argc++] = "--";
+        printf(F4_STR);
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("work2/prog.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("work2/prog.c\n");
+        exit (0);
 }
 """)
 

test/BuildDir/removed-files.py

 
 int main(int argc, char* argv[])
 {
-	return test_dep();
+        return test_dep();
 }
 """)
 
 
 inline int test_dep()
 {
-	return 1;
+        return 1;
 }
 
 #endif //DEP_H
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:8] != '/*link*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:6] != '/*cc*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:8] != '/*link*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:6] != '/*cc*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 cc = Environment().Dictionary('CC')
 env = Environment(LINK = r'%s mylink.py',
                   CC = r'%s mycc.py',
-		  CXX = cc)
+                  CXX = cc)
 env.Program(target = 'test2', source = 'test2.C')
 """ % (python, python))
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 

test/CC/CCFLAGS.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
+        argv[argc++] = "--";
 #ifdef FOO
-	printf("prog.c:  FOO\n");
+        printf("prog.c:  FOO\n");
 #endif
 #ifdef BAR
-	printf("prog.c:  BAR\n");
+        printf("prog.c:  BAR\n");
 #endif
 #ifdef BAZ
-	printf("prog.c:  BAZ\n");
+        printf("prog.c:  BAZ\n");
 #endif
-	exit (0);
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 

test/CC/SHCCFLAGS.py

 doIt()
 {
 #ifdef FOO
-	printf("prog.c:  FOO\n");
+        printf("prog.c:  FOO\n");
 #endif
 #ifdef BAR
-	printf("prog.c:  BAR\n");
+        printf("prog.c:  BAR\n");
 #endif
 }
 """)

test/CFILESUFFIX.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("LEX\n");
-	printf("%s\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("LEX\n");
+        printf("%s\n");
+        exit (0);
 }
 """
 

test/CPPDEFINES.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
+        argv[argc++] = "--";
 #ifdef FOO
-	printf("prog.c:  FOO %d\n", VAL);
+        printf("prog.c:  FOO %d\n", VAL);
 #endif
 #ifdef BAR
-	printf("prog.c:  BAR %d\n", VAL);
+        printf("prog.c:  BAR %d\n", VAL);
 #endif
-	exit (0);
+        exit (0);
 }
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:clen] != '#' + compiler:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 
 test.write(['include', 'foo.h'],
 r"""
-#define	FOO_STRING "include/foo.h 1\n"
+#define FOO_STRING "include/foo.h 1\n"
 #include <bar.h>
 """)
 
 
 test.write(['subdir', 'include', 'foo.h'],
 r"""
-#define	FOO_STRING "subdir/include/foo.h 1\n"
+#define FOO_STRING "subdir/include/foo.h 1\n"
 #include "bar.h"
 """)
 
 
 test.write(['include', 'foo.h'],
 r"""
-#define	FOO_STRING "include/foo.h 2\n"
+#define FOO_STRING "include/foo.h 2\n"
 #include "bar.h"
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:8] != '/*link*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:7] != '/*c++*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:8] != '/*link*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:7] != '/*c++*/':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.cxx\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.cxx\n");
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.cxx\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.cxx\n");
+        exit (0);
 }
 """)
 

test/CXX/CXXFILESUFFIX.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("LEX\n");
-	printf("%s\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("LEX\n");
+        printf("%s\n");
+        exit (0);
 }
 """
 

test/CXX/SHCXX.py

 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 
 int
 main(int argc, char *argv[])
 {
-	argv[argc++] = "--";
-	printf("foo.c\n");
-	exit (0);
+        argv[argc++] = "--";
+        printf("foo.c\n");
+        exit (0);
 }
 """)
 

test/CXX/SHCXXFLAGS.py

 doIt()
 {
 #ifdef FOO
-	printf("prog.cpp:  FOO\n");
+        printf("prog.cpp:  FOO\n");
 #endif
 #ifdef BAR
-	printf("prog.cpp:  BAR\n");
+        printf("prog.cpp:  BAR\n");
 #endif
 }
 """)
 
 for dir in ['one', 'two', 'three', 'four', 'five']:
 
-    test.run(chdir = dir)	# no arguments, use the Default
+    test.run(chdir = dir)       # no arguments, use the Default
 
 test.fail_test(test.read(test.workpath('one', 'foo.out')) != "one/foo.in\n")
 test.fail_test(os.path.exists(test.workpath('one', 'bar')))
 
 test.write(['nine', 'sub1', 'xxx.in'], "sub1/xxx.in\n")
 
-test.run(chdir = 'nine')	# no arguments, use the Default
+test.run(chdir = 'nine')        # no arguments, use the Default
 
 test.fail_test(os.path.exists(test.workpath('nine', 'xxx.out')))
 test.fail_test(test.read(test.workpath('nine', 'sub1', 'xxx.out')) != "sub1/xxx.in\n")
 
 test.write(['ten', 'sub2', 'xxx.in'], "sub2/xxx.in\n")
 
-test.run(chdir = 'ten')	# no arguments, use the Default
+test.run(chdir = 'ten') # no arguments, use the Default
 
 test.fail_test(os.path.exists(test.workpath('ten', 'xxx.out')))
 test.fail_test(test.read(test.workpath('ten', 'sub2', 'xxx.out')) != "sub2/xxx.in\n")
 
 test.write(os.path.join('eleven', 'bar.in'), "eleven/bar.in\n");
 
-test.run(chdir = 'eleven')	# no arguments, use the Default
+test.run(chdir = 'eleven')      # no arguments, use the Default
 
 test.fail_test(test.read(test.workpath('eleven', 'foo.out')) != "eleven/foo.in\n")
 test.fail_test(os.path.exists(test.workpath('eleven', 'bar')))

test/Fortran/F77.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F77COM.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F77FLAGS.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:4] != '#g77':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F90.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:length] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F90COM.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F90FLAGS.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F95.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:length] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F95COM.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/F95FLAGS.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/FORTRAN.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:4] != '#g77':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/FORTRANCOM.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/FORTRANFLAGS.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:5] != '#link':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:8] != '#fortran':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF77.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF77COM.py

 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF77FLAGS.py

 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:4] != '#g77':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF90.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF90COM.py

 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF90FLAGS.py

 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF95.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF95COM.py

 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHF95FLAGS.py

 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHFORTRAN.py

 outfile = open(out, 'wb')
 for l in infile.readlines():
     if l[:8] != '#fortran':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHFORTRANCOM.py

 infile = open(sys.argv[3], 'rb')
 for l in infile.readlines():
     if l[:len(comment)] != comment:
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 

test/Fortran/SHFORTRANFLAGS.py

 outfile.write(optstring + "\n")
 for l in infile.readlines():
     if l[:8] != '#fortran':
-	outfile.write(l)
+        outfile.write(l)
 sys.exit(0)
 """)
 
 #include "resource.h"
 
 class ATL_NO_VTABLE CBarObject : 
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CBarObject, &CLSID_BarObject>,
-	public IDispatchImpl<IBarObject, &IID_IBarObject, &LIBID_BARLib>
+        public CComObjectRootEx<CComSingleThreadModel>,
+        public CComCoClass<CBarObject, &CLSID_BarObject>,
+        public IDispatchImpl<IBarObject, &IID_IBarObject, &LIBID_BARLib>
 {
 public:
-	CBarObject()
-	{
-	}
+        CBarObject()
+        {
+        }
 
 DECLARE_REGISTRY_RESOURCEID(IDR_BAROBJECT)
 
 DECLARE_PROTECT_FINAL_CONSTRUCT()
 
 BEGIN_COM_MAP(CBarObject)
-	COM_INTERFACE_ENTRY(IBarObject)
-	COM_INTERFACE_ENTRY(IDispatch)
+        COM_INTERFACE_ENTRY(IBarObject)
+        COM_INTERFACE_ENTRY(IDispatch)
 END_COM_MAP()
 
 public:
 test.write('src/BarObject.rgs',"""
 HKCR
 {
-	Bar.BarObject.1 = s 'BarObject Class'
-	{
-		CLSID = s '{640BE9EC-B79D-4C9E-BB64-95D24854A303}'
-	}
-	Bar.BarObject = s 'BarObject Class'
-	{
-		CLSID = s '{640BE9EC-B79D-4C9E-BB64-95D24854A303}'
-		CurVer = s 'Bar.BarObject.1'
-	}
-	NoRemove CLSID
-	{
-		ForceRemove {640BE9EC-B79D-4C9E-BB64-95D24854A303} = s 'BarObject Class'
-		{
-			ProgID = s 'Bar.BarObject.1'
-			VersionIndependentProgID = s 'Bar.BarObject'
-			ForceRemove 'Programmable'
-			InprocServer32 = s '%MODULE%'
-			{
-				val ThreadingModel = s 'Apartment'
-			}
-			'TypeLib' = s '{73E5EA5F-9D45-463F-AA33-9F376AF7B643}'
-		}
-	}
+        Bar.BarObject.1 = s 'BarObject Class'
+        {
+                CLSID = s '{640BE9EC-B79D-4C9E-BB64-95D24854A303}'
+        }
+        Bar.BarObject = s 'BarObject Class'
+        {
+                CLSID = s '{640BE9EC-B79D-4C9E-BB64-95D24854A303}'
+                CurVer = s 'Bar.BarObject.1'
+        }
+        NoRemove CLSID
+        {
+                ForceRemove {640BE9EC-B79D-4C9E-BB64-95D24854A303} = s 'BarObject Class'
+                {
+                        ProgID = s 'Bar.BarObject.1'
+                        VersionIndependentProgID = s 'Bar.BarObject'
+                        ForceRemove 'Programmable'
+                        InprocServer32 = s '%MODULE%'
+                        {
+                                val ThreadingModel = s 'Apartment'
+                        }
+                        'TypeLib' = s '{73E5EA5F-9D45-463F-AA33-9F376AF7B643}'
+                }
+        }
 }
 """)
 
 LIBRARY      "bar.DLL"