[apparmor] [patch 02/18] parser: remove unneeded vars/allocations in regex unit tests [resend]
John Johansen
john.johansen at canonical.com
Fri Jan 24 10:33:40 UTC 2014
On 01/16/2014 02:06 PM, Steve Beattie wrote:
> Based on feedback from Seth Arnold, the convert_aaregex_to_pcre()'s
> first argument is const char *, and thus the unit test macros don't need
> to pass a copy of the input string to it, as it's guaranteed to be
> unmodified by the function.
>
> Signed-off-by: Steve Beattie <steve at nxnw.org>
Acked-by: John Johansen <john.johansen at canonical.com>
> ---
> parser/parser_regex.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> Index: b/parser/parser_regex.c
> ===================================================================
> --- a/parser/parser_regex.c
> +++ b/parser/parser_regex.c
> @@ -1255,41 +1255,36 @@ static int test_filter_slashes(void)
> do { \
> std::string tbuf; \
> std::string tbuf2 = "testprefix"; \
> - char *test_string; \
> char *output_string = NULL; \
> std::string expected_str2; \
> pattern_t ptype; \
> int pos; \
> \
> - test_string = strdup((input)); \
> - ptype = convert_aaregex_to_pcre(test_string, 0, tbuf, &pos); \
> + ptype = convert_aaregex_to_pcre((input), 0, tbuf, &pos); \
> asprintf(&output_string, "simple regex conversion for '%s'\texpected = '%s'\tresult = '%s'", \
> - (input), expected_str, tbuf.c_str()); \
> + (input), (expected_str), tbuf.c_str()); \
> MY_TEST(strcmp(tbuf.c_str(), (expected_str)) == 0, output_string); \
> MY_TEST(ptype == (expected_type), "simple regex conversion type check for '" input "'"); \
> free(output_string); \
> /* ensure convert_aaregex_to_pcre appends only to passed ref string */ \
> expected_str2 = tbuf2; \
> expected_str2.append((expected_str)); \
> - ptype = convert_aaregex_to_pcre(test_string, 0, tbuf2, &pos); \
> + ptype = convert_aaregex_to_pcre((input), 0, tbuf2, &pos); \
> asprintf(&output_string, "simple regex conversion for '%s'\texpected = '%s'\tresult = '%s'", \
> (input), expected_str2.c_str(), tbuf2.c_str()); \
> MY_TEST((tbuf2 == expected_str2), output_string); \
> - free(test_string); free(output_string); \
> + free(output_string); \
> } \
> while (0)
>
> #define MY_REGEX_FAIL_TEST(input) \
> do { \
> std::string tbuf; \
> - char *test_string; \
> pattern_t ptype; \
> int pos; \
> \
> - test_string = strdup((input)); \
> - ptype = convert_aaregex_to_pcre(test_string, 0, tbuf, &pos); \
> + ptype = convert_aaregex_to_pcre((input), 0, tbuf, &pos); \
> MY_TEST(ptype == ePatternInvalid, "simple regex conversion invalid type check for '" input "'"); \
> - free(test_string); \
> } \
> while (0)
>
>
>
> -- AppArmor mailing list AppArmor at lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
>
More information about the AppArmor
mailing list