> On 2 Dec 2018, at 17:02, Vincent Massol <[email protected]> wrote:
>
>
>
>> On 27 Nov 2018, at 18:19, Vincent Massol <[email protected]> wrote:
>>
>>
>>
>>> On 26 Nov 2018, at 00:44, Vincent Massol <[email protected]> wrote:
>>>
>>> Hi devs,
>>>
>>> I wanted to keep up to date on the list of stuff that we still need to do
>>> in the domain of Docker, CI & Clover, specifically on the domains I’ve been
>>> working on. All the items below are items I need to work on (but any help
>>> is welcome of course).
>>>
>>> 1) Clover pipeline job to modify to add docker-based functional tests:
>>> right now the global TPC is going to decrease because of MenuIT and MailIT.
>>> This needs to be fixed ASAP before we convert too many tests.
>>
>> This should be good now.
>>
>> One more idea:
>>
>> 1.1) In the XWiki Clover report, compare the failing tests reported by
>> Clover between old report (reference point) and the new one to gauge if the
>> TPC computed is meaningful or not.
>>
>> 1.2) In the XWiki clover report, provide a diff list of executed tests to
>> find out problems with some tests not executed which would lead to TPC being
>> wrong.
>
> I’ve almost finished to implement this but there’s a problem… For some reason
> I don’t understand Clover doesn’t report correctly failing tests:
>
> 1) A lot of tests are failing in the clover report but not in the build. For
> example:
>
> In Clover build logs:
>
> "
> [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011
> s - in IdGeneratorTest
> [INFO] Running TransformationContextTest
> “
>
> In clover.xml report:
> https://gist.github.com/vmassol/c8d3103147ddde3610d0c06bf44e37e1
>
> ie 2 tests failing in IdGeneratorTest:
> testGenerateUniqueIdWhenInvalidEmptyPrefix &
> testGenerateUniqueIdWhenInvalidNonAlphaPrefix
>
> 2) Several tests failing in the Clover build logs but not in the clover
> report. For example:
>
> In Clover build logs:
>
> “
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> 139.958 s <<< FAILURE! - in org.xwiki.menu.test.ui.MenuIT
> [ERROR] org.xwiki.menu.test.ui.MenuIT Time elapsed: 139.958 s <<< ERROR!
> “
>
> In clover.xml report:
> https://gist.github.com/vmassol/b5d3ba0120f08fa6e52e09157cad2a45
>
> ie no failure at all…
>
> Thus it’s not possible to trust the clover.xml report… The only solution I
> can think of would be to compare either with the local Maven build logs or
> with the Jenkins test report logs. But that means we can’t go back in the
> past since we don’t have those logs for past clover reports.
>
> The good news is that when Clover says that tests failed, they actually
> didn't fail for a lot of them (However we would need to check if the coverage
> done by those tests is included but I think they are from what I see:
> IdGenerator.java has coveredelements="75” & elements=“84”. That could be from
> tests other than IdGeneratorTest though).
hmm found this in some forum:
“
Regarding, your original question regarding failing tests. Yes, if test is
failing Clover won't include its contribution to overall coverage stats. The
reasoning behind this behavior is that since the test fails, its not
trustworthy to say it provide test coverage (confidence) to your code. “
https://community.atlassian.com/t5/Clover-questions/clover-xml-does-not-contain-code-coverage-for-failing-test-case/qaq-p/704154
So maybe they’re not counted after all…
Thanks
-Vincent
>
> Thanks
> -Vincent
>
>>
>>> 2) Also fix Clover pipeline job in general which hasn’t passed since the
>>> 22nd of October
>>
>> Just passed today. Need to monitor it. Future failures should be related to
>> point 6) below. Note that the clover job is now executed on a4 which should
>> make it a lot more stable.
>>
>> Thanks
>> -Vincent
>>
>>> 3) Execute Docker-based tests in main pipeline job for the default config
>>> as otherwise we might have the platform job succeeding but it’ll miss
>>> several functional tests! Option 1: execute Browser outside of docker as
>>> option, Option 2: add more docker-based agents. For the moment, we might be
>>> able to run the docker tests on agent4.
>>>
>>> 4) Screenshot attachment on UI test failures to fix in pipeline job
>>>
>>> 5) Flicker recognition on tests to fix in pipeline job
>>>
>>> 6) Fix the ClosedChannelExcption/InterruptedException in our CI
>>>
>>> 7) Research running Jenkins agents in docker images and make our Docker
>>> test work (docker on docker). Once this works, set up 2 or 2 agents on a4.
>>> And then move all other agents to this.
>>>
>>> 8) Still need to apply the Clover strategy we agreed on (global TPC needs
>>> to not go down during releases).
>>>
>>> 9) Find strategy to move Docker image creation in platform build
>>>
>>> Let me know if you have questions.
>>>
>>> Thanks
>>> -Vincent
>>>
>>> PS: I didn’t list fixing tests (such and flicker fixing or WCAG test
>>> fixing) since this not infra and I wanted to limit this list to infra.