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

2.0 - Test Configs #49

Open
pflarr opened this issue Sep 5, 2018 · 5 comments
Open

2.0 - Test Configs #49

pflarr opened this issue Sep 5, 2018 · 5 comments
Assignees
Milestone

Comments

@pflarr
Copy link
Collaborator

pflarr commented Sep 5, 2018

Note: For the following, a 'test section' isn't the whole test yaml file like we're used to. It is the section of the config file that describes each test. These currently exist under a 'test name' key, and will continue to do so.

The following features will be added to test configuration:

  1. Test configuration consists of several layers, each of which overrides the previous.
    a. A 'host' config containing a single test section for configuring things specific to that host.
    b. Zero or more 'mode' configs that each contain a single test section, for setting various general running modes and scheduler settings.
    c. A test config from a test config file containing one or more test sections in a yaml mapping.
  2. A strict definition of the components of a test section.
  • This will be checked before a test series is kicked off.
  • Various plugins will add to it dynamically.
  1. In test configs, the key value for a test section will be that test's name.
  2. The test 'run' section will be improved to allow for dynamically created test run scripts. (See 2.0 - Test Config - Run #50)
  3. Dynamic string formatting (See 2.0 - Test Config - String Formatting #54 )
  4. Variable section (See 2.0 - Test Config - Variables #53 )
  5. Test Inheritance (See 2.0 - Test Config - Inheritance #55 )
  6. Test 'list multiplication' will only be allowed within the variable section, to clarify configs and simply the format.
@jennfshr
Copy link
Contributor

jennfshr commented Sep 5, 2018 via email

@pflarr
Copy link
Collaborator Author

pflarr commented Sep 5, 2018

Yes, and no.
It will break existing test yaml files, but it won't break runit scripts. Those can still be run with the same args (and permutations of args), but through string substitution instead. The amount of editing needed for the conversion is fairly minimal.

@pflarr
Copy link
Collaborator Author

pflarr commented Sep 5, 2018

Also, having multiple cmds per test is necessary for our design goals of reducing the need for runit scripts altogether, and that can't coexist with test_args in any reasonable way that I can think of.

@jennfshr
Copy link
Contributor

jennfshr commented Sep 5, 2018 via email

@pflarr
Copy link
Collaborator Author

pflarr commented Sep 5, 2018

I do believe I was mistaken about what test_args was actually doing. I thought they were getting appended to the command, but I guess they were just getting set as an environment variable? Maybe both?

Regardless, under the new config schema, you would simply set PV_TEST_ARGS as an environment variable for the test run. The old runit scripts shouldn't break in that case.

As for the string substitution, we're still settling on what that will look like. Both Nick and I have very different proposals, that are being discussed.

@pflarr pflarr added this to the 2.0 milestone Sep 5, 2018
@pflarr pflarr self-assigned this Oct 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants