[Buildbot-devel] BuildBot test fails on Win32 platform.

Baptiste Lepilleur blep at users.sourceforge.net
Wed Mar 9 20:05:45 UTC 2005


    I'm trying to install buildbot on windows. Following the README
instructions, I started by running the trial tests. I end up with 5 failures
& 15 errors.

    I'm running the test with python 2.3 on Windows 2000 with twisted 1.3.0.
The test log as well as the "testing" directory layout can be downloaded
from the following location:
http://gaiacrtn.free.fr/temp/buildbot/

    There is many failures similar to that one:
2005/03/09 20:15 Paris, Madrid [-] unable to save builder builder1
2005/03/09 20:15 Paris, Madrid [-] Traceback (most recent call last):
   File "C:\Python23\lib\site-packages\twisted\trial\runner.py", line 104,
in runTest
     method()
   File "E:\prg\py\test\buildbot\buildbot\test\test_config.py", line 606, in
testBuilders
     master.loadConfig(buildersCfg2)
   File "E:\prg\py\test\buildbot\buildbot\master.py", line 772, in
loadConfig
     self.loadConfig_Builders(builders)
   File "E:\prg\py\test\buildbot\buildbot\master.py", line 870, in
loadConfig_Builders
     statusbag.saveYourself() # seems like a good idea
 --- <exception caught here> ---
   File "E:\prg\py\test\buildbot\buildbot\status\builder.py", line 887, in
saveYourself
     os.unlink(filename)
 exceptions.OSError: [Errno 2] No such file or directory:
'.\\workdir\\builder'

In directory ' _trial_temp\workdir\', there is no 'builder' file, but a file
named 'builder.tmp' instead.

Looking at the code:

        filename = os.path.join(self.basedir, "builder")
        tmpfilename = filename + ".tmp"
        try:
            pickle.dump(self, open(tmpfilename, "w"), -1)
            if sys.platform == 'win32':
                # windows cannot rename a file on top of an existing one
                os.unlink(filename)
            os.rename(tmpfilename, filename)

Shouldn't that be
            if sys.platform == 'win32':
                # windows cannot rename a file on top of an existing one
                try:
                    os.unlink(filename)
                except: # file does not exist
                    pass

? (Notes: there is a similar issue around line ~798).

Changing this removes the 19 errors.

Looking forward into getting buildbot to work on windows,
Baptiste.





More information about the devel mailing list