diff options
author | Mike Morris <michael.patrick.morris@gmail.com> | 2014-07-14 16:16:20 -0400 |
---|---|---|
committer | Mike Morris <michael.patrick.morris@gmail.com> | 2014-07-14 16:16:20 -0400 |
commit | 97ec3766141052e557a4eb8c39883fd1b7d6536f (patch) | |
tree | df895c1c0f694241d8df82a28b50da0f3a7eea30 /bin/fuzz-functions.js | |
parent | 935089c239ffd3428c6478ba74e147ab338910fe (diff) | |
download | qtlocation-mapboxgl-97ec3766141052e557a4eb8c39883fd1b7d6536f.tar.gz |
C++ exception with description "array value has unexpected number of elements" thrown in the test body.
Diffstat (limited to 'bin/fuzz-functions.js')
-rwxr-xr-x | bin/fuzz-functions.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/fuzz-functions.js b/bin/fuzz-functions.js new file mode 100755 index 0000000000..26a079d6d8 --- /dev/null +++ b/bin/fuzz-functions.js @@ -0,0 +1,27 @@ +#!/usr/bin/env node +'use strict'; + +var through = require('through2'); +var fuzzer = require('fuzzer'); +fuzzer.seed(0); + +module.exports = function() { + return through.obj(function(chunk, env, callback) { + var json = JSON.parse(chunk.toString()); + + json.constants = Object.keys(json.constants).reduce(function(obj, key, index) { + var value = json.constants[key]; + if (typeof value === 'object' && value.hasOwnProperty('fn')) { + var mutator = fuzzer.mutate.object(value); + obj[key] = mutator(); + } + return obj; + }, {}); + + var data = JSON.stringify(json); + this.push(data); + callback(); + }); +}; + +if (!module.parent) process.stdin.pipe(module.exports()).pipe(process.stdout); |