| Index: test/mjsunit/fuzz-natives.js
|
| ===================================================================
|
| --- test/mjsunit/fuzz-natives.js (revision 3935)
|
| +++ test/mjsunit/fuzz-natives.js (working copy)
|
| @@ -27,6 +27,9 @@
|
|
|
| // Flags: --allow-natives-syntax
|
|
|
| +var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
|
| +var kOnManyArgumentsRemove = 5;
|
| +
|
| function makeArguments() {
|
| var result = [ ];
|
| result.push(17);
|
| @@ -74,13 +77,23 @@
|
| var func = makeFunction(name, argc);
|
| while (hasMore) {
|
| var argPool = makeArguments();
|
| + // When we have 5 or more arguments we lower the amount of tests cases
|
| + // by randomly removing kOnManyArgumentsRemove entries
|
| + var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
|
| + kArgObjects : kArgObjects-kOnManyArgumentsRemove;
|
| + if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
|
| + for (var i = 0; i < kOnManyArgumentsRemove; i++) {
|
| + var rand = Math.floor(Math.random() * (kArgObjects - i));
|
| + argPool.splice(rand,1);
|
| + }
|
| + }
|
| var current = type;
|
| var hasMore = false;
|
| var argList = [ ];
|
| for (var i = 0; i < argc; i++) {
|
| - var index = current % kArgObjects;
|
| - current = (current / kArgObjects) << 0;
|
| - if (index != (kArgObjects - 1))
|
| + var index = current % numArguments;
|
| + current = (current / numArguments) << 0;
|
| + if (index != (numArguments - 1))
|
| hasMore = true;
|
| argList.push(argPool[index]);
|
| }
|
|
|