Pt 165173962 fuzz testing aefate #161

Merged
zxq9 merged 36 commits from PT-165173962-fuzz-testing-aefate into master 2019-06-04 01:37:50 +09:00

36 Commits

Author SHA1 Message Date
Thomas Arts b8b316aae0 Make sorting idempotent 2019-06-03 14:49:13 +02:00
Thomas Arts 985e5358c9 Sorting should be idempotent 2019-06-03 14:49:02 +02:00
Thomas Arts ffebc13d08 Make sort testable 2019-06-03 14:45:08 +02:00
Thomas Arts 3ff4df42ff Make sure arguments not provided are maskes 2#00. 2019-06-03 13:43:49 +02:00
Thomas Arts d6fbc73450 Quicker testing with smaller terms 2019-06-03 13:34:37 +02:00
Thomas Arts 3d6ac9df92 Slightly different property 2019-06-03 11:08:08 +02:00
Thomas Arts e8390e52d1 Bug fix and little different way of writing logic 2019-06-03 11:07:00 +02:00
Erik Stenman 58daf1bb5c Add quick check test for order and handle variants. 2019-05-31 14:42:00 +02:00
Erik Stenman cb8e2b07a4 Use FATE order to sort maps iterator. 2019-05-31 13:52:07 +02:00
Erik Stenman 46f9d34447 Total order for FATE types. 2019-05-31 13:17:50 +02:00
Erik Stenman 942c7fb069 Add first draft of total order for FATE terms. 2019-05-30 12:31:40 +02:00
Erik Stenman 53130fc638 Add FATE_BOOLEAN_VALUE 2019-05-30 12:31:01 +02:00
Thomas Arts 8bf19dc060 Do not generate maps and variants as keys in fate maps 2019-05-29 16:23:45 +02:00
Thomas Arts a5bfdf63d5 Define a specific sorting for key-Value pairs
Sort on key and check: no duplicates and no maps and variants as key
2019-05-29 16:23:43 +02:00
Thomas Arts 41860b041e We should not deserialize function blocks only containing opcodes, but not a function 2019-05-29 16:23:43 +02:00
Thomas Arts 25ef7e7fe3 Remove special cases for NIL and empty MAP 2019-05-29 11:18:41 +02:00
Thomas Arts bcc409f302 serialize and deserialize integers with validity check 2019-05-29 11:17:13 +02:00
Thomas Arts 42719e7000 Fail on deserializing negative zero 2019-05-29 08:52:24 +02:00
Thomas Arts 0d6322c0aa Fix property 2019-05-29 08:31:04 +02:00
Thomas Arts f7a4c40c50 Only decode correctly encoded negative binaries 2019-05-29 08:21:25 +02:00
Thomas Arts ec0af8046a Safer serialization of opcode arguments 2019-05-28 19:09:42 +02:00
Thomas Arts 73c80e1168 Extend model to find {stack, N} errors as argument 2019-05-28 19:09:25 +02:00
Thomas Arts 45ff418699 More dsitintc fault injection 2019-05-28 18:23:39 +02:00
Thomas Arts 032277ae8b model so far
improved model
2019-05-28 18:13:27 +02:00
Thomas Arts 0bb4ac0fea Rough model to fuzz test aeb_fate_code 2019-05-28 18:13:24 +02:00
Thomas Arts 4a90e3b2b4 Add two more opcodes 2019-05-28 18:12:43 +02:00
Thomas Arts 8b7fefc8a9 Extend tests to encoded opcodes 2019-05-28 18:12:41 +02:00
Thomas Arts 6f59ef7a7c Fuzz test aeb_fate_encoding 2019-05-28 18:11:42 +02:00
Thomas Arts 302c1c211d Erik's fix to LONG strings 2019-05-28 18:11:42 +02:00
Thomas Arts 74791cfe52 typo 2019-05-28 18:11:42 +02:00
Thomas Arts 453f68fa39 Serialize only code blocks that have operators in right order 2019-05-28 18:11:42 +02:00
Thomas Arts aa9d2bf893 Do not allow empty code blocks 2019-05-28 18:11:42 +02:00
Thomas Arts 23b98f7d65 Add unit test to trigger eqc property 2019-05-28 18:11:42 +02:00
Thomas Arts 5d7bd73bcb Serialization of functions only succeeds for 4 byte iudentifiers 2019-05-28 18:11:42 +02:00
Thomas Arts 34b9684b6b Deserialize code without functions 2019-05-28 18:11:42 +02:00
Thomas Arts ccbb0ed6c7 Make code easier to test 2019-05-28 18:11:42 +02:00