On Wed, Aug 12, 2009 at 10:59 AM, dan nessett<[email protected]> wrote:
> I'm starting a new thread because I noticed my news reader has glued together 
> messages with the title "A potential land mine" and "MW test infrastructure 
> architecture," which may confuse someone coming into the discussion late. 
> Also, the previous thread has branched into several topics and I want to 
> concentrate on only one, specifically what can we assume about the system 
> environment for a test infrastructure? These assumptions have direct impact 
> on what test harness we use. Let me start by stating what I think can be 
> assumed. Then people can tell me I am full of beans, add to the assumptions, 
> subtract from them, etc.
>
> The first thing I would assume is that a development system is less 
> constrained than a production system in what can and what cannot be 
> installed. For example, people shot down my proposal to automatically 
> discover the MW root directory because some production systems have 
> administrators without root access, without the ability to load code into the 
> PEAR directory, etc. Fair enough (although minimizing the number of places 
> where $IP is computed is still important). However, if you are doing MW 
> development, then I think this assumption is too stringent. You need to run 
> the tests in /tests/PHPUnitTests, which in at least one case requires the use 
> of $wgDBadminuser and $wgDBadminpassword, something a non-priviledged user 
> would not be allowed to do.
>
> If a developer has more system privileges than a production admin, to what 
> extent? Can we assume he has root access? If not, can we assume he can get 
> someone who has to do things like install PHPUnit? Can we assume the 
> availability of PERL or should we only assume PHP? Can we assume *AMP (e.g., 
> LAMP, WAMP, MAMP, XAMP)? Can we assume PEAR? Can the developer install into 
> PEAR?
>
> Dan
>
>
>
>
> _______________________________________________
> Wikitech-l mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>

Tests should run in a vanilla install, with minimal dependency on
external stuff. PHPUnit
(or whatever framework we use) would be considered an acceptable dependency for
test suites. If PHPUnit isn't available (ie: already installed and in
the include path), then
we should bail out nicely.

In general, external dependencies should be used as seamlessly as
possible, with minimal
involvement from the end-user. A good example is wikidiff2...we load
it if it exists, we fail
back to PHP diff mode if we can't use it.

-Chad

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to