Skip to content
Snippets Groups Projects
Commit 7ba40a9b authored by geigle1's avatar geigle1
Browse files

Update monad.

git-svn-id: https://subversion.cs.illinois.edu/svn/cs225@7659 6fbd10e7-183d-0410-a318-cb416676e4f2
parent e1f6970e
No related branches found
No related tags found
No related merge requests found
......@@ -45,6 +45,7 @@ bool newtests = false;
bool provided = false;
bool verbose = false;
bool detailed = true;
bool buffer = true;
bool valgrind = false;
bool parallel = false;
......@@ -141,6 +142,7 @@ int main(int argc, const char * const * argv)
if (opts::verbose) args.push_back("--verbose");
if (opts::valgrind) args.push_back("--valgrind");
if (!opts::buffer) args.push_back("--noredirect");
if (!opts::detailed) args.push_back("--nodetailed");
int score = exec("./proxy", args);
// TODO (toole1): this causes weird output when scores are like 200
......@@ -186,6 +188,7 @@ void monad::processArgs(int argc, const char * const * argv)
options.addOption("staff", opts::staff);
options.addOption("optimize", opts::optimize);
options.addOption("detailed", opts::detailed);
options.addOption("verbose", opts::verbose);
options.addOption("buffer", opts::buffer);
options.addOption("valgrind", opts::valgrind);
......
......@@ -145,6 +145,7 @@ const char * parse_options(int argc, const char * const * const argv, RunTimeEnv
parseopts.addOption("verbose", opts.verbose);
parseopts.addOption("redirect", opts.redirect_test_output);
parseopts.addOption("valgrind", opts.valgrind);
parseopts.addOption("detailed", opts.detailed);
parseopts.addArg(getTestName);
parseopts.parse(argc, argv);
......@@ -304,7 +305,8 @@ int RunTests::run_all_tests()
const int32_t score = accumulate(results.begin(), results.end(), 0, foldTestScore);
cout << endl << endl;
output_detailed_info_if_any_failed(results, score);
if (environment.opts.detailed)
output_detailed_info_if_any_failed(results, score);
output::total_score(score, -1);
return score;
......@@ -370,7 +372,12 @@ void RunTests::output_single_test_passfail(const unit_test_result & curr_test)
if (curr_test.passed())
std::cout << output::passed_string() << endl;
else
std::cout << output::failed_string() << ": " << curr_test.errormsg() << endl;
{
std::cout << output::failed_string();
if (environment.opts.detailed)
std::cout << ": " << curr_test.errormsg();
std::cout << endl;
}
}
test_execution::test_execution(const unit_test_input & _test, RunTimeEnvironment & env, bool enable_valgrind_call)
......
......@@ -70,11 +70,13 @@ namespace proxy
bool verbose;
bool redirect_test_output;
bool valgrind;
bool detailed;
Options()
: verbose(false),
redirect_test_output(true),
valgrind(false)
valgrind(false),
detailed(true)
{ }
};
......
......@@ -232,6 +232,16 @@ class Exception : public std::exception
};
template <bool condition, typename T = void>
class enable_if
{
typedef T type;
};
template <typename T>
class enable_if<false, T>
{ }; // No ::type here
// AUTOGRADER
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment