sample: Changed parameterized test samples to not use strings

This commit is contained in:
Snaipe 2016-08-10 10:23:27 +02:00
parent e0a38e1ab9
commit a1d690ffdb
3 changed files with 65 additions and 69 deletions

View file

@ -3,16 +3,14 @@
// Basic usage
ParameterizedTestParameters(params, str) {
static const char *strings[] = {
"foo", "bar", "baz"
};
ParameterizedTestParameters(params, simple) {
static int vals[] = { 1, 2, 3 };
return cr_make_param_array(const char *, strings, sizeof (strings) / sizeof (const char *));
return cr_make_param_array(int, vals, sizeof (vals) / sizeof (int));
}
ParameterizedTest(const char **str, params, str) {
cr_assert_fail("Parameter: %s", *str);
ParameterizedTest(int *val, params, simple) {
cr_assert_fail("Parameter: %d", *val);
}
// Multiple parameters must be coalesced in a single parameter

View file

@ -2,16 +2,14 @@
// Basic usage
ParameterizedTestParameters(params, str) {
static const char *strings[] = {
"foo", "bar", "baz"
};
ParameterizedTestParameters(params, simple) {
static int vals[] = { 1, 2, 3 };
return cr_make_param_array(const char *, strings, sizeof (strings) / sizeof (const char *));
return cr_make_param_array(int, vals, sizeof (vals) / sizeof (int));
}
ParameterizedTest(const char **str, params, str) {
cr_assert_fail("Parameter: %s", *str);
ParameterizedTest(int *val, params, simple) {
cr_assert_fail("Parameter: %d", *val);
}
// Multiple parameters must be coalesced in a single parameter

View file

@ -1,45 +1,45 @@
Using parameterized tests
$ parameterized.c.bin
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: foo (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: bar (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: baz (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 1 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 2 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 3 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m9\x1b[0;1m | Passing: \x1b[0;32m0\x1b[0;1m | Failing: \x1b[0;31m9\x1b[0;1m | Crashing: \x1b[0m0\x1b[0;1m \x1b[0m (esc)
$ parameterized.cc.bin
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: foo (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: bar (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: baz (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 1 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 2 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 3 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m9\x1b[0;1m | Passing: \x1b[0;32m0\x1b[0;1m | Failing: \x1b[0;31m9\x1b[0;1m | Crashing: \x1b[0m0\x1b[0;1m \x1b[0m (esc)
Using parameterized tests (verbose)
@ -48,64 +48,64 @@ Using parameterized tests (verbose)
[\x1b[0;34m----\x1b[0m] Criterion v2.2.1 (esc)
[\x1b[0;34m====\x1b[0m] Running \x1b[0;34m3\x1b[0m tests from \x1b[0;33mparams\x1b[0m: (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m76\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m74\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m36\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m34\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: foo (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: bar (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m15\x1b[0m: Assertion failed: Parameter: baz (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 1 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 2 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.c\x1b[0m:\x1b[0;31m13\x1b[0m: Assertion failed: Parameter: 3 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m9\x1b[0;1m | Passing: \x1b[0;32m0\x1b[0;1m | Failing: \x1b[0;31m9\x1b[0;1m | Crashing: \x1b[0m0\x1b[0;1m \x1b[0m (esc)
$ parameterized.cc.bin --verbose
[\x1b[0;34m----\x1b[0m] Criterion v2.2.1 (esc)
[\x1b[0;34m====\x1b[0m] Running \x1b[0;34m3\x1b[0m tests from \x1b[0;33mparams\x1b[0m: (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::cleanup (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m73\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m71\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::cleanup (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (1, 2.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (3, 4.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::multiple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m35\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m33\x1b[0m: Assertion failed: Parameters: (5, 6.000000) (esc)
[\x1b[0;31mFAIL\x1b[0m] params::multiple (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: foo (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: bar (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::str (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m14\x1b[0m: Assertion failed: Parameter: baz (esc)
[\x1b[0;31mFAIL\x1b[0m] params::str (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 1 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 2 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34mRUN \x1b[0m] params::simple (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1mparameterized.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Assertion failed: Parameter: 3 (esc)
[\x1b[0;31mFAIL\x1b[0m] params::simple (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m9\x1b[0;1m | Passing: \x1b[0;32m0\x1b[0;1m | Failing: \x1b[0;31m9\x1b[0;1m | Crashing: \x1b[0m0\x1b[0;1m \x1b[0m (esc)
Parameterized tests should be listed as one test
@ -114,4 +114,4 @@ Parameterized tests should be listed as one test
params: 3 tests
cleanup
multiple
str
simple