[MediaWiki-l] Missing tests/ directory in 1.23.1-5

Jim Hu jim.hu.biobio at gmail.com
Tue Dec 2 16:00:22 UTC 2014


> I can't think of any end user that would need or want to run their own unit
> testing and that wouldn't benefit from using the git master or branch
> instead. As for your broken file paths, I can't think why that would happen
> except you are running the tests which leads me to ask... why? If you are
> using the tarball, are you not running a production install?

I am running both production and development wikis from the tarball. I want the testing suite because I have custom extensions that unit test. I think that's Daniel' Renfro's situation as well. In my case, I'm not contributing code back to core, since I'm not a good enough programmer to provide anything useful; anything I could contribute would not rise above a bugzilla report.

For developing my own extensions I've tried to follow the unit testing recommendations at 

	https://www.mediawiki.org/wiki/Manual:PHP_unit_testing

and 

	https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Writing_unit_tests_for_extensions

which should be updated if there is now a change in whether test directories are going to be included or omitted.

Insofar as I am still a relative newbie to git, cloning the REL1_23 branch was not straightforward to me, but fortunately I found someone around here who could help me do it.  I still haven't figured out how to view the branch in gerrit.  So I followed the suggestion of copying the tests directory from a git clone, added an extension.suite.xml and discovered that the release script's omission of tests also omitted the tests for ParserFunctions. So I commented out the registration of that test set from the extension. 

Now that I have had help I can to all of that, although I may still have to figure out how to modify how I handle extensions and skins that are in my local git repo to work with the clone from mediawiki. My prior practice of just doing testing on my local dev copy from the tarball may be suboptimal in theory, but in practice it's a PITA for me to not have the tests included in the download.  Daniel Renfro appears to agree (and while he used to work for me, he's been at VistaPrint long enough to have unlearned most of the bad habits I taught him). 

So what's the harm in just including the tests?

Jim

On Dec 2, 2014, at 5:45 AM, Lewis Cawte <lewiscawte at googlemail.com> wrote:

> 
> I'd see Antoine's point above mine.
> 
> Oh, and yeah, patches need to start ignoring the tests directory as well
> now release team :)
> 
> On 23 October 2014 at 18:50, Daniel Renfro <drenfro at vistaprint.com> wrote:
> 
>> I think not including the tests/ directory is wrong. Not only is the
>> release incomplete, it is inconsistent -- there is code that breaks when
>> run (references to files that do not exist.) In my opinion, a robust open
>> source software package such as MediaWiki should be proud to ship its
>> unit-tests. The 4MB of tests don't significantly contribute to the size of
>> the release (some 80MB+.)
>> 
>> Now, to reconstruct the tests, not only do I have to go dig up the release
>> branch, but REL1_23 doesn't contain the standard extensions (or their
>> tests.) Now I have manually hunt down each extension and copy, find the
>> appropriate branch, and copy it's tests/ directory over. All just to run
>> the normal test-suite.
>> 
>> --Daniel
>> 
>> 
>> -----Original Message-----
>> From: mediawiki-l-bounces at lists.wikimedia.org [mailto:
>> mediawiki-l-bounces at lists.wikimedia.org] On Behalf Of Gordon Joly
>> Sent: Thursday, October 23, 2014 7:32 AM
>> To: mediawiki-l at lists.wikimedia.org
>> Subject: Re: [MediaWiki-l] Missing tests/ directory in 1.23.1-5
>> 
>> 
>> This needs to cross referenced to recent patches, perhaps?
>> 
>> In particular patches to create 1.23.2 and 1.23.3?
>> 
>> mediawiki-1.23.2/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> 
>> mediawiki-1.23.3/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> 
>> Gordo
>> 
>> 
>> *******************************
>> x1:~/src# grep -i tests  *patch
>> mediawiki-1.23.3.patch:diff -Nruw -x messages -x '*.png' -x '*.jpg' -x
>> '*.xcf' -x '*.gif' -x '*.svg' -x '*.tiff' -x '*.zip' -x '*.xmp' -x '.git*'
>> mediawiki-1.23.2/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> mediawiki-1.23.3/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> mediawiki-1.23.3.patch:---
>> mediawiki-1.23.2/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> 1970-01-01 00:00:00.000000000 +0000
>> mediawiki-1.23.3.patch:+++
>> mediawiki-1.23.3/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
>> 2014-08-27 21:44:53.242493016 +0000
>> mediawiki-1.23.4.patch:+  checks for attributes that contain css; add unit
>> tests for html5sec and mediawiki-1.23.4.patch:diff -Nruw -x messages -x
>> '*.png' -x '*.jpg' -x '*.xcf' -x '*.gif' -x '*.svg' -x '*.tiff' -x '*.zip'
>> -x '*.xmp' -x '.git*'
>> mediawiki-1.23.3/tests/phpunit/includes/upload/UploadBaseTest.php
>> mediawiki-1.23.4/tests/phpunit/includes/upload/UploadBaseTest.php
>> mediawiki-1.23.4.patch:---
>> mediawiki-1.23.3/tests/phpunit/includes/upload/UploadBaseTest.php
>> 2014-09-24 19:58:10.961599096 +0000
>> mediawiki-1.23.4.patch:+++
>> mediawiki-1.23.4/tests/phpunit/includes/upload/UploadBaseTest.php
>> 2014-09-24 19:55:15.538575503 +0000
>> x1:~/src#
>> 
>> 
>> On 22/10/14 21:54, Antoine Musso wrote:
>>> Le 22/10/2014 20:06, Daniel Renfro a ├ęcrit :
>>>> While looking into upgrading my 1.22.5 installation to 1.23.5, I
>> noticed that the tests/ directory was missing. Looking in git it is there
>> for the REL1_23, but seems to have vanished in the tarballs for releases?
>>>> 
>>>> Am I missing something? or are these releases incomplete?
>>>> 
>>>> Sincerely confused,
>>>> -Daniel   (Us+er:AlephNull)
>>> 
>>> Hello Daniel,
>>> 
>>> Indeed the release script used to build the tarball learned to ignore
>>> some files with https://gerrit.wikimedia.org/r/#/c/123220/
>>> 
>>> 
>>> Here is the ignore list:
>>> 
>>> tar:
>>>  ignore:
>>>    - "*~"
>>>    - ".js*"
>>>    - ".git*"
>>>    - testsuite
>>>    - tests
>>>    - "*.xcf"
>>>    - "#*#"
>>>    - ".#*"
>>>    - .travis.yml
>>> 
>>> 
>>> It is in:
>>>   mediawiki/tools/release.git
>>>   make-release/make-release.yaml
>>> 
>>> 
>>> I guess because the tests takes a good chunk of space and people
>>> interesting in running them most probably use a Wiki from the release
>>> branches.
>>> 
>>> 
>> 
>> 
>> _______________________________________________
>> MediaWiki-l mailing list
>> To unsubscribe, go to:
>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>> _______________________________________________
>> MediaWiki-l mailing list
>> To unsubscribe, go to:
>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>> 
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

=====================================
Jim Hu
Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054




More information about the MediaWiki-l mailing list