Index: webrtc/system_wrappers/source/data_log_unittest.cc |
diff --git a/webrtc/system_wrappers/source/data_log_unittest.cc b/webrtc/system_wrappers/source/data_log_unittest.cc |
deleted file mode 100644 |
index da3cea3fe267df91553fd37563b3ed0320a0d35d..0000000000000000000000000000000000000000 |
--- a/webrtc/system_wrappers/source/data_log_unittest.cc |
+++ /dev/null |
@@ -1,311 +0,0 @@ |
-/* |
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#include "webrtc/system_wrappers/include/data_log.h" |
- |
-#include <map> |
-#include <string> |
- |
-#include "webrtc/system_wrappers/include/data_log_c.h" |
-#include "webrtc/system_wrappers/source/data_log_c_helpers_unittest.h" |
-#include "webrtc/test/gtest.h" |
- |
-using ::webrtc::DataLog; |
- |
-// A class for storing the values expected from a log table column when |
-// verifying a log table file. |
-struct ExpectedValues { |
- public: |
- ExpectedValues() |
- : values(), |
- multi_value_length(1) { |
- } |
- |
- ExpectedValues(std::vector<std::string> expected_values, |
- int expected_multi_value_length) |
- : values(expected_values), |
- multi_value_length(expected_multi_value_length) { |
- } |
- |
- std::vector<std::string> values; |
- int multi_value_length; |
-}; |
- |
-typedef std::map<std::string, ExpectedValues> ExpectedValuesMap; |
- |
-// A static class used for parsing and verifying data log files. |
-class DataLogParser { |
- public: |
- // Verifies that the log table stored in the file "log_file" corresponds to |
- // the cells and columns specified in "columns". |
- static int VerifyTable(FILE* log_file, const ExpectedValuesMap& columns) { |
- int row = 0; |
- char line_buffer[kMaxLineLength]; |
- char* ret = fgets(line_buffer, kMaxLineLength, log_file); |
- EXPECT_FALSE(ret == NULL); |
- if (ret == NULL) |
- return -1; |
- |
- std::string line(line_buffer, kMaxLineLength); |
- VerifyHeader(line, columns); |
- while (fgets(line_buffer, kMaxLineLength, log_file) != NULL) { |
- line = std::string(line_buffer, kMaxLineLength); |
- size_t line_position = 0; |
- |
- for (ExpectedValuesMap::const_iterator it = columns.begin(); |
- it != columns.end(); ++it) { |
- std::string str = ParseElement(line, &line_position, |
- it->second.multi_value_length); |
- EXPECT_EQ(str, it->second.values[row]); |
- if (str != it->second.values[row]) |
- return -1; |
- } |
- ++row; |
- } |
- return 0; |
- } |
- |
- // Verifies the table header stored in "line" to correspond with the header |
- // specified in "columns". |
- static int VerifyHeader(const std::string& line, |
- const ExpectedValuesMap& columns) { |
- size_t line_position = 0; |
- for (ExpectedValuesMap::const_iterator it = columns.begin(); |
- it != columns.end(); ++it) { |
- std::string str = ParseElement(line, &line_position, |
- it->second.multi_value_length); |
- EXPECT_EQ(str, it->first); |
- if (str != it->first) |
- return -1; |
- } |
- return 0; |
- } |
- |
- // Parses out and returns one element from the string "line", which contains |
- // one line read from a log table file. An element can either be a column |
- // header or a cell of a row. |
- static std::string ParseElement(const std::string& line, |
- size_t* line_position, |
- int multi_value_length) { |
- std::string parsed_cell; |
- parsed_cell = ""; |
- for (int i = 0; i < multi_value_length; ++i) { |
- size_t next_separator = line.find(',', *line_position); |
- EXPECT_NE(next_separator, std::string::npos); |
- if (next_separator == std::string::npos) |
- break; |
- parsed_cell += line.substr(*line_position, |
- next_separator - *line_position + 1); |
- *line_position = next_separator + 1; |
- } |
- return parsed_cell; |
- } |
- |
- // This constant defines the maximum line length the DataLogParser can |
- // parse. |
- enum { kMaxLineLength = 100 }; |
-}; |
- |
-TEST(TestDataLog, CreateReturnTest) { |
- for (int i = 0; i < 10; ++i) |
- ASSERT_EQ(DataLog::CreateLog(), 0); |
- ASSERT_EQ(DataLog::AddTable(DataLog::Combine("a proper table", 1)), 0); |
- for (int i = 0; i < 10; ++i) |
- DataLog::ReturnLog(); |
- ASSERT_LT(DataLog::AddTable(DataLog::Combine("table failure", 1)), 0); |
-} |
- |
-TEST(TestDataLog, VerifyCombineMethod) { |
- EXPECT_EQ(std::string("a proper table_1"), |
- DataLog::Combine("a proper table", 1)); |
-} |
- |
-TEST(TestDataLog, VerifySingleTable) { |
- DataLog::CreateLog(); |
- DataLog::AddTable(DataLog::Combine("table", 1)); |
- DataLog::AddColumn(DataLog::Combine("table", 1), "arrival", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 1), "timestamp", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 1), "size", 5); |
- uint32_t sizes[5] = {1400, 1500, 1600, 1700, 1800}; |
- for (int i = 0; i < 10; ++i) { |
- DataLog::InsertCell(DataLog::Combine("table", 1), "arrival", |
- static_cast<double>(i)); |
- DataLog::InsertCell(DataLog::Combine("table", 1), "timestamp", |
- static_cast<int64_t>(4354 + i)); |
- DataLog::InsertCell(DataLog::Combine("table", 1), "size", sizes, 5); |
- DataLog::NextRow(DataLog::Combine("table", 1)); |
- } |
- DataLog::ReturnLog(); |
- // Verify file |
- FILE* table = fopen("table_1.txt", "r"); |
- ASSERT_FALSE(table == NULL); |
- // Read the column names and verify with the expected columns. |
- // Note that the columns are written to file in alphabetical order. |
- // Data expected from parsing the file |
- const int kNumberOfRows = 10; |
- std::string string_arrival[kNumberOfRows] = { |
- "0,", "1,", "2,", "3,", "4,", |
- "5,", "6,", "7,", "8,", "9," |
- }; |
- std::string string_timestamp[kNumberOfRows] = { |
- "4354,", "4355,", "4356,", "4357,", |
- "4358,", "4359,", "4360,", "4361,", |
- "4362,", "4363," |
- }; |
- std::string string_sizes = "1400,1500,1600,1700,1800,"; |
- ExpectedValuesMap expected; |
- expected["arrival,"] = ExpectedValues( |
- std::vector<std::string>(string_arrival, |
- string_arrival + |
- kNumberOfRows), |
- 1); |
- expected["size[5],,,,,"] = ExpectedValues( |
- std::vector<std::string>(10, string_sizes), 5); |
- expected["timestamp,"] = ExpectedValues( |
- std::vector<std::string>(string_timestamp, |
- string_timestamp + |
- kNumberOfRows), |
- 1); |
- ASSERT_EQ(DataLogParser::VerifyTable(table, expected), 0); |
- fclose(table); |
-} |
- |
-TEST(TestDataLog, VerifyMultipleTables) { |
- DataLog::CreateLog(); |
- DataLog::AddTable(DataLog::Combine("table", 2)); |
- DataLog::AddTable(DataLog::Combine("table", 3)); |
- DataLog::AddColumn(DataLog::Combine("table", 2), "arrival", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 2), "timestamp", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 2), "size", 1); |
- DataLog::AddTable(DataLog::Combine("table", 4)); |
- DataLog::AddColumn(DataLog::Combine("table", 3), "timestamp", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 3), "arrival", 1); |
- DataLog::AddColumn(DataLog::Combine("table", 4), "size", 1); |
- for (int32_t i = 0; i < 10; ++i) { |
- DataLog::InsertCell(DataLog::Combine("table", 2), "arrival", |
- static_cast<int32_t>(i)); |
- DataLog::InsertCell(DataLog::Combine("table", 2), "timestamp", |
- static_cast<int32_t>(4354 + i)); |
- DataLog::InsertCell(DataLog::Combine("table", 2), "size", |
- static_cast<int32_t>(1200 + 10 * i)); |
- DataLog::InsertCell(DataLog::Combine("table", 3), "timestamp", |
- static_cast<int32_t>(4354 + i)); |
- DataLog::InsertCell(DataLog::Combine("table", 3), "arrival", |
- static_cast<int32_t>(i)); |
- DataLog::InsertCell(DataLog::Combine("table", 4), "size", |
- static_cast<int32_t>(1200 + 10 * i)); |
- DataLog::NextRow(DataLog::Combine("table", 4)); |
- DataLog::NextRow(DataLog::Combine("table", 2)); |
- DataLog::NextRow(DataLog::Combine("table", 3)); |
- } |
- DataLog::ReturnLog(); |
- |
- // Data expected from parsing the file |
- const int kNumberOfRows = 10; |
- std::string string_arrival[kNumberOfRows] = { |
- "0,", "1,", "2,", "3,", "4,", |
- "5,", "6,", "7,", "8,", "9," |
- }; |
- std::string string_timestamp[kNumberOfRows] = { |
- "4354,", "4355,", "4356,", "4357,", |
- "4358,", "4359,", "4360,", "4361,", |
- "4362,", "4363," |
- }; |
- std::string string_size[kNumberOfRows] = { |
- "1200,", "1210,", "1220,", "1230,", |
- "1240,", "1250,", "1260,", "1270,", |
- "1280,", "1290," |
- }; |
- |
- // Verify table 2 |
- { |
- FILE* table = fopen("table_2.txt", "r"); |
- ASSERT_FALSE(table == NULL); |
- ExpectedValuesMap expected; |
- expected["arrival,"] = ExpectedValues( |
- std::vector<std::string>(string_arrival, |
- string_arrival + |
- kNumberOfRows), |
- 1); |
- expected["size,"] = ExpectedValues( |
- std::vector<std::string>(string_size, |
- string_size + kNumberOfRows), |
- 1); |
- expected["timestamp,"] = ExpectedValues( |
- std::vector<std::string>(string_timestamp, |
- string_timestamp + |
- kNumberOfRows), |
- 1); |
- ASSERT_EQ(DataLogParser::VerifyTable(table, expected), 0); |
- fclose(table); |
- } |
- |
- // Verify table 3 |
- { |
- FILE* table = fopen("table_3.txt", "r"); |
- ASSERT_FALSE(table == NULL); |
- ExpectedValuesMap expected; |
- expected["arrival,"] = ExpectedValues( |
- std::vector<std::string>(string_arrival, |
- string_arrival + |
- kNumberOfRows), |
- 1); |
- expected["timestamp,"] = ExpectedValues( |
- std::vector<std::string>(string_timestamp, |
- string_timestamp + |
- kNumberOfRows), |
- 1); |
- ASSERT_EQ(DataLogParser::VerifyTable(table, expected), 0); |
- fclose(table); |
- } |
- |
- // Verify table 4 |
- { |
- FILE* table = fopen("table_4.txt", "r"); |
- ASSERT_FALSE(table == NULL); |
- ExpectedValuesMap expected; |
- expected["size,"] = ExpectedValues( |
- std::vector<std::string>(string_size, |
- string_size + |
- kNumberOfRows), |
- 1); |
- ASSERT_EQ(DataLogParser::VerifyTable(table, expected), 0); |
- fclose(table); |
- } |
-} |
- |
-TEST(TestDataLogCWrapper, VerifyCWrapper) { |
- // Simply call all C wrapper log functions through the C helper unittests. |
- // Main purpose is to make sure that the linkage is correct. |
- |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestCreateLog()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestCombine()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestAddTable()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestAddColumn()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_int()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_int()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_float()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_float()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_double()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_double()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_int32()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_int32()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_uint32()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_uint32()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertCell_int64()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestInsertArray_int64()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestNextRow()); |
- EXPECT_EQ(0, WebRtcDataLogCHelper_TestReturnLog()); |
-} |