Re: [sepia] [QA/dashboard] Frontend tests on Jenkins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 15, 2018 at 10:32 AM, Laura Paduano <lpaduano@xxxxxxxx> wrote:
> Hi,
>
> right, we would need either Google-Chrome (I'd prefer this one) or Chromium
> and would then run our tests in headless mode (AFAIK this can be configured
> within the
> test config files or as parameter when executing the tests).
>
> I think the easiest way would be to install Google-Chrome (or Chromium) on
> the node which executes the frontend unit tests already.

If you would like to use Jenkins for this, then the right place would
be the ceph/ceph-build.git repo. Almost all the directories there are
Jenkins jobs, that configure requirements (like Chromium in this
case).

The repo has examples in the documentation, and most jobs can be used
as a good reference.

For ceph-volume for example, we don't need to run tests on every pull
request, so we request the tests ad-hoc, which might be desirable here
as well.

That configuration, along with the "trigger phrase" is:
https://github.com/ceph/ceph-build/blob/master/ceph-volume-pr/config/definitions/ceph-volume-pr.yml

The scripts and config are found in the upper level dir at:
https://github.com/ceph/ceph-build/tree/master/ceph-volume-pr

Once your proposed jenkins job is merged to master it will appear in
the Jenkins UI.
>
> Laura
>
>
>>>> Lenz Grimmer <lgrimmer@xxxxxxxx> 05/15/18 1:48 PM >>>
> Hi Laura,
>
> thanks for bringing this up again. It'd be great if we could extend the
> dashboard test coverage by running frontend (E2E) tests.
>
> Can you please summarize what needs to be done in order to facilitate
> this? Is it enough to install Chromium on specific existing Jenkins
> nodes, or would this require deploying new instances?
>
> Lenz
>
> On 05/15/2018 01:11 PM, Laura Paduano wrote:
>
>> I just wanted to raise this topic again and wanted to ask for
>> feedback/ideas on how to
>> proceed.
>>
>> Any help is appreciated :)
>>
>>>>> Stephan Müller <smueller@xxxxxxxx> 04/20/18 5:22 PM >>>
>> Hi,
>> I just wanted to raise a discussion about testing the dashboard
>> frontend.
>>
>> First of all, I'm happy to say that we have gathered over 100 frontend
>> unit tests by now.
>>
>> Each of us makes sure, that all unit tests are passing (of course ;) ),
>> so we run 'npm start' which will run all tests on 'Chrome'.
>>
>> I'm telling you this, because you need to know that we make sure all
>> tests are passing in a modern browser that can be used with a UI or
>> with out it (headless).
>>
>> As time goes by we create a PR against ceph and Jenkins will try to run
>> our unit tests, but this time, PhantomJS has to be used (...)
>>
>> PhantomJS doesn't have a UI, doesn't support what modern browsers can
>> do, but we can install it through npm.
>>
>> We increasingly write unit tests and we develop on typescript that will
>> be compiled to Javascript that is understandable on any modern browser.
>> Modern browsers have implemented built in functionality to understand
>> modern ES6 concepts like 'Proxy', but PhantomJS isn't modern.
>>
>> See this table for more information
>> https://kangax.github.io/compat-table/es6/
>>
>> The thing is, we will hit the limitations of PhantomJS pretty soon, as
>> a matter of fact, I already hit it with the use of 'Proxy'.
>> https://github.com/ceph/ceph/pull/20822
>>
>> As you can see in my work, I have to ignore a lot of lines and I have
>> to mock out the usage from the code. This will of course increase over
>> time.
>>
>> I would love to see a change here, because we want to have the fronted
>> tested through end to end (E2E) tests as well.
>>
>> Both unit and E2E tests could be run with chrome headless, but
>> therefore chromium or google-chrome are needed to be installed on the
>> Jenkins instance.
>>
>> Can someone give me a hint how this installation could be achieved?
>> As mocking built ins because of a missing installation, wastes a lot of
>> resources.
>>
>> Any help is appreciated
>> --
>> Stephan Müller
>>
>> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
>> HRB 21284 (AG Nürnberg)
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>>
>> _______________________________________________
>> Sepia mailing list
>> Sepia@xxxxxxxxxxxxxx
>> http://lists.ceph.com/listinfo.cgi/sepia-ceph.com
>>
>
> --
> SUSE Linux GmbH - Maxfeldstr. 5 - 90409 Nuernberg (Germany)
> GF:Felix Imendörffer,Jane Smithard,Graham Norton,HRB 21284 (AG Nürnberg)
>
>
> _______________________________________________
> Sepia mailing list
> Sepia@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/sepia-ceph.com
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux