| // 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 "chromiumos-wide-profiling/conversion_utils.h" |
| #include "chromiumos-wide-profiling/perf_test_files.h" |
| #include "chromiumos-wide-profiling/quipper_test.h" |
| #include "chromiumos-wide-profiling/scoped_temp_path.h" |
| #include "chromiumos-wide-profiling/test_utils.h" |
| #include "chromiumos-wide-profiling/utils.h" |
| |
| namespace { |
| |
| // The number for perf data files in our test files that we have protobuf text |
| // representation for. |
| const unsigned int kNumProtoTextFormatPerfFiles = 1; |
| |
| } // namespace |
| |
| namespace quipper { |
| |
| TEST(ConversionUtilsTest, TestTextOutput) { |
| ScopedTempDir output_dir; |
| ASSERT_FALSE(output_dir.path().empty()); |
| string output_path = output_dir.path(); |
| |
| // TODO(asharif): Generate more test files. |
| for (unsigned int i = 0; i < kNumProtoTextFormatPerfFiles; ++i) { |
| FormatAndFile input, output; |
| string test_file = perf_test_files::kPerfDataFiles[i]; |
| |
| 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(test_file + ".pb_text"); |
| LOG(INFO) << "golden: " << golden_file; |
| LOG(INFO) << "output: " << output.filename; |
| EXPECT_TRUE(CompareFileContents(golden_file, output.filename)); |
| } |
| } |
| |
| } // namespace quipper |
| |
| int main(int argc, char* argv[]) { |
| ::testing::InitGoogleTest(&argc, argv); |
| return RUN_ALL_TESTS(); |
| } |