Skip to content

Releases: LUMC/pytest-workflow

version 1.2.0

07 Nov 13:25
5a2845d
Compare
Choose a tag to compare
  • Giving a --basetemp directory that is within pytest's current working
    directory will now raise an exception to prevent infinite recursive directory
    copying.
  • The cleanup message is only displayed when pytest-workflow is used.
  • Added a --keep-workflow-wd-on-fail or --kwdof flag. Setting this flag
    will make sure temporary directories are only deleted when all tests succeed.

version 1.1.2

07 Nov 13:25
ced4fb9
Compare
Choose a tag to compare
  • Fixed a bug where the program would hang indefinitely after a user input
    error.

version 1.1.1

07 Nov 13:26
47b749a
Compare
Choose a tag to compare
  • Added --kwd as alias for --keep-workflow-wd. Notify the user of
    deletion of temporary directories and logs.
  • Released pytest-workflow as a conda package on bioconda <https://bioconda.github.io/recipes/pytest-workflow/README.html>_.

version 1.1.0

07 Nov 13:26
aef5f04
Compare
Choose a tag to compare
  • Enabled custom tests on workflow files.

version 1.0.0

07 Nov 13:26
ff1d262
Compare
Choose a tag to compare

Lots of small fixes that improve the usability of pytest-workflow are included
in version 1.0.0.

  • Gzipped files can now also be checked for contents. Files with '.gz' as
    extension are automatically decompressed.

  • stdout and stderr of workflows are now streamed to a file instead of
    being kept in memory. This means you can check the progress of a workflow by
    running tail -f <stdout or stderr>. The location of stdout and
    stderr is now reported at the start of each worflow. If the
    --keep-workflow-wd is not set the stdout and stderr files will be
    deleted with the rest of the workflow files.

  • The log reports now when a workflow is starting, instead of when it is added
    to the queue. This makes it easier to see which workflows are currently
    running and if you forgot to use the --workflow-threads or --wt flag.

  • Workflow exit code failures now mention the name of the workflow. Previously
    the generic name "Workflow" was used, which made it harder to figure out
    which workflows failed.

  • When tests of file content fail because the file does not exist, a different
    error message is given compared to when the file exist, but the content is
    not there, which makes debugging easier. Also the accompanying
    "FileNotFound" error stacktrace is now suppressed, which keeps the test
    output more pleasant.

  • When tests of stdout/stderr content or file content fail a more informative
    error message is given to allow for easier debugging.

  • All workflows now get their own folder within the same temporary directory.
    This fixes a bug where if basetemp was not set, each workflow would get
    its own folder in a separate temp directory. For example running workflows
    'workflow1' and 'workflow2' would create two temporary folders:

    '/tmp/pytest_workflow_\ 33mrz5a5/workflow1' and
    '/tmp/pytest_workflow_\ b8m1wzuf/workflow2'

    This is now changed to have all workflows in one temporary directory per
    pytest run:

    '/tmp/pytest_workflow_\ 33mrz5a5/workflow1' and
    '/tmp/pytest_workflow_\ 33mrz5a5/workflow2'

  • Disallow empty command and name keys. An empty command caused
    pytest-workflow to hang. Empty names are also disallowed.

version 0.4.0

07 Nov 13:27
6944edb
Compare
Choose a tag to compare
  • Added more information to the manual on how to debug pipelines and use
    pytest-workflow outside a virtual environment.
  • Reworked code to use tempfile.mkdtemp to create a truly unique
    temporary working directory if the --basetemp flag is not used. This
    replaces the old code which dependeded on pytest internal code which was
    flagged as deprecated. Also more information was added to the manual about
    the use of --basetemp.
  • Added a test case for WDL pipelines run with Cromwell and wrote an example
    for using WDL+Cromwell in the manual.
  • Added --tag flag to allow for easier selection of workflows during
    testing.
  • Added a test case for snakemake pipelines and wrote an example for using
    pytest-workflow with snakemake in the manual.

version 0.3.0

07 Nov 13:27
970c759
Compare
Choose a tag to compare
  • Improved the log output to look nicer and make workflow log paths easier to
    find in the test output.
  • Fixed an error that polluted the log message with a pytest stacktrace when
    running more than one workflow. Measures are taken in our test framework to
    detect such issues in the future.
  • Added the possibility to run multiple workflows simultaneously with the
    --workflow-threads or --wt flag.
  • Made code easier to maintain by using stdlib instead of pytest's py lib
    in all of the code.
  • Added a schema check to ensure that tests have unique names when whitespace
    is removed.

version 0.2.0

07 Nov 13:28
Compare
Choose a tag to compare
  • Cleanup the readme and move advanced usage documentation to our readthedocs
    page.
  • Start using sphinx and readthedocs.org for creating project documentation.
  • The temporary directories in which workflows are run are automatically
    cleaned up at the end of each workflow test. You can disable this behaviour
    by using the --keep-workflow-wd flag, which allows you to inspect the
    working directory after the workflow tests have run. This is useful for
    debugging workflows.
  • The temporary directories in which workflows are run can now be
    changed by using the --basetemp flag. This is because pytest-workflow now
    uses the built-in tmpdir capabilities of pytest.
  • Save stdout and stderr of each workflow to a file and report their locations
    to stdout when running pytest.
  • Comprehensible failure messages were added to make debugging workflows
    easier.

version 0.1.0

07 Nov 13:28
c384cd2
Compare
Choose a tag to compare

The first release of pytest-workflow

  • A full set of examples is now provided in the README.
  • Our code base is now checked by pylint and bandit as part of our test
    procedure to ensure that our code adheres to python and security best
    practices.
  • Add functionality to test whether certain strings exist in files, stdout and
    stderr.
  • Enable easy to understand output when using pytest verbose mode
    (pytest -v).
    The required code refactoring has simplified the code base and made it easier
    to maintain.
  • Enable the checking of non-existing files
  • Enable the checking of file md5sums
  • Use a schema structure that is easy to use and understand.
  • Pytest-workflow now has continuous integration and coverage reporting,
    so we can detect regressions quickly and only publish well-tested versions.
  • Fully parametrized tests enabled by changing code structure.
  • Initialized pytest-workflow with option to test if files exist.