Proposed approach - add these variables:
test_threads_max default value of number of cores
test_threads_n default value 1
tests_threads_files_copied default value list of supplied files
tests would be run in min(test_threads_max, test_threads_n) threads
if tests_threads_files_copied is non-empty run each test in a new directory,
after copying the specified files to the directory.