Generating test cases
Randomly generate test cases
You can randomly generate test cases using the generate command and a generator script.
# Specify generator
cpg generate ./random.rb
# Or shorthand
cpg g ./random.rb
# Or specify directory to save the generated test cases
cpg generate --dir ./random ./random.rb
# Or specify full command to execute
cpg generate -- ruby ./random.rb
100 inputs are generated by default; --count 10 generates ten inputs. The
default directory is ./random. Files are named random-0001.in, incrementing
past existing .in or .out files.
After generating test cases, you can run naive solution against the generated test cases:
# Run naive solution against the generated test cases
cpg generate --answer ./naive.rb
# Or shorthand:
cpg g -a ./naive.rb
# Or specify full command to execute
cpg generate --answer -- ruby ./naive.rb
--answer processes every .in without a corresponding .out, preserving
existing answers. It cannot be combined with --count.
Use --jobs N (-j N) to run up to N generator or reference-solution processes
concurrently.
cpg generate -j 4 --count 100 ./random.rb
cpg generate --answer -j 4 ./naive.rb