#include <ctime>
#include <fnmatch.h>
#include <iostream>
+#include <fstream>
#include <memory>
#include <sys/stat.h>
#include <sys/time.h>
using namespace libtest;
-static void stats_print(Framework *frame)
+static void stats_print(libtest::Framework *frame)
{
if (frame->failed() == 0 and frame->success() == 0)
{
bool opt_quiet= false;
std::string collection_to_run;
std::string wildcard;
+ std::string binary_name;
+
+ const char *just_filename= rindex(argv[0], '/');
+ if (just_filename)
+ {
+ just_filename++;
+ }
+ else
+ {
+ just_filename= argv[0];
+ }
+
+ if (just_filename[0] == 'l' and just_filename[1] == 't' and just_filename[2] == '-')
+ {
+ just_filename+= 3;
+ }
+ binary_name.append(just_filename);
/*
Valgrind does not currently work reliably, or sometimes at all, on OSX
return EXIT_FAILURE;
}
- std::auto_ptr<Framework> frame(new Framework(signal, collection_to_run, wildcard));
+ std::auto_ptr<libtest::Framework> frame(new libtest::Framework(signal, binary_name, collection_to_run, wildcard));
// Run create(), bail on error.
{
}
else if (frame->success() and (frame->failed() == 0))
{
+ Out;
Out << "All tests completed successfully.";
}
stats_print(frame.get());
+ std::ofstream xml_file;
+ std::string file_name;
+ if (getenv("LIBTEST_TEMP"))
+ {
+ file_name.append(getenv("LIBTEST_TEMP"));
+ }
+ file_name.append(frame->name());
+ file_name.append(".xml");
+ xml_file.open(file_name.c_str(), std::ios::trunc);
+ libtest::Formatter::xml(*frame, xml_file);
+
Outn(); // Generate a blank to break up the messages if make check/test has been run
} while (exit_code == EXIT_SUCCESS and --opt_repeat);
}