Skip to content

fake daemons that crash for testing purposes #100

Description

@untzag

In auto-rxn, there is a special "fallback" system which is meant to gracefully return all hardware to reasonable positions in the case a reading hits specified limits or there is some other error. We recently discovered that this behavior does NOT work as intended if a daemon crashes [1].

I would like to add tests to auto-rxn to ensure correct behavior when daemons crash. I need crash dummy fake daemons. I can think of a few ways to do this:

  1. I can add new fake daemons or modify existing daemons to optionally crash. Probably would end up having a config option "crash after X seconds" or "crash after X calls to get_position".
  2. I can modify our existing testing decorators [2]. This way any daemon could be set up to crash after X seconds for testing purposes.
  3. I can write my own special purpose crash dummy daemon and run it via run_daemon_from_file. This has the advantage of not needing to modify this repo to enable my tests.

Which method is preferred? Do others have testing needs that are similar?

@ddkohler @ksunden

[1] uw-madison-chem-shops/auto_rxn#63
[2] https://github.com/yaq-project/yaq-python/blob/main/yaqd-core/yaqd_core/testing/_run_daemon.py

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