Multiple parameters#

A test can define multiple parameters by including multiple names and a corresponding table of values:

# Copyright NTESS. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: MIT

import sys

import canary

canary.directives.parameterize("a,b", [(1, 2), (5, 6)])


def test():
    self = canary.test.instance
    print(f"{self.parameters.a=}, {self.parameters.b=}")


if __name__ == "__main__":
    sys.exit(test())
$ canary describe parameterize/parameterize2.pyt
--- parameterize2 ------------
File: /home/docs/checkouts/readthedocs.org/user_builds/canary-wm/checkouts/release-26.4.16/src/canary/examples/parameterize/parameterize2.pyt
Keywords: 
2 test specs using on_options=:
├── parameterize2.a=1.b=2
└── parameterize2.a=5.b=6

Note

For len(names) must equal len(values[i]). E.g. len(['a', 'b']) == len((1, 2)) == len((5, 6)).