You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by Benjamin Gonzalez Delgado <be...@wizeline.com> on 2021/03/25 00:29:37 UTC

BEAM-3713: Moving from nose to pytest

Hi team,
I am planning to work in BEAM-3713
<https://issues.apache.org/jira/browse/BEAM-3713>, but I see there are PRs
related to the task.
Could someone guide me on the work that remains missing regarding the
migration from nose to pytest?
Any guidance on this would be appreciated.

Thanks!
Benjamin

-- 
*This email and its contents (including any attachments) are being sent to
you on the condition of confidentiality and may be protected by legal
privilege. Access to this email by anyone other than the intended recipient
is unauthorized. If you are not the intended recipient, please immediately
notify the sender by replying to this message and delete the material
immediately from your system. Any further use, dissemination, distribution
or reproduction of this email is strictly prohibited. Further, no
representation is made with respect to any content contained in this email.*

Re: BEAM-3713: Moving from nose to pytest

Posted by Udi Meiri <eh...@google.com>.
I'm about to merge https://github.com/apache/beam/pull/14481, which
converts 4 postcommit suites to pytest.

job_PostCommit_Python
job_PostCommit_Python_ValidatesContainer_Dataflow
job_PostCommit_Python_ValidatesRunner_Dataflow
job_PostCommit_Python_ValidatesRunner_Flink

Please report on the bug if you have issues (tests not running, missing
logs, missing results in jenkins).
If you have an open PR that adds a new IT that should be running in one of
the above suites, please convert your decorators.

Examples (see PR for more):
@attr('IT') -> @pytest.mark.it_postcommit
@attr('ValidatesRunner') -> @pytest.mark.it_validatesrunner


On Thu, Mar 25, 2021 at 10:45 AM Udi Meiri <eh...@google.com> wrote:

> Hi Benjamin,
>
> AFAIK nose is only used for integration tests (unit tests were converted
> to pytest a while back).
> These ITs should all be running periodically (except maybe the release
> related ones?).
>
> I would start with selecting one of the Jenkins jobs and converting the
> ITs in it to pytest.
> Good place to start:
> https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/
> I would prioritize converting the Python jobs listed here:
> https://github.com/apache/beam/blob/master/.github/PULL_REQUEST_TEMPLATE.md
>
> There's a fairly old abandoned PR with some ideas:
> https://github.com/apache/beam/pull/7949/files
> Have a look at:
> sdks/python/scripts/run_integration_test.sh
> sdks/python/pytest.ini
> sdks/python/conftest.py
>
> My idea in that PR was to replace the nose @attr('IT') decorators with 1
> or more:
> @pytest.mark.it_postcommit,
> @pytest.mark.no_direct,
> etc.
> These decorators tell nose/pytest which tests to run.
> So if I wanted to run post-commit tests on direct runner I would use this
> pytest flag:
> "-m 'it_postcommit and not no_direct'".
>
>
> On Wed, Mar 24, 2021 at 5:41 PM Ahmet Altay <al...@google.com> wrote:
>
>> All PRs look either merged or closed.
>>
>> +Udi Meiri <eh...@google.com> might have more information about the
>> remaining work.
>>
>> On Wed, Mar 24, 2021 at 5:29 PM Benjamin Gonzalez Delgado <
>> benjamin.gonzalez@wizeline.com> wrote:
>>
>>> Hi team,
>>> I am planning to work in BEAM-3713
>>> <https://issues.apache.org/jira/browse/BEAM-3713>, but I see there are
>>> PRs related to the task.
>>> Could someone guide me on the work that remains missing regarding the
>>> migration from nose to pytest?
>>> Any guidance on this would be appreciated.
>>>
>>> Thanks!
>>> Benjamin
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *This email and its contents (including any attachments) are being sent
>>> toyou on the condition of confidentiality and may be protected by
>>> legalprivilege. Access to this email by anyone other than the intended
>>> recipientis unauthorized. If you are not the intended recipient, please
>>> immediatelynotify the sender by replying to this message and delete the
>>> materialimmediately from your system. Any further use, dissemination,
>>> distributionor reproduction of this email is strictly prohibited. Further,
>>> norepresentation is made with respect to any content contained in this
>>> email.*
>>
>>

Re: BEAM-3713: Moving from nose to pytest

Posted by Udi Meiri <eh...@google.com>.
Hi Benjamin,

AFAIK nose is only used for integration tests (unit tests were converted to
pytest a while back).
These ITs should all be running periodically (except maybe the release
related ones?).

I would start with selecting one of the Jenkins jobs and converting the ITs
in it to pytest.
Good place to start:
https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/
I would prioritize converting the Python jobs listed here:
https://github.com/apache/beam/blob/master/.github/PULL_REQUEST_TEMPLATE.md

There's a fairly old abandoned PR with some ideas:
https://github.com/apache/beam/pull/7949/files
Have a look at:
sdks/python/scripts/run_integration_test.sh
sdks/python/pytest.ini
sdks/python/conftest.py

My idea in that PR was to replace the nose @attr('IT') decorators with 1 or
more:
@pytest.mark.it_postcommit,
@pytest.mark.no_direct,
etc.
These decorators tell nose/pytest which tests to run.
So if I wanted to run post-commit tests on direct runner I would use this
pytest flag:
"-m 'it_postcommit and not no_direct'".


On Wed, Mar 24, 2021 at 5:41 PM Ahmet Altay <al...@google.com> wrote:

> All PRs look either merged or closed.
>
> +Udi Meiri <eh...@google.com> might have more information about the
> remaining work.
>
> On Wed, Mar 24, 2021 at 5:29 PM Benjamin Gonzalez Delgado <
> benjamin.gonzalez@wizeline.com> wrote:
>
>> Hi team,
>> I am planning to work in BEAM-3713
>> <https://issues.apache.org/jira/browse/BEAM-3713>, but I see there are
>> PRs related to the task.
>> Could someone guide me on the work that remains missing regarding the
>> migration from nose to pytest?
>> Any guidance on this would be appreciated.
>>
>> Thanks!
>> Benjamin
>>
>>
>>
>>
>>
>>
>>
>>
>> *This email and its contents (including any attachments) are being sent
>> toyou on the condition of confidentiality and may be protected by
>> legalprivilege. Access to this email by anyone other than the intended
>> recipientis unauthorized. If you are not the intended recipient, please
>> immediatelynotify the sender by replying to this message and delete the
>> materialimmediately from your system. Any further use, dissemination,
>> distributionor reproduction of this email is strictly prohibited. Further,
>> norepresentation is made with respect to any content contained in this
>> email.*
>
>

Re: BEAM-3713: Moving from nose to pytest

Posted by Ahmet Altay <al...@google.com>.
All PRs look either merged or closed.

+Udi Meiri <eh...@google.com> might have more information about the
remaining work.

On Wed, Mar 24, 2021 at 5:29 PM Benjamin Gonzalez Delgado <
benjamin.gonzalez@wizeline.com> wrote:

> Hi team,
> I am planning to work in BEAM-3713
> <https://issues.apache.org/jira/browse/BEAM-3713>, but I see there are
> PRs related to the task.
> Could someone guide me on the work that remains missing regarding the
> migration from nose to pytest?
> Any guidance on this would be appreciated.
>
> Thanks!
> Benjamin
>
>
>
>
>
>
>
>
> *This email and its contents (including any attachments) are being sent
> toyou on the condition of confidentiality and may be protected by
> legalprivilege. Access to this email by anyone other than the intended
> recipientis unauthorized. If you are not the intended recipient, please
> immediatelynotify the sender by replying to this message and delete the
> materialimmediately from your system. Any further use, dissemination,
> distributionor reproduction of this email is strictly prohibited. Further,
> norepresentation is made with respect to any content contained in this
> email.*