There should be two fuzz testers. The “friendly” one which constructs valid templates and parameter dictionaries and complains if it gets an exception or warning. The “malign” one also creates valid test cases, but then corrupts them with random insertions, deletions and overwrites. It complains on exceptions and ignores warnings. It should be run under Guard Malloc or similar, and occasionally allocate and deallocate memory to check for corruption.
Neither tester will validate the expanded strings, they are only intended to test for assertions and invalid warnings (parse failures).
There should be two fuzz testers. The “friendly” one which constructs valid templates and parameter dictionaries and complains if it gets an exception or warning. The “malign” one also creates valid test cases, but then corrupts them with random insertions, deletions and overwrites. It complains on exceptions and ignores warnings. It should be run under Guard Malloc or similar, and occasionally allocate and deallocate memory to check for corruption.
Neither tester will validate the expanded strings, they are only intended to test for assertions and invalid warnings (parse failures).