Also, once you do set a -j, you are setting a hard limit to how many CPUs the TestHarness will allow a test to consume. If a test requires more than this number, it will be skipped, with a caveat: "insufficient slots" attached to the result.
Running the tests without setting a -j allows the TestHarness to over subscribe the amount of CPUs a single test will use (but will only launch 1 test at a time). The TestHarness will alert you for tests that do this, with the caveat 'OVERSIZED' attached to their results.
I must apologize for asking you to run that one individual test with --re =D. I did not check what that test would actually do... 'materials/material.exception_material_parallel_rank1' test requires other tests to be run first. And thus, I created an impossible situation for the TestHarness (skipped dependency).
Anyways, here is an example of what hard limits, soft limits, and 'just enough' will do:
Hard Limit (setting a -j):
[~/projects/moose/test]> ./run_tests --re materials/material.exception_material -j 1
materials/material.exception_material_serial .......................................... OK
materials/material.exception_material_parallel_rank1 [insufficient slots,min_cpus=4] SKIP
materials/material.exception_material_parallel_rank0 ........... [skipped dependency] SKIP
------------------------------------------------------------------------------------------
Ran 1 tests in 2.6 seconds.
1 passed, 2 skipped, 0 pending, 0 failed
Soft Limit (no -j):
[~/projects/moose/test]> ./run_tests --re materials/material.exception_material
materials/material.exception_material_serial .......................................... OK
materials/material.exception_material_parallel_rank1 ........... [min_cpus=4,OVERSIZED] OK
materials/material.exception_material_parallel_rank0 ........... [min_cpus=4,OVERSIZED] OK
------------------------------------------------------------------------------------------
Ran 3 tests in 2.7 seconds.
3 passed, 0 skipped, 0 pending, 0 failed
Just Enough (-j >= min_cpu requirements)
[~/projects/moose/test]> ./run_tests --re materials/material.exception_material -j 4
materials/material.exception_material_serial .......................................... OK
materials/material.exception_material_parallel_rank1 ..................... [min_cpus=4] OK
materials/material.exception_material_parallel_rank0 ..................... [min_cpus=4] OK
------------------------------------------------------------------------------------------
Ran 3 tests in 2.7 seconds.
3 passed, 0 skipped, 0 pending, 0 failed
You might want to look into increasing the amount of CPUs available to your VM. Your machine most likely has multiple cores available, and will greatly increase the speed at which you can run tests/problems.
...and another apology, if I have over-explained the CPU scheduling routines...
Cheers,
Jason