Skip to content

Code style in the tests #144

Description

@FHof

It could be possible to change the tests code so that it is easier to read and maintain:

  • Currently the tests use sys.path.append for the imports instead of importing torchquad, so __init__.py is not executed. This also hinders the use of relative imports, e.g. in integration/utils.py.
  • It may be possible to shorten the code by replacing the setup_test_for_backend with parameterized tests.
  • utils_integration_test.py shows warnings while the other code uses pytest skips if a backend is not installed. The code could be changed so that pytest skips are used everywhere.

Some of these changes may however make it more difficult to support the execution of the test files with python3 in addition to pytest.

A documentation on how to execute the tests could also be helpful, for example because of GPU out-of-memory problems due to the backend imports:
The test executions on GPU currently may require environment variables which change the memory allocation behaviour of the backends since all backends are imported one after another and some of them can reserve the whole GPU memory.
These environment variables are, for example, XLA_PYTHON_CLIENT_PREALLOCATE=false, TF_FORCE_GPU_ALLOW_GROWTH=true and TF_GPU_ALLOCATOR=cuda_malloc_async. It is also possible to execute the tests on the CPU with CUDA_VISIBLE_DEVICES="".

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestgood first issueGood for newcomershelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions