diff options
| author | jvoisin | 2019-01-14 19:29:25 +0000 |
|---|---|---|
| committer | GitHub | 2019-01-14 19:29:25 +0000 |
| commit | e79f7e3bd992c7f0915ef9afe7afb6d79740527a (patch) | |
| tree | f881c25694eb00da2331a9ab280ec1c24a5662ab /src/tests/unserialize | |
| parent | c943db586ac46b686b49bdf61d8473e39dd93000 (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/unserialize')
| -rw-r--r-- | src/tests/unserialize/config/config_serialize.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/config/config_serialize_sim.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/config/dump_unserialize.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/dump_unserialize.phpt | 39 | ||||
| -rw-r--r-- | src/tests/unserialize/serialize.phpt | 13 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize.phpt | 13 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_fail.phpt | 15 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_sim.phpt | 18 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_wrong_call.phpt | 14 |
9 files changed, 118 insertions, 0 deletions
diff --git a/src/tests/unserialize/config/config_serialize.ini b/src/tests/unserialize/config/config_serialize.ini new file mode 100644 index 0000000..f2c1699 --- /dev/null +++ b/src/tests/unserialize/config/config_serialize.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable(); \ No newline at end of file | ||
diff --git a/src/tests/unserialize/config/config_serialize_sim.ini b/src/tests/unserialize/config/config_serialize_sim.ini new file mode 100644 index 0000000..7f015e0 --- /dev/null +++ b/src/tests/unserialize/config/config_serialize_sim.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable().simulation(); | ||
diff --git a/src/tests/unserialize/config/dump_unserialize.ini b/src/tests/unserialize/config/dump_unserialize.ini new file mode 100644 index 0000000..4352a3e --- /dev/null +++ b/src/tests/unserialize/config/dump_unserialize.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable().dump("/tmp/dump_result/"); | ||
diff --git a/src/tests/unserialize/dump_unserialize.phpt b/src/tests/unserialize/dump_unserialize.phpt new file mode 100644 index 0000000..4b54cbb --- /dev/null +++ b/src/tests/unserialize/dump_unserialize.phpt | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | --TEST-- | ||
| 2 | Dump unserialize | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php | ||
| 5 | if (!extension_loaded("snuffleupagus")) { | ||
| 6 | print "skip"; | ||
| 7 | } | ||
| 8 | ?> | ||
| 9 | --POST-- | ||
| 10 | post_a=data_post_a&post_b=data_post_b | ||
| 11 | --GET-- | ||
| 12 | get_a=data_get_a&get_b=data_get_b | ||
| 13 | --COOKIE-- | ||
| 14 | cookie_a=data_cookie_a&cookie_b=data_cookie_b | ||
| 15 | --INI-- | ||
| 16 | sp.configuration_file={PWD}/config/dump_unserialize.ini | ||
| 17 | --FILE-- | ||
| 18 | <?php | ||
| 19 | @mkdir("/tmp/dump_result/"); | ||
| 20 | foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) { | ||
| 21 | @unlink($dump); | ||
| 22 | } | ||
| 23 | |||
| 24 | echo "1\n"; | ||
| 25 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdhflkasjdf')); | ||
| 26 | $filename = glob('/tmp/dump_result/sp_dump.*')[0]; | ||
| 27 | $res = file($filename); | ||
| 28 | if ($res[2] != "GET:get_a='data_get_a' get_b='data_get_b' \n") { | ||
| 29 | echo "1\n"; | ||
| 30 | } elseif ($res[3] != "POST:post_a='data_post_a' post_b='data_post_b' \n") { | ||
| 31 | echo "2\n"; | ||
| 32 | } elseif ($res[4] != "COOKIE:cookie_a='data_cookie_a&cookie_b=data_cookie_b' \n") { | ||
| 33 | echo "3\n"; | ||
| 34 | } | ||
| 35 | ?> | ||
| 36 | --EXPECTF-- | ||
| 37 | 1 | ||
| 38 | |||
| 39 | Fatal error: [snuffleupagus][unserialize] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/dump_unserialize.php on line 8 | ||
diff --git a/src/tests/unserialize/serialize.phpt b/src/tests/unserialize/serialize.phpt new file mode 100644 index 0000000..e93dbaf --- /dev/null +++ b/src/tests/unserialize/serialize.phpt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --TEST-- | ||
| 2 | Test serialize hmac | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | echo serialize("a"); | ||
| 10 | ?> | ||
| 11 | --EXPECT-- | ||
| 12 | s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1 | ||
| 13 | |||
diff --git a/src/tests/unserialize/unserialize.phpt b/src/tests/unserialize/unserialize.phpt new file mode 100644 index 0000000..b1db915 --- /dev/null +++ b/src/tests/unserialize/unserialize.phpt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | var_dump(unserialize($a)); | ||
| 11 | ?> | ||
| 12 | --EXPECT-- | ||
| 13 | string(1) "a" | ||
diff --git a/src/tests/unserialize/unserialize_fail.phpt b/src/tests/unserialize/unserialize_fail.phpt new file mode 100644 index 0000000..c6411a5 --- /dev/null +++ b/src/tests/unserialize/unserialize_fail.phpt | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize fail | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | var_dump(unserialize('s:1:"a";')); | ||
| 10 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdhflkasjdf')); | ||
| 11 | var_dump(unserialize('s:1:"a";dslfjklfjfkjfdjffjfjads')); | ||
| 12 | var_dump(unserialize(1,2,3,4)); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | Fatal error: [snuffleupagus][unserialize] The serialized object is too small. in %a/unserialize_fail.php on line 2 \ No newline at end of file | ||
diff --git a/src/tests/unserialize/unserialize_sim.phpt b/src/tests/unserialize/unserialize_sim.phpt new file mode 100644 index 0000000..d919af1 --- /dev/null +++ b/src/tests/unserialize/unserialize_sim.phpt | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize_sim.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | echo $a; | ||
| 11 | var_dump(unserialize($a)); | ||
| 12 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdh1337sjdf')); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1string(1) "a" | ||
| 16 | |||
| 17 | Warning: [snuffleupagus][unserialize] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/unserialize_sim.php on line 5 | ||
| 18 | string(1) "a" | ||
diff --git a/src/tests/unserialize/unserialize_wrong_call.phpt b/src/tests/unserialize/unserialize_wrong_call.phpt new file mode 100644 index 0000000..729d020 --- /dev/null +++ b/src/tests/unserialize/unserialize_wrong_call.phpt | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok, but called with the wrong numeber of aguments | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | var_dump(unserialize($a, "too", "many", "aaaaaaaarguments!")); | ||
| 11 | ?> | ||
| 12 | --EXPECTF-- | ||
| 13 | Warning: unserialize() expects at most 2 parameters, 4 given in %a/unserialize_wrong_call.php on line %d | ||
| 14 | bool(false) | ||
