From: Joel Rosdahl Date: Sun, 25 Sep 2016 18:48:10 +0000 (+0200) Subject: Add test for rewriting --sysroot argument without equal sign X-Git-Tag: v3.4~94 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2d58a3fc9bc3a447d2efbf9c86cb7e6b25e445c0;p=thirdparty%2Fccache.git Add test for rewriting --sysroot argument without equal sign --- diff --git a/test/test_argument_processing.c b/test/test_argument_processing.c index f63c3af0a..9761e71d6 100644 --- a/test/test_argument_processing.c +++ b/test/test_argument_processing.c @@ -196,6 +196,30 @@ TEST(sysroot_should_be_rewritten_if_basedir_is_used) args_free(act_cc); } +TEST(sysroot_with_separate_argument_should_be_rewritten_if_basedir_is_used) +{ + extern char *current_working_dir; + char *arg_string; + struct args *orig; + struct args *act_cpp = NULL, *act_cc = NULL; + + create_file("foo.c", ""); + free(conf->base_dir); + conf->base_dir = get_root(); + current_working_dir = get_cwd(); + arg_string = format("cc --sysroot %s/foo -c foo.c", current_working_dir); + orig = args_init_from_string(arg_string); + free(arg_string); + + CHECK(cc_process_args(orig, &act_cpp, &act_cc)); + CHECK_STR_EQ(act_cpp->argv[1], "--sysroot"); + CHECK_STR_EQ(act_cpp->argv[2], "./foo"); + + args_free(orig); + args_free(act_cpp); + args_free(act_cc); +} + TEST(MF_flag_with_immediate_argument_should_work_as_last_argument) { struct args *orig = args_init_from_string(