X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/blobdiff_plain/e63124bc579bfd97cfe2f620ddd84df9f20477d8..d04c0e00da3a27693bbf9cc4f2d5c88e56d80f20:/utils/t/versioncmp-test.c diff --git a/utils/t/versioncmp-test.c b/utils/t/versioncmp-test.c index 0fb344c..f0df250 100644 --- a/utils/t/versioncmp-test.c +++ b/utils/t/versioncmp-test.c @@ -26,6 +26,8 @@ */ #include "tvec.h" +#include "tvec-types.h" + #include "versioncmp.h" enum { @@ -33,9 +35,12 @@ enum { RV0 = NROUT, RV1, NREG }; -static void test_versioncmp(const struct tvec_reg *in, struct tvec_reg *out, - void *ctx) - { out[RRC].v.i = versioncmp(in[RV0].v.str.p, in[RV1].v.str.p); } +static const struct tvec_regdef versioncmp_regs[] = { + { "v0", &tvty_text, RV0, 0 }, + { "v1", &tvty_text, RV1, 0 }, + { "rc", &tvty_ienum, RRC, 0, { &tvenum_cmp } }, + TVEC_ENDREGS +}; static void swap_test(struct tvec_state *tv, tvec_testfn *fn, void *ctx) { @@ -47,25 +52,21 @@ static void swap_test(struct tvec_state *tv, tvec_testfn *fn, void *ctx) tv->in[RRC].v.i = -tv->in[RRC].v.i; fn(tv->in, tv->out, 0); tvec_check(tv, "swapped"); } -static const struct tvec_env swap_testenv = { 0, 0, 0, 0, swap_test, 0, 0 }; -static const struct tvec_irange cmp_range = { -1, +1 }; -static const struct tvec_regdef versioncmp_regs[] = { - { "v0", RV0, &tvty_string, 0 }, - { "v1", RV1, &tvty_string, 0 }, - { "rc", RRC, &tvty_int, 0, { &cmp_range } }, - { 0, 0, 0, 0 } -}; +static void test_versioncmp(const struct tvec_reg *in, struct tvec_reg *out, + void *ctx) + { out[RRC].v.i = versioncmp(in[RV0].v.text.p, in[RV1].v.text.p); } -static const struct tvec_test tests[] = { - { "versioncmp", versioncmp_regs, &swap_testenv, test_versioncmp }, - { 0, 0, 0, 0 } -}; +static const struct tvec_env swap_testenv = { 0, 0, 0, 0, swap_test, 0, 0 }; +static const struct tvec_test versioncmp_test = + { "versioncmp", versioncmp_regs, &swap_testenv, test_versioncmp }; + +static const struct tvec_test *const tests[] = { &versioncmp_test, 0 }; -static const struct tvec_info testinfo = +static const struct tvec_config testconfig = { tests, NROUT, NREG, sizeof(struct tvec_reg) }; int main(int argc, char *argv[]) - { return (tvec_main(argc, argv, &testinfo, 0)); } + { return (tvec_main(argc, argv, &testconfig, 0)); } /*----- That's all, folks -------------------------------------------------*/