Make unit tests pass again after dataquality work.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index abc1ef0..2490ebe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,9 +40,9 @@
 
 # Baseline build flags.
 set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
-set(CMAKE_CXX_FLAGS_DEBUG "-g")
+set(CMAKE_CXX_FLAGS_DEBUG "-g1")
 set(CMAKE_CXX_FLAGS_RELEASE "-O2")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
 
 if(APPLE)
 elseif(UNIX)
diff --git a/tests/bloaty_test.cc b/tests/bloaty_test.cc
index 60b30b6..9f8a3be 100644
--- a/tests/bloaty_test.cc
+++ b/tests/bloaty_test.cc
@@ -68,7 +68,7 @@
   });
 
   // For symbols we should get entries for all our expected symbols.
-  RunBloaty({"bloaty", "-d", "symbols", file});
+  RunBloaty({"bloaty", "-d", "symbols", "-n", "40", "-s", "vm", file});
   AssertChildren(*top_row_, {
     std::make_tuple("func1", kUnknown, kSameAsVM),
     std::make_tuple("func2", kUnknown, kSameAsVM),
@@ -120,7 +120,7 @@
   EXPECT_LT(top_row_->vmsize, 12000);
   //EXPECT_EQ(top_row_->filesize, size);
 
-  RunBloaty({"bloaty", "-d", "symbols", file});
+  RunBloaty({"bloaty", "-d", "symbols", "-n", "40", "-s", "vm", file});
   AssertChildren(*top_row_, {
     std::make_tuple("bar_x", 4000, 4000),
     std::make_tuple("foo_x", 4000, 0),
@@ -183,7 +183,7 @@
   EXPECT_LT(top_row_->vmsize, 12000);
   EXPECT_EQ(top_row_->filesize, size);
 
-  RunBloaty({"bloaty", "-d", "symbols", file});
+  RunBloaty({"bloaty", "-d", "symbols", "-n", "50", file});
   AssertChildren(*top_row_, {
     std::make_tuple("bar_x", 4000, 4000),
     std::make_tuple("foo_x", 4000, 0),
@@ -211,7 +211,7 @@
   EXPECT_LT(top_row_->vmsize, 12000);
   EXPECT_EQ(top_row_->filesize, size);
 
-  RunBloaty({"bloaty", "-d", "symbols", file});
+  RunBloaty({"bloaty", "-d", "symbols", "-n", "50", "-s", "vm", file});
   AssertChildren(*top_row_, {
     std::make_tuple("bar_x", 4000, 4000),
     std::make_tuple("foo_x", 4000, 0),
@@ -223,28 +223,29 @@
     std::make_tuple("foo_y", 4, 0)
   });
 
-  // This is currently broken for the 32-bit x86 binary.
-  // TODO(haberman): fix this.
-  if (GetTestDirectory() != "linux-x86") {
-    RunBloaty({"bloaty", "-d", "compileunits,symbols", file});
-    auto row = FindRow("bar.o.c");
-    ASSERT_TRUE(row != nullptr);
+  RunBloaty({"bloaty", "-d", "compileunits,symbols", file});
+  auto row = FindRow("bar.o.c");
+  ASSERT_TRUE(row != nullptr);
 
-    // This only includes functions (not data) for now.
-    AssertChildren(*row, {
-      std::make_tuple("bar_func", kUnknown, kSameAsVM),
-    });
+  // This only includes functions (not data) for now.
+  AssertChildren(*row, {
+    std::make_tuple("bar_x", 4000, kSameAsVM),
+    std::make_tuple("bar_func", kUnknown, kSameAsVM),
+    std::make_tuple("bar_y", kUnknown, kSameAsVM),
+    std::make_tuple("bar_z", kUnknown, kSameAsVM),
+  });
 
-    row = FindRow("foo.o.c");
-    ASSERT_TRUE(row != nullptr);
+  row = FindRow("foo.o.c");
+  ASSERT_TRUE(row != nullptr);
 
-    // This only includes functions (not data) for now.
-    AssertChildren(*row, {
-      std::make_tuple("foo_func", kUnknown, kSameAsVM),
-    });
+  // This only includes functions (not data) for now.
+  AssertChildren(*row, {
+    std::make_tuple("foo_x", 4000, 0),
+    std::make_tuple("foo_func", kUnknown, kSameAsVM),
+    std::make_tuple("foo_y", kUnknown, kSameAsVM),
+  });
 
-    RunBloaty({"bloaty", "-d", "sections,inlines", file});
-  }
+  RunBloaty({"bloaty", "-d", "sections,inlines", file});
 }
 
 TEST_F(BloatyTest, InputFiles) {
diff --git a/tests/test.h b/tests/test.h
index 839ab7e..c60b587 100644
--- a/tests/test.h
+++ b/tests/test.h
@@ -244,17 +244,21 @@
       if (expected_vm == kUnknown) {
         // Always pass.
       } else if (expected_vm > 0) {
-        EXPECT_EQ(expected_vm, child.vmsize);
+        EXPECT_GE(child.vmsize, expected_vm);
+        // Allow some overhead.
+        EXPECT_LE(child.vmsize, (expected_vm * 1.1) + 40);
       } else {
         ASSERT_TRUE(false);
       }
 
-      if (expected_file == kUnknown) {
-        // Always pass.
-      } else if (expected_file == kSameAsVM) {
-        EXPECT_EQ(child.vmsize, child.filesize);
-      } else {
-        EXPECT_EQ(expected_file, child.filesize);
+      if (expected_file == kSameAsVM) {
+        expected_file = child.vmsize;
+      }
+
+      if (expected_file != kUnknown) {
+        EXPECT_GE(child.filesize, expected_file);
+        // Allow some overhead.
+        EXPECT_LE(child.filesize, (expected_file * 1.2) + 70);
       }
 
       if (++i == children.size()) {