[dev] Preparing compatibility with PHPUnit 6

Ralf Lang lang at b1-systems.de
Thu Jun 7 06:59:22 UTC 2018



Am 27.05.2018 um 15:01 schrieb Jan Schneider:
>
> Zitat von Ralf Lang <lang at b1-systems.de>:
>
>> Am 15.05.2018 um 22:50 schrieb Jan Schneider:
>>>
>>> Zitat von Ralf Lang <lang at b1-systems.de>:
>>>
>>>> Am 15.05.2018 um 15:29 schrieb Andy Dorman:
>>>>> On 5/15/18 8:20 AM, Mathieu Parent wrote:
>>>>>> Hello,
>>>>>>
>>>>>> In Debian (and Ubuntu), we need to patch Horde to pass tests with
>>>>>> latest phpunit. This leads to divergence with Horde that we want to
>>>>>> avoid.
>>>>>>
>>>>>> I propose to send pull requests to do the following, preserving
>>>>>> current compatibility with phpunit 4.8 while preparing for 
>>>>>> phpunit 6:
>>>>>> - 1. Add expectException method to Horde_Test_Case calling
>>>>>> parent::expectException on phpunit >= 5.2 and 
>>>>>> setExpectedException on
>>>>>> < 5.2 (see [PHPUnit-5.2.0])
>>>>>> - 2. Replace all "extends PHPUnit_Framework_TestCase" by "extends
>>>>>> Horde_Test_Case" (> 300 occurences)
>>>>>> - 3. Replace all "$this->setExpectedException(...)" calls by
>>>>>> "$this->expectException(...)" (this will require a version bump of
>>>>>> dependency Horde_Test to the one implementing 1.)
>>>>>>
>>>>>> This will fix most of the compatibility problems.
>>>>>>
>>>>>> What do you think? Maybe step 2 can be done by one of the core devs
>>>>>> with direct commit rights?
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>
>>>>> FWIW, we use debian and I concur.
>>>>>
>>>>
>>>> That's the kind of refactoring I'd like to test my understanding of
>>>> Horde_Refactor with ... but no time before openSUSE Con end of may...
>>>>
>>>> Also jan should comment as the test framework is a sensitive part...
>>>
>>> Sounds like a good plan. And the refactoring should be possible with a
>>>  more or less simple search-and-replace.
>>>
>> I read this as a go-ahead for after openSUSE con this weekend? Would you
>> prefer a series of PRs against the individual repos or direct commits
>> (in those repos where I have access)?
>> Would you like a changelog entry/metadata update with this change?
>
> This is BC with PHPUnit 4 that we currently ship with Horde_Test, 
> right? Then I don't see a changelog being necessary.
>
> Better than a huge number of patches would be a small script to do the 
> actual changes. The commits can be done by one of us with full commit 
> access, all at once.
>

For 1) I am still figuring... current PHPUnit has 
PHPUnit\Runner\Version::id for version checking. I need to look if 
Version 4 also has it.
I hope the mass edit scripts for 2 and 3 will be ready by tonight.



More information about the dev mailing list