KevinGG commented on a change in pull request #11338: [BEAM-7923] Screendiff
Integration Tests
URL: https://github.com/apache/beam/pull/11338#discussion_r405754337
##########
File path: sdks/python/setup.py
##########
@@ -222,6 +222,17 @@ def get_version():
'ipython>=5.8.0,<8',
'timeloop>=1.0.2,<2',
]
+
+INTERACTIVE_BEAM_TEST = [
Review comment:
TL;DR: It is a normal unit test that works with every platform.
For the time being, I'll not integrate this into Beam pre-commit.
I've marked such tests `skip` conditionally for both `pytest` and `unittest`.
I'll first integrate this into the hosted notebook release process on cloud
build.
When the test is stable, we can discuss whether including a chrome
executable on Jenkins is worth it.
-- Below assumes we don't want to skip these tests and removed the skip
marks --
Tox integration:
As a normal unit test, it automatically gets included by our existing tox
setup.
However, to allow the test being executed successfully by tox:
- add [interactive] and [interactive_test] as extras in tox testenvs, e.g.,
py37
- add an ipython kernel to the runtime environment (programmatically done in
notebook_executor.py)
Then you can run
```
# --recreate is needed the first time you make a change to tox.ini.
tox --recreate -e py37
apache_beam/runners/interactive/testing/integration/tests/init_square_cube_test.py
```
You can already run it with `pytest`, `unittest`, `nosetests`:
For example, under `.../beam/sdks/python`,
```
# pytest
pytest -v
apache_beam/runners/interactive/testing/integration/tests/init_square_cube_test.py
# unittest
python -m unittest
apache_beam/runners/interactive/testing/integration/tests/init_square_cube_test.py
# nosetests
nosetests
apache_beam/runners/interactive/testing/integration/tests/init_square_cube_test.py
```
Jenkins integration:
The only dependency that is "hard" to set up is pre-installing a chrome
executable on Jenkins.
We'll visit
https://github.com/apache/beam/tree/master/.test-infra/dockerized-jenkins in
the future.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services