#include "csv_formatter.h"
+#ifdef UNIT_TEST
+#include "catch/catch.hpp"
+#endif
+
using namespace std;
SectionRef CSVFormatter::register_section(string name)
}
-void CSVFormatter::set_field(FieldRef ref, PegCount val)
-{
- return PerfFormatter::set_field(ref, val);
-}
-
-void CSVFormatter::set_field(FieldRef ref, double val)
-{
- return PerfFormatter::set_field(ref, val);
-}
-
void CSVFormatter::write(FILE* fh, time_t timestamp)
{
TEST_CASE("header output", "[perf csv_formatter]")
{
- const char* cooked =
+ char* fake_file, cooked =
"#timestamp,name.one,name.two,other.three,other.four\n";
- CSVFormatter f();
+ CSVFormatter f;
FILE* fh = tmpfile();
SectionRef s = f.register_section("name");
f.register_field(s, "four");
f.init_output(fh);
+ auto size = tell(fh);
+ rewind(fh);
+
+ fread(
fclose(fh);
}
{
public:
CSVFormatter() {};
- virtual ~CSVFormatter() {};
virtual SectionRef register_section(std::string) override;
virtual FieldRef register_field(SectionRef, std::string) override;
virtual void init_output(FILE*) override;
virtual void write(FILE*, time_t) override;
virtual void clear() override;
+
+private:
+ std::string header;
};
#endif
virtual void set_field(FieldRef, PegCount);
virtual void set_field(FieldRef, double);
virtual void init_output(FILE*);
- virtual void write(FILE*);
+ virtual void write(FILE*, time_t);
virtual void clear();
private: