aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-flags.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-flags.cc')
-rw-r--r--deps/v8/test/cctest/test-flags.cc79
1 files changed, 14 insertions, 65 deletions
diff --git a/deps/v8/test/cctest/test-flags.cc b/deps/v8/test/cctest/test-flags.cc
index 20db9547e9..e38a61f4b3 100644
--- a/deps/v8/test/cctest/test-flags.cc
+++ b/deps/v8/test/cctest/test-flags.cc
@@ -183,76 +183,12 @@ TEST(Flags6b) {
CHECK_EQ(3, FlagList::SetFlagsFromString(str, StrLength(str)));
}
-
-TEST(FlagsJSArguments1) {
- SetFlagsToDefault();
- int argc = 6;
- const char* argv[] = {"TestJSArgs1",
- "--testing-int-flag", "42",
- "--", "testing-float-flag", "7"};
- CHECK_EQ(0, FlagList::SetFlagsFromCommandLine(&argc,
- const_cast<char **>(argv),
- true));
- CHECK_EQ(42, FLAG_testing_int_flag);
- CHECK_EQ(2.5, FLAG_testing_float_flag);
- CHECK_EQ(2, FLAG_js_arguments.argc);
- CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
- CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
- CHECK_EQ(1, argc);
-}
-
-
-TEST(FlagsJSArguments1b) {
- SetFlagsToDefault();
- const char* str = "--testing-int-flag 42 -- testing-float-flag 7";
- CHECK_EQ(0, FlagList::SetFlagsFromString(str, StrLength(str)));
- CHECK_EQ(42, FLAG_testing_int_flag);
- CHECK_EQ(2.5, FLAG_testing_float_flag);
- CHECK_EQ(2, FLAG_js_arguments.argc);
- CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
- CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
-}
-
-
-TEST(FlagsJSArguments2) {
- SetFlagsToDefault();
- const char* str = "--testing-int-flag 42 --js-arguments testing-float-flag 7";
- CHECK_EQ(0, FlagList::SetFlagsFromString(str, StrLength(str)));
- CHECK_EQ(42, FLAG_testing_int_flag);
- CHECK_EQ(2.5, FLAG_testing_float_flag);
- CHECK_EQ(2, FLAG_js_arguments.argc);
- CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
- CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
-}
-
-
-TEST(FlagsJSArguments3) {
- SetFlagsToDefault();
- const char* str = "--testing-int-flag 42 --js-arguments=testing-float-flag 7";
- CHECK_EQ(0, FlagList::SetFlagsFromString(str, StrLength(str)));
- CHECK_EQ(42, FLAG_testing_int_flag);
- CHECK_EQ(2.5, FLAG_testing_float_flag);
- CHECK_EQ(2, FLAG_js_arguments.argc);
- CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
- CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
-}
-
-
-TEST(FlagsJSArguments4) {
- SetFlagsToDefault();
- const char* str = "--testing-int-flag 42 --";
- CHECK_EQ(0, FlagList::SetFlagsFromString(str, StrLength(str)));
- CHECK_EQ(42, FLAG_testing_int_flag);
- CHECK_EQ(0, FLAG_js_arguments.argc);
-}
-
-
TEST(FlagsRemoveIncomplete) {
// Test that processed command line arguments are removed, even
// if the list of arguments ends unexpectedly.
SetFlagsToDefault();
int argc = 3;
- const char* argv[] = {"", "--opt", "--expose-natives-as"};
+ const char* argv[] = {"", "--testing-bool-flag", "--expose-gc-as"};
CHECK_EQ(2, FlagList::SetFlagsFromCommandLine(&argc,
const_cast<char **>(argv),
true));
@@ -260,5 +196,18 @@ TEST(FlagsRemoveIncomplete) {
CHECK_EQ(2, argc);
}
+TEST(FlagsJitlessImplications) {
+ if (FLAG_jitless) {
+ // Double-check implications work as expected. Our implication system is
+ // fairly primitive and can break easily depending on the implication
+ // definition order in flag-definitions.h.
+ CHECK(!FLAG_opt);
+ CHECK(!FLAG_validate_asm);
+ CHECK(FLAG_wasm_interpret_all);
+ CHECK(!FLAG_asm_wasm_lazy_compilation);
+ CHECK(!FLAG_wasm_lazy_compilation);
+ }
+}
+
} // namespace internal
} // namespace v8