[dev] Preparing compatibility with PHPUnit 6

Mike Gabriel mike.gabriel at das-netzwerkteam.de
Sat Jun 6 21:25:17 UTC 2020


Hi Ralf, hi all,

picking up a thread from 2018...

On  Do 07 Jun 2018 08:59:22 CEST, Ralf Lang wrote:

> 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.

I am currently looking into Horde Unit Tests and they all make severe  
problem as time has passed and PHPUnit has moved on to version 8.5.2  
in Debian unstable.

I understand that PHPUnit is a fast moving target, but bundling an old  
PHPUnit version in Horde_Test is neither an option for Debian.

There are several options at hand:

   * pick up PHPUnit test migration, but not to 6, but 8.
   * bundle PHPunit 4.8 in php-horde-test in Debian as upstream does
   * don't run Debian's autopkgtests on php-horde-* packages

I guess this original idea of a script that walks over all packages  
and updates the test API would be a good idea. However, is keeping  
compatibilities with PHPUnit 4.8 really a good approach considering  
that we have moved on much further with PHPUnit these days?

Currently, the php-horde* packages won't migrate to Debian testing,  
because of failing unit tests after upload. Any suggestions from  
people involved upstream?

Thanks+Greets,
Mike
-- 

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: mike.gabriel at das-netzwerkteam.de, http://das-netzwerkteam.de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: Digitale PGP-Signatur
URL: <https://lists.horde.org/archives/dev/attachments/20200606/b0b1a7d7/attachment.sig>


More information about the dev mailing list