Skip to content

[Feature]: Improve zstash testing #385

@forsyth2

Description

@forsyth2

How will this affect the next version number?

New feature (increment MINOR version)

Is your feature request related to a problem?

Current testing has a number of problems:

  • So-called "unit" testing is really more integration testing because it involves I/O rather than pure function testing. This leads to two points:
    • It may perhaps be better to convert the "unit" tests to bash scripts that check output. This would allow more transparency in what workflows are being tested. For example, one implementation of this is tests/scripts/globus_auth.bash.
    • Actual unit tests should test functions used by zstash rather than the actual zstash commands called from the command line.
  • The current test framework uses unittest rather than pytest. I recall trying to modernize that in the past, but running into problems.
  • The current test framework always uses the GitHubActions or conda/dev.yml Python version. We should simulate running zstash create with an older version of Python and/or zstash and then running zstash extract on a later version. For example, see the thread at Update Python support #384 (comment). It's a common use case that someone would be extracting data that was archived a while ago.

Describe the solution you'd like

Described above.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    TestingFiles in `tests` modified

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions