// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/logging.h" #include "compat/string.h" #include "compat/test.h" #include "conversion_utils.h" #include "perf_test_files.h" #include "scoped_temp_path.h" #include "test_utils.h" namespace quipper { class PerfFile : public ::testing::TestWithParam<const char*> {}; TEST_P(PerfFile, TextOutput) { ScopedTempDir output_dir; ASSERT_FALSE(output_dir.path().empty()); const string output_path = output_dir.path(); const string test_file = GetParam(); FormatAndFile input, output; input.filename = GetTestInputFilePath(test_file); input.format = kPerfFormat; output.filename = output_path + test_file + ".pb_text"; output.format = kProtoTextFormat; EXPECT_TRUE(ConvertFile(input, output)); string golden_file = GetTestInputFilePath(string(test_file) + ".pb_text"); LOG(INFO) << "golden: " << golden_file; LOG(INFO) << "output: " << output.filename; CompareTextProtoFiles<PerfDataProto>(output.filename, golden_file); } INSTANTIATE_TEST_CASE_P( ConversionUtilsTest, PerfFile, ::testing::ValuesIn(perf_test_files::GetPerfDataFiles())); } // namespace quipper