← Back to team overview

launchpad-dev team mailing list archive

Rewrite script breaking because it indirectly imports Windmill

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

The branch-rewrite script is breaking locally, because it imports
Windmill indirectly.  Windmill's mozrunner assumes that there will be an
environment variable named PATH, but there isn't when run under apache,
and this causes a KeyError.

I'm not sure what the right fix would be, which is why I'm bringing this
to this to the list.

First off: Why the heck would the branch-rewrite script be importing
Windmill?  Two reasons:
1. Our generic script code imports lp.testing to log in as ANONYMOUS.

This is clearly fixable, and the only real question is where the code
should be moved to.

2. lp.services.scripts.base imports lp.testing.layers so that
execute_zcml_for_scripts can ensure we're not running under one.

There are a few options
1. supply a PATH.  This is simple, but it doesn't fix the underlying
   issue that stuff is being imported that you would never expect.
2. fix Windmill to not require a PATH.  Again, this is simple, but it
   doesn't fix the underlying issue that stuff is being imported that
   you would never expect.
3. change the imports in lp.testing so that Windmill is not imported
   until its first use.  This fixes the issue that Windmill is being
   imported unexpectedly, but still leaves test foo being imported by
   scripts.
4. stop importing ANONYMOUS from testing.  stop importing from
   testing.layers.  This is hard, because we have a good reason for
   importing layers.

Thoughts?

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAktrPmEACgkQ0F+nu1YWqI2mwACfUF/ayeUfaZ0GGRa3OqH5cS7u
spwAnAzgnZCwzx//Zrz1RaZ1Ny5cowsh
=jXMk
-----END PGP SIGNATURE-----



Follow ups