Skip to content

Automated tests should be cleaned up / documented #454

@jplotzke

Description

@jplotzke

The organization in the tests folder could be cleaned up / renamed for better organization. In my opinion, it is not obvious what tests are run during a build. Posting here for comment by anyone who has historical knowledge on the creation of these tests. (Note that this issue is not intended to discuss any expansion of tests -- I am mainly focusing on current organization/structure)

This is my understanding:

  • tests/AutoTests
    • Executed during the Run CI Tests step of the build_release_artifacts.yml workflow
      • Called using the run_test function of tests/run_tests.py
    • Mainly tests that the examples are functional, but also does some functional tests of abort, cancellation, and service not defined tests.
    • Does not use the generation tool at all -- relies on pre-generated code, either in the examples folder or in the tests/AutoTests folder.
  • tests/CMakeTests
    • Executed during build of the DLL/shared library, called from CMakeLists.txt
    • Tests that exported DLL functions match a known signature
  • tests/Deprecated
    • Not used. Was deprecated when the New_ATS was used.
    • Could be deleted.
  • tests/New_ATS
    • Executed during the Run New Testing Suite's Tests step of the build_release_artifacts.yml workflow
      • Called using the tests/New_ATS/pylib/run_tests.py file
    • Mainly tests overall server generation and functionality using Python-based gRPC clients.
    • Documented in tests/New_ATS/README.md
  • tests/gRPC_ATS
    • Not used? This seems like another deprecated ATS.
    • Could be called using the run_all_tests function of tests/run_tests.py, but nothing calls this.
    • Only mentioned in docs/Testing.md
    • Could be deleted? (Does this ATS provide any additional functionality that the New ATS doesn't provide?)

For better documentation/maintainability, I feel that:

  • Deprecated code/folders should be deleted (git history will keep them around if needed).
  • New_ATS should be renamed to ATS (or some name without "new") - I feel like this only leads down the road to Newest Newer New ATS during a future revision 😀
  • If we have multiple "test suites" (like AutoTests and New_ATS), each folder should have a run_tests.py file which executes their respective tests in that folder. To me, it's confusing that the top-level tests/run_tests.py only runs the AutoTests tests and that tests/New_ATS/pylib/run_tests.py executes the New_ATS tests.

AB#3146915

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions