Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support on.fail.exec actions #13

Merged
merged 2 commits into from
Aug 9, 2023
Merged

support on.fail.exec actions #13

merged 2 commits into from
Aug 9, 2023

Commits on Aug 8, 2023

  1. separate exec plugin Action from Spec

    Following commits will add the ability to reference an exec plugin
    Action from a nested Spec `on.fail` field, so we simply separate out the
    Action bit from the Spec in the exec plugin here.
    
    Signed-off-by: Jay Pipes <jaypipes@gmail.com>
    jaypipes committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    91a95e6 View commit details
    Browse the repository at this point in the history
  2. support on.fail.exec actions

    Users would like to be able to execute commands, collect log
    information, grep for errors in output and other actions when a test
    assertion fails.
    
    For instance, if an application is deployed using Kubernetes and network
    connectivity doesn't work for the application, the test author might
    want to call kubectl logs in the event of a test failure.
    
    Another example might be if you wanted to grep a log file in the event
    that no connectivity on a particular IP:PORT combination could be made
    you might do this:
    
    ```yaml
    tests:
     - exec: nc -z $HOST $PORT
       on:
         fail:
           exec: grep ERROR /var/log/myapp.log
    ```
    
    The grep ERROR /var/log/myapp.log command will only be executed if there
    is no connectivity to $HOST:$PORT and the results of that grep will be
    directed to the test's output. You can use the gdt.WithDebug() function
    to configure additional io.Writers to direct this output to.
    
    This patch adds support for the exec plugin's `on.fail` field, hopefully
    in a way that is extensible for other plugins to use as an example (and
    possible embed the `plugin/exec.Action` struct).
    
    Addresses Issue #12
    
    Signed-off-by: Jay Pipes <jaypipes@gmail.com>
    jaypipes committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    d2552cf View commit details
    Browse the repository at this point in the history