#include "../src/ccache.hpp"
#include "../src/stats.hpp"
#include "argprocessing.hpp"
-#include "framework.hpp"
#include "util.hpp"
-static std::string
+#include "third_party/catch.hpp"
+
+namespace {
+
+std::string
get_root()
{
#ifndef _WIN32
#endif
}
-static char*
+char*
get_posix_path(const char* path)
{
#ifndef _WIN32
#endif
}
-TEST_SUITE(argument_processing)
+} // namespace
-TEST(dash_E_should_result_in_called_for_preprocessing)
+TEST_CASE("dash_E_should_result_in_called_for_preprocessing")
{
Context ctx;
== STATS_PREPROCESSING);
}
-TEST(dash_M_should_be_unsupported)
+TEST_CASE("dash_M_should_be_unsupported")
{
Context ctx;
== STATS_UNSUPPORTED_OPTION);
}
-TEST(dependency_args_to_preprocessor_if_run_second_cpp_is_false)
+TEST_CASE("dependency_args_to_preprocessor_if_run_second_cpp_is_false")
{
Context ctx;
ctx.config.set_run_second_cpp(false);
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(dependency_args_to_compiler_if_run_second_cpp_is_true)
+TEST_CASE("dependency_args_to_compiler_if_run_second_cpp_is_true")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(cpp_only_args_to_preprocessor_if_run_second_cpp_is_false)
+TEST_CASE("cpp_only_args_to_preprocessor_if_run_second_cpp_is_false")
{
Context ctx;
ctx.config.set_run_second_cpp(false);
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(cpp_only_args_to_preprocessor_and_compiler_if_run_second_cpp_is_true)
+TEST_CASE(
+ "cpp_only_args_to_preprocessor_and_compiler_if_run_second_cpp_is_true")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(dependency_args_that_take_an_argument_should_not_require_space_delimiter)
+TEST_CASE(
+ "dependency_args_that_take_an_argument_should_not_require_space_delimiter")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MQ_flag_should_not_be_added_if_run_second_cpp_is_true)
+TEST_CASE("MQ_flag_should_not_be_added_if_run_second_cpp_is_true")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MQ_flag_should_be_added_if_run_second_cpp_is_false)
+TEST_CASE("MQ_flag_should_be_added_if_run_second_cpp_is_false")
{
Context ctx;
ctx.config.set_run_second_cpp(false);
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MF_should_be_added_if_run_second_cpp_is_false)
+TEST_CASE("MF_should_be_added_if_run_second_cpp_is_false")
{
Context ctx;
ctx.config.set_run_second_cpp(false);
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MF_should_not_be_added_if_run_second_cpp_is_true)
+TEST_CASE("MF_should_not_be_added_if_run_second_cpp_is_true")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(equal_sign_after_MF_should_be_removed)
+TEST_CASE("equal_sign_after_MF_should_be_removed")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(sysroot_should_be_rewritten_if_basedir_is_used)
+TEST_CASE("sysroot_should_be_rewritten_if_basedir_is_used")
{
Context ctx;
CHECK(act_cpp[1] == "--sysroot=./foo/bar");
}
-TEST(sysroot_with_separate_argument_should_be_rewritten_if_basedir_is_used)
+TEST_CASE(
+ "sysroot_with_separate_argument_should_be_rewritten_if_basedir_is_used")
{
Context ctx;
CHECK(act_cpp[2] == "./foo");
}
-TEST(MF_flag_with_immediate_argument_should_work_as_last_argument)
+TEST_CASE("MF_flag_with_immediate_argument_should_work_as_last_argument")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MT_flag_with_immediate_argument_should_work_as_last_argument)
+TEST_CASE("MT_flag_with_immediate_argument_should_work_as_last_argument")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MQ_flag_with_immediate_argument_should_work_as_last_argument)
+TEST_CASE("MQ_flag_with_immediate_argument_should_work_as_last_argument")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MQ_flag_without_immediate_argument_should_not_add_MQobj)
+TEST_CASE("MQ_flag_without_immediate_argument_should_not_add_MQobj")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MT_flag_without_immediate_argument_should_not_add_MTobj)
+TEST_CASE("MT_flag_without_immediate_argument_should_not_add_MTobj")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MQ_flag_with_immediate_argument_should_not_add_MQobj)
+TEST_CASE("MQ_flag_with_immediate_argument_should_not_add_MQobj")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(MT_flag_with_immediate_argument_should_not_add_MQobj)
+TEST_CASE("MT_flag_with_immediate_argument_should_not_add_MQobj")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(isystem_flag_with_separate_arg_should_be_rewritten_if_basedir_is_used)
+TEST_CASE(
+ "isystem_flag_with_separate_arg_should_be_rewritten_if_basedir_is_used")
{
Context ctx;
CHECK("./foo" == act_cpp[2]);
}
-TEST(isystem_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used)
+TEST_CASE("isystem_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used")
{
Context ctx;
free(cwd);
}
-TEST(I_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used)
+TEST_CASE("I_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used")
{
Context ctx;
free(cwd);
}
-TEST(debug_flag_order_with_known_option_first)
+TEST_CASE("debug_flag_order_with_known_option_first")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(debug_flag_order_with_known_option_last)
+TEST_CASE("debug_flag_order_with_known_option_last")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(options_not_to_be_passed_to_the_preprocesor)
+TEST_CASE("options_not_to_be_passed_to_the_preprocesor")
{
Context ctx;
create_file("foo.c", "");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-TEST(cuda_option_file)
+TEST_CASE("cuda_option_file")
{
Context ctx;
ctx.guessed_compiler = GuessedCompiler::nvcc;
create_file("foo.optf", "-c foo.c -g -Wall -o");
create_file("bar.optf", "out -DX");
CHECK(!process_args(ctx, act_cpp, act_extra, act_cc));
- CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
- CHECK_ARGS_EQ_FREE12(exp_extra, act_extra);
- CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+ CHECK(exp_cpp == act_cpp);
+ CHECK(exp_extra == act_extra);
+ CHECK(exp_cc == act_cc);
}
-
-TEST_SUITE_END