summaryrefslogtreecommitdiff
path: root/src/tests/broken_configuration/config
diff options
context:
space:
mode:
authorjvoisin2019-01-14 19:29:25 +0000
committerGitHub2019-01-14 19:29:25 +0000
commite79f7e3bd992c7f0915ef9afe7afb6d79740527a (patch)
treef881c25694eb00da2331a9ab280ec1c24a5662ab /src/tests/broken_configuration/config
parentc943db586ac46b686b49bdf61d8473e39dd93000 (diff)
Reorganize the testsuite
Splitting the testsuite in several components makes it easier to manage and comprehend. This was also needed some some tests aren't passing on Alpine Linux, but we still want to run as many of them as we can on this platform.
Diffstat (limited to 'src/tests/broken_configuration/config')
-rw-r--r--src/tests/broken_configuration/config/borken_conf_enable_disable.ini1
-rw-r--r--src/tests/broken_configuration/config/borken_conf_upload_validation.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf2.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_action.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_encryption_key.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_env_var.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_samesite.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_eval.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_expecting_bool.ini5
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_cidr.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_cidr6.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_cidr6_no_slash.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_cidr6_too_big.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_cidr_value.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_filename.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_invalid_type.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_key_value.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_line_empty_string.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_line_no_closing.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_1.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_10.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_11.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_12.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_13.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_14.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_15.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_16.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_2.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_3.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_4.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_5.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_6.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_7.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_8.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_local_var_9.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_lots_of_quotes.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_missing_script.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive10.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive11.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive12.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive2.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive3.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive4.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive5.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive6.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive7.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive8.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_mutually_exclusive9.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_nonexisting_script.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_quotes.ini3
-rw-r--r--src/tests/broken_configuration/config/broken_conf_readonly_exec.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_session_encryption.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_session_encryption_without_encryption_key.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_session_encryption_without_env_var.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_to_few_args.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_unserialize.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_weird_keyword.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_wrapper_whitelist.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_wrong_quotes.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_conf_wrong_type.ini5
-rw-r--r--src/tests/broken_configuration/config/broken_config_regexp.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_config_regexp_no_closing_paren.ini1
-rw-r--r--src/tests/broken_configuration/config/broken_regexp.ini1
-rw-r--r--src/tests/broken_configuration/config/config_broken_conf_truncated.ini1
-rw-r--r--src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini3
-rw-r--r--src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini3
-rw-r--r--src/tests/broken_configuration/config/config_unmatching_brackets.ini1
-rw-r--r--src/tests/broken_configuration/config/disabled_functions_cidr.ini9
71 files changed, 98 insertions, 0 deletions
diff --git a/src/tests/broken_configuration/config/borken_conf_enable_disable.ini b/src/tests/broken_configuration/config/borken_conf_enable_disable.ini
new file mode 100644
index 0000000..4e95294
--- /dev/null
+++ b/src/tests/broken_configuration/config/borken_conf_enable_disable.ini
@@ -0,0 +1 @@
sp.global_strict.disable().enable();
diff --git a/src/tests/broken_configuration/config/borken_conf_upload_validation.ini b/src/tests/broken_configuration/config/borken_conf_upload_validation.ini
new file mode 100644
index 0000000..7c94185
--- /dev/null
+++ b/src/tests/broken_configuration/config/borken_conf_upload_validation.ini
@@ -0,0 +1 @@
sp.upload_validation.script(
diff --git a/src/tests/broken_configuration/config/broken_conf.ini b/src/tests/broken_configuration/config/broken_conf.ini
new file mode 100644
index 0000000..0595320
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf.ini
@@ -0,0 +1 @@
this is a broken line
diff --git a/src/tests/broken_configuration/config/broken_conf2.ini b/src/tests/broken_configuration/config/broken_conf2.ini
new file mode 100644
index 0000000..fdb6b8f
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf2.ini
@@ -0,0 +1 @@
sp.wrong
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_action.ini b/src/tests/broken_configuration/config/broken_conf_cookie_action.ini
new file mode 100644
index 0000000..5f07c28
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_action.ini
@@ -0,0 +1 @@
sp.cookie.name("my_cookie_name");
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_encryption_key.ini b/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_encryption_key.ini
new file mode 100644
index 0000000..a100bd8
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_encryption_key.ini
@@ -0,0 +1,2 @@
1sp.global.cookie_env_var("MY_SUPER_ENV_VAR_YAY");
2sp.cookie.name("my_cookie_name").encrypt();
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_env_var.ini b/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_env_var.ini
new file mode 100644
index 0000000..54cb101
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_encryption_without_env_var.ini
@@ -0,0 +1,2 @@
1sp.global.secret_key("super secret encryption key");
2sp.cookie.name("my_cookie_name").encrypt();
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini b/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini
new file mode 100644
index 0000000..503889b
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini
@@ -0,0 +1,2 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("my_cookie_name").name_r("my_cookie_regexp").encrypt();
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_samesite.ini b/src/tests/broken_configuration/config/broken_conf_cookie_samesite.ini
new file mode 100644
index 0000000..acc4aa0
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_samesite.ini
@@ -0,0 +1 @@
sp.cookie.name("my_cookie_name").samesite("nop");
diff --git a/src/tests/broken_configuration/config/broken_conf_eval.ini b/src/tests/broken_configuration/config/broken_conf_eval.ini
new file mode 100644
index 0000000..80ef7e5
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_eval.ini
@@ -0,0 +1 @@
sp.eval_blacklist.list("cos,sin
diff --git a/src/tests/broken_configuration/config/broken_conf_expecting_bool.ini b/src/tests/broken_configuration/config/broken_conf_expecting_bool.ini
new file mode 100644
index 0000000..51c28b2
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_expecting_bool.ini
@@ -0,0 +1,5 @@
1 # this is an example of broken conf
2
3
4 ; this is another comment
5sp.harden_random.enable(1337);
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_cidr.ini b/src/tests/broken_configuration/config/broken_conf_invalid_cidr.ini
new file mode 100644
index 0000000..b1929c1
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_cidr.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("127.0.0.1/42");
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_cidr6.ini b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6.ini
new file mode 100644
index 0000000..5e91faf
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329/ZZZ");
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_no_slash.ini b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_no_slash.ini
new file mode 100644
index 0000000..067209f
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_no_slash.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329");
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_too_big.ini b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_too_big.ini
new file mode 100644
index 0000000..f82b18b
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_cidr6_too_big.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329/13337");
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_cidr_value.ini b/src/tests/broken_configuration/config/broken_conf_invalid_cidr_value.ini
new file mode 100644
index 0000000..06a56bd
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_cidr_value.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_filename.ini b/src/tests/broken_configuration/config/broken_conf_invalid_filename.ini
new file mode 100644
index 0000000..1be3b51
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_filename.ini
@@ -0,0 +1 @@
sp.disable_function.function("sprintf").filename("wrong file name").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_invalid_type.ini b/src/tests/broken_configuration/config/broken_conf_invalid_type.ini
new file mode 100644
index 0000000..c52994e
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_invalid_type.ini
@@ -0,0 +1 @@
sp.disable_function.function("strpos").ret_type("totally_wrong"_type")
diff --git a/src/tests/broken_configuration/config/broken_conf_key_value.ini b/src/tests/broken_configuration/config/broken_conf_key_value.ini
new file mode 100644
index 0000000..a0edaf2
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_key_value.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("").value("").key("").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_line_empty_string.ini b/src/tests/broken_configuration/config/broken_conf_line_empty_string.ini
new file mode 100644
index 0000000..dfa5520
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_line_empty_string.ini
@@ -0,0 +1 @@
sp.cookie.name(
diff --git a/src/tests/broken_configuration/config/broken_conf_line_no_closing.ini b/src/tests/broken_configuration/config/broken_conf_line_no_closing.ini
new file mode 100644
index 0000000..6a8c922
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_line_no_closing.ini
@@ -0,0 +1 @@
sp.cookie.name("123"
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_1.ini b/src/tests/broken_configuration/config/broken_conf_local_var_1.ini
new file mode 100644
index 0000000..ae5165c
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_1.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("]").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_10.ini b/src/tests/broken_configuration/config/broken_conf_local_var_10.ini
new file mode 100644
index 0000000..93dd07f
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_10.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("asd[asd]asd").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_11.ini b/src/tests/broken_configuration/config/broken_conf_local_var_11.ini
new file mode 100644
index 0000000..028b1bd
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_11.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("asd::").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_12.ini b/src/tests/broken_configuration/config/broken_conf_local_var_12.ini
new file mode 100644
index 0000000..a151960
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_12.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_13.ini b/src/tests/broken_configuration/config/broken_conf_local_var_13.ini
new file mode 100644
index 0000000..e7c9778
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_13.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("asd->asd").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_14.ini b/src/tests/broken_configuration/config/broken_conf_local_var_14.ini
new file mode 100644
index 0000000..6c98ec3
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_14.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("$i+valid var name ").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_15.ini b/src/tests/broken_configuration/config/broken_conf_local_var_15.ini
new file mode 100644
index 0000000..a8dc5a4
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_15.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("$i$$!@#->qwe").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_16.ini b/src/tests/broken_configuration/config/broken_conf_local_var_16.ini
new file mode 100644
index 0000000..550719b
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_16.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("\"").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_2.ini b/src/tests/broken_configuration/config/broken_conf_local_var_2.ini
new file mode 100644
index 0000000..145a3b5
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_2.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("\"\"asd").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_3.ini b/src/tests/broken_configuration/config/broken_conf_local_var_3.ini
new file mode 100644
index 0000000..5d89076
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_3.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("\$qwe->::").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_4.ini b/src/tests/broken_configuration/config/broken_conf_local_var_4.ini
new file mode 100644
index 0000000..3ec073b
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_4.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("\"asd\"asd[]").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_5.ini b/src/tests/broken_configuration/config/broken_conf_local_var_5.ini
new file mode 100644
index 0000000..cd350b6
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_5.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("'asd'asd[]").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_6.ini b/src/tests/broken_configuration/config/broken_conf_local_var_6.ini
new file mode 100644
index 0000000..02f4f1a
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_6.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("''asd").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_7.ini b/src/tests/broken_configuration/config/broken_conf_local_var_7.ini
new file mode 100644
index 0000000..abbd223
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_7.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("asd-->").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_8.ini b/src/tests/broken_configuration/config/broken_conf_local_var_8.ini
new file mode 100644
index 0000000..fd18487
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_8.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("asd[asd]\"asd\"").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_local_var_9.ini b/src/tests/broken_configuration/config/broken_conf_local_var_9.ini
new file mode 100644
index 0000000..a311b86
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_local_var_9.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").var("asd[asd]\'asd\'").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_lots_of_quotes.ini b/src/tests/broken_configuration/config/broken_conf_lots_of_quotes.ini
new file mode 100644
index 0000000..189a10d
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_lots_of_quotes.ini
@@ -0,0 +1 @@
sp.cookie.name("this\"is a weird\"\"\"cookie\"name"");
diff --git a/src/tests/broken_configuration/config/broken_conf_missing_script.ini b/src/tests/broken_configuration/config/broken_conf_missing_script.ini
new file mode 100644
index 0000000..a46f590
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_missing_script.ini
@@ -0,0 +1 @@
sp.upload_validation.enable();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive.ini
new file mode 100644
index 0000000..7ea483f
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("id").value("42").value_r("^id$").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive10.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive10.ini
new file mode 100644
index 0000000..da8426e
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive10.ini
@@ -0,0 +1 @@
sp.readonly_exec.enable().disable();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive11.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive11.ini
new file mode 100644
index 0000000..cab163f
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive11.ini
@@ -0,0 +1 @@
sp.disable_function.function("strcmp").drop().ret("hip").var("hop");
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive12.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive12.ini
new file mode 100644
index 0000000..fe140db
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive12.ini
@@ -0,0 +1 @@
sp.disable_function.function("strcmp").drop().ret("hip").value("hop");
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive2.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive2.ini
new file mode 100644
index 0000000..3ff3ca7
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive2.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").function_r("system").param("id").value("42").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive3.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive3.ini
new file mode 100644
index 0000000..f4f7604
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive3.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("id").value("42").filename_r("^id$").filename("pouet.txt").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive4.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive4.ini
new file mode 100644
index 0000000..c38a727
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive4.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("id").value("42").param_r("^id$").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive5.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive5.ini
new file mode 100644
index 0000000..254b2a3
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive5.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").ret("0").drop().ret_r("^0$");
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive6.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive6.ini
new file mode 100644
index 0000000..7c6712c
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive6.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("id").value("42").ret_r("^0$").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive7.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive7.ini
new file mode 100644
index 0000000..feb3486
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive7.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").ret("0").drop().allow();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive8.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive8.ini
new file mode 100644
index 0000000..c9c9ea2
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive8.ini
@@ -0,0 +1 @@
sp.disable_function.ret("0").drop();
diff --git a/src/tests/broken_configuration/config/broken_conf_mutually_exclusive9.ini b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive9.ini
new file mode 100644
index 0000000..7bf6a62
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_mutually_exclusive9.ini
@@ -0,0 +1 @@
sp.unserialize_hmac.enable().disable();
diff --git a/src/tests/broken_configuration/config/broken_conf_nonexisting_script.ini b/src/tests/broken_configuration/config/broken_conf_nonexisting_script.ini
new file mode 100644
index 0000000..8327438
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_nonexisting_script.ini
@@ -0,0 +1 @@
sp.upload_validation.enable().script("./non_existing_script.sh");
diff --git a/src/tests/broken_configuration/config/broken_conf_quotes.ini b/src/tests/broken_configuration/config/broken_conf_quotes.ini
new file mode 100644
index 0000000..eac8739
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_quotes.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("system").filename("/static_pages/index.php").var("_SERVER[PHP_SELF").value_r("\"").drop().alias("XSS");
2sp.disable_function.filename("include/imageobject_im.class.php").function("exec").var("CONFIG[im_options]).value_r("[^a-z0-9]").drop();
3
diff --git a/src/tests/broken_configuration/config/broken_conf_readonly_exec.ini b/src/tests/broken_configuration/config/broken_conf_readonly_exec.ini
new file mode 100644
index 0000000..9e11313
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_readonly_exec.ini
@@ -0,0 +1 @@
sp.readonly_exec.enable(1234);
diff --git a/src/tests/broken_configuration/config/broken_conf_session_encryption.ini b/src/tests/broken_configuration/config/broken_conf_session_encryption.ini
new file mode 100644
index 0000000..66b7956
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_session_encryption.ini
@@ -0,0 +1 @@
sp.session.encrypt(invalid value :/);
diff --git a/src/tests/broken_configuration/config/broken_conf_session_encryption_without_encryption_key.ini b/src/tests/broken_configuration/config/broken_conf_session_encryption_without_encryption_key.ini
new file mode 100644
index 0000000..2b6f674
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_session_encryption_without_encryption_key.ini
@@ -0,0 +1,2 @@
1sp.global.cookie_env_var("MY_SUPER_ENV_VAR_YAY");
2sp.session.encrypt();
diff --git a/src/tests/broken_configuration/config/broken_conf_session_encryption_without_env_var.ini b/src/tests/broken_configuration/config/broken_conf_session_encryption_without_env_var.ini
new file mode 100644
index 0000000..43caf4a
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_session_encryption_without_env_var.ini
@@ -0,0 +1,2 @@
1sp.global.secret_key("super secret key, shhhh");
2sp.session.encrypt();
diff --git a/src/tests/broken_configuration/config/broken_conf_to_few_args.ini b/src/tests/broken_configuration/config/broken_conf_to_few_args.ini
new file mode 100644
index 0000000..89e19be
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_to_few_args.ini
@@ -0,0 +1 @@
sp.harden_random.enable();
diff --git a/src/tests/broken_configuration/config/broken_conf_unserialize.ini b/src/tests/broken_configuration/config/broken_conf_unserialize.ini
new file mode 100644
index 0000000..9cdc9a6
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_unserialize.ini
@@ -0,0 +1 @@
sp.unserialize_hmac.enable(1234);
diff --git a/src/tests/broken_configuration/config/broken_conf_weird_keyword.ini b/src/tests/broken_configuration/config/broken_conf_weird_keyword.ini
new file mode 100644
index 0000000..bf5e7f5
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_weird_keyword.ini
@@ -0,0 +1 @@
sp.harden_random.enable().not_a_valid_keyword("test");
diff --git a/src/tests/broken_configuration/config/broken_conf_wrapper_whitelist.ini b/src/tests/broken_configuration/config/broken_conf_wrapper_whitelist.ini
new file mode 100644
index 0000000..b8e08a8
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_wrapper_whitelist.ini
@@ -0,0 +1 @@
sp.wrappers_whitelist.invalid_param();
diff --git a/src/tests/broken_configuration/config/broken_conf_wrong_quotes.ini b/src/tests/broken_configuration/config/broken_conf_wrong_quotes.ini
new file mode 100644
index 0000000..ff41f93
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_wrong_quotes.ini
@@ -0,0 +1 @@
sp.cookie.name("\)
diff --git a/src/tests/broken_configuration/config/broken_conf_wrong_type.ini b/src/tests/broken_configuration/config/broken_conf_wrong_type.ini
new file mode 100644
index 0000000..b2943db
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_wrong_type.ini
@@ -0,0 +1,5 @@
1sp.disable_function.function("strpos").ret_type("undef").drop().alias("Return value is undef");
2sp.disable_function.function("strpos").ret_type("null").drop().alias("Return value is null");
3sp.disable_function.function("strpos").ret_type("object").drop().alias("Return value is object");
4sp.disable_function.function("strpos").ret_type("reference").drop().alias("Return value is reference");
5sp.disable_function.function("strpos").ret_type("totally_wrong_type").drop().alias("Return value is FALSE");
diff --git a/src/tests/broken_configuration/config/broken_config_regexp.ini b/src/tests/broken_configuration/config/broken_config_regexp.ini
new file mode 100644
index 0000000..62bed11
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_config_regexp.ini
@@ -0,0 +1 @@
sp.disable_function.function_r("^system$").filename_r("*.").drop();
diff --git a/src/tests/broken_configuration/config/broken_config_regexp_no_closing_paren.ini b/src/tests/broken_configuration/config/broken_config_regexp_no_closing_paren.ini
new file mode 100644
index 0000000..93e150b
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_config_regexp_no_closing_paren.ini
@@ -0,0 +1 @@
sp.disable_function.function_r("^system$").drop().filename_r("*."
diff --git a/src/tests/broken_configuration/config/broken_regexp.ini b/src/tests/broken_configuration/config/broken_regexp.ini
new file mode 100644
index 0000000..8e4bf69
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_regexp.ini
@@ -0,0 +1 @@
sp.disable_function.function("AwesomeClass::method3").param("a").drop().value_r("^$[");
diff --git a/src/tests/broken_configuration/config/config_broken_conf_truncated.ini b/src/tests/broken_configuration/config/config_broken_conf_truncated.ini
new file mode 100644
index 0000000..bf05dfb
--- /dev/null
+++ b/src/tests/broken_configuration/config/config_broken_conf_truncated.ini
@@ -0,0 +1 @@
sp.disable_function.function("").param(no quote, omg!
diff --git a/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini b/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini
new file mode 100644
index 0000000..048e404
--- /dev/null
+++ b/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini
@@ -0,0 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("").encrypt();
3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini b/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini
new file mode 100644
index 0000000..4fe92fd
--- /dev/null
+++ b/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini
@@ -0,0 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name_r("^super_co[a-z+$").encrypt();
3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration/config/config_unmatching_brackets.ini b/src/tests/broken_configuration/config/config_unmatching_brackets.ini
new file mode 100644
index 0000000..45fa4fe
--- /dev/null
+++ b/src/tests/broken_configuration/config/config_unmatching_brackets.ini
@@ -0,0 +1 @@
sp.disable_function.function("foo").param("arr[b]]]]]").value("aaa").alias("4").drop();
diff --git a/src/tests/broken_configuration/config/disabled_functions_cidr.ini b/src/tests/broken_configuration/config/disabled_functions_cidr.ini
new file mode 100644
index 0000000..f69ce07
--- /dev/null
+++ b/src/tests/broken_configuration/config/disabled_functions_cidr.ini
@@ -0,0 +1,9 @@
1sp.disable_function.function("system").drop().cidr("2001:ab9:a::123/64");
2sp.disable_function.function("system").drop().cidr("192.168.0.1/16");
3sp.disable_function.function("system").drop().cidr("127.0.0.1/8");
4sp.disable_function.function("printf").drop().cidr("10.0.0.1/8");
5sp.disable_function.function("strpos").drop().cidr("127.0.0.2/4");
6sp.disable_function.function("strpos").drop().cidr("::ffff:192.0.2.128/128");
7sp.disable_function.function("strpos").drop().cidr("2001:ab9:a::123/64");
8sp.disable_function.function("strpos").drop().cidr("2001:0db8:f000:f000:f000:ff00:0042:8329/124");
9sp.disable_function.function("printf").drop().cidr("2002:0db8:0000:0000:0000:ff00:0042:8329/24");