Merge "Add missing sqlite initialization to trace processor unittests"
diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn
index 154b0b2..78a6142 100644
--- a/src/trace_processor/BUILD.gn
+++ b/src/trace_processor/BUILD.gn
@@ -305,10 +305,14 @@
   ]
   if (enable_perfetto_trace_processor_json) {
     sources += [
-      "export_json_unittest.cc",
       "json_trace_tokenizer_unittest.cc",
       "json_trace_utils_unittest.cc",
     ]
+    if (!is_win) {
+      # export_json_unittest.cc uses base::TempFile, which is not supported on
+      # windows.
+      sources += [ "export_json_unittest.cc" ]
+    }
     deps += [ "../../gn:jsoncpp" ]
   }
 }
diff --git a/src/trace_processor/args_table_unittest.cc b/src/trace_processor/args_table_unittest.cc
index 824c111..3cf0658 100644
--- a/src/trace_processor/args_table_unittest.cc
+++ b/src/trace_processor/args_table_unittest.cc
@@ -28,6 +28,7 @@
  public:
   ArgsTableUnittest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
 
diff --git a/src/trace_processor/metadata_table_unittest.cc b/src/trace_processor/metadata_table_unittest.cc
index f320a19..fc14aef 100644
--- a/src/trace_processor/metadata_table_unittest.cc
+++ b/src/trace_processor/metadata_table_unittest.cc
@@ -28,6 +28,7 @@
  public:
   MetadataTableUnittest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
 
diff --git a/src/trace_processor/process_table_unittest.cc b/src/trace_processor/process_table_unittest.cc
index e0d5f35..50f785a 100644
--- a/src/trace_processor/process_table_unittest.cc
+++ b/src/trace_processor/process_table_unittest.cc
@@ -30,6 +30,7 @@
  public:
   ProcessTableUnittest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
 
diff --git a/src/trace_processor/sched_slice_table_unittest.cc b/src/trace_processor/sched_slice_table_unittest.cc
index f4658bb..0624a4a 100644
--- a/src/trace_processor/sched_slice_table_unittest.cc
+++ b/src/trace_processor/sched_slice_table_unittest.cc
@@ -35,6 +35,7 @@
  public:
   SchedSliceTableTest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
 
diff --git a/src/trace_processor/span_join_operator_table_unittest.cc b/src/trace_processor/span_join_operator_table_unittest.cc
index 86d24f2..1f79875 100644
--- a/src/trace_processor/span_join_operator_table_unittest.cc
+++ b/src/trace_processor/span_join_operator_table_unittest.cc
@@ -28,6 +28,7 @@
  public:
   SpanJoinOperatorTableTest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
 
diff --git a/src/trace_processor/sqlite/query_constraints_unittest.cc b/src/trace_processor/sqlite/query_constraints_unittest.cc
index ecadf90..276cec1 100644
--- a/src/trace_processor/sqlite/query_constraints_unittest.cc
+++ b/src/trace_processor/sqlite/query_constraints_unittest.cc
@@ -29,7 +29,12 @@
 namespace trace_processor {
 namespace {
 
-TEST(QueryConstraintsTest, ConvertToAndFromSqlString) {
+class QueryConstraintsTest : public ::testing::Test {
+ public:
+  QueryConstraintsTest() { PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK); }
+};
+
+TEST_F(QueryConstraintsTest, ConvertToAndFromSqlString) {
   QueryConstraints qc;
   qc.AddConstraint(12, 0);
 
@@ -50,7 +55,7 @@
   ASSERT_EQ(qc, qc_result);
 }
 
-TEST(QueryConstraintsTest, CheckEmptyConstraints) {
+TEST_F(QueryConstraintsTest, CheckEmptyConstraints) {
   QueryConstraints qc;
 
   QueryConstraints::SqliteString string_result = qc.ToNewSqlite3String();
@@ -62,7 +67,7 @@
   ASSERT_EQ(qc_result.order_by().size(), 0u);
 }
 
-TEST(QueryConstraintsTest, OnlyOrderBy) {
+TEST_F(QueryConstraintsTest, OnlyOrderBy) {
   QueryConstraints qc;
   qc.AddOrderBy(3, true);
 
diff --git a/src/trace_processor/sqlite/sqlite3_str_split_unittest.cc b/src/trace_processor/sqlite/sqlite3_str_split_unittest.cc
index c114ff8..35e0003 100644
--- a/src/trace_processor/sqlite/sqlite3_str_split_unittest.cc
+++ b/src/trace_processor/sqlite/sqlite3_str_split_unittest.cc
@@ -31,6 +31,7 @@
  public:
   Sqlite3StrSplitTest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);
     sqlite3_str_split_init(db_.get());
diff --git a/src/trace_processor/thread_table_unittest.cc b/src/trace_processor/thread_table_unittest.cc
index 5cf47f9..2207639 100644
--- a/src/trace_processor/thread_table_unittest.cc
+++ b/src/trace_processor/thread_table_unittest.cc
@@ -32,6 +32,7 @@
  public:
   ThreadTableUnittest() {
     sqlite3* db = nullptr;
+    PERFETTO_CHECK(sqlite3_initialize() == SQLITE_OK);
     PERFETTO_CHECK(sqlite3_open(":memory:", &db) == SQLITE_OK);
     db_.reset(db);