From 959cd8903fd012e63dbb156db56708dd3934b5df Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 5 Sep 2016 09:49:06 +0200 Subject: common: Add string operator gt,ge,le,lt to recsel. * common/recsel.c (recsel_parse_expr): Add them. (recsel_dump): Print them. (recsel_select): Evaluate them. Signed-off-by: Werner Koch --- common/t-recsel.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'common/t-recsel.c') diff --git a/common/t-recsel.c b/common/t-recsel.c index fe2a7b9d0..faddc97ed 100644 --- a/common/t-recsel.c +++ b/common/t-recsel.c @@ -171,6 +171,8 @@ test_2_getval (void *cookie, const char *name) return " "; else if (!strcmp (name, "letters")) return "abcde"; + else if (!strcmp (name, "str1")) + return "aaa"; else return cookie; } @@ -263,6 +265,37 @@ run_test_2 (void) fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -gt aa"); + if (!recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -gt aaa"); + if (recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -ge aaa"); + if (!recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -lt aab"); + if (!recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -le aaa"); + if (!recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + + FREEEXPR(); + ADDEXPR ("-c str1 -lt AAB"); + if (recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + FREEEXPR(); + ADDEXPR ("str1 -lt AAB"); + if (!recsel_select (se, test_2_getval, NULL)) + fail (0, 0); + + FREEEXPR(); ADDEXPR ("uid -n"); if (!recsel_select (se, test_2_getval, NULL)) -- cgit v1.2.3