diff --git a/aos/util/file_test.cc b/aos/util/file_test.cc
index 8e76154..9b0def0 100644
--- a/aos/util/file_test.cc
+++ b/aos/util/file_test.cc
@@ -3,8 +3,9 @@
 #include <cstdlib>
 #include <string>
 
-#include "gtest/gtest.h"
 #include "aos/realtime.h"
+#include "aos/testing/tmpdir.h"
+#include "gtest/gtest.h"
 
 DECLARE_bool(die_on_malloc);
 
@@ -14,7 +15,7 @@
 
 // Basic test of reading a normal file.
 TEST(FileTest, ReadNormalFile) {
-  const ::std::string tmpdir(getenv("TEST_TMPDIR"));
+  const ::std::string tmpdir(aos::testing::TestTmpDir());
   const ::std::string test_file = tmpdir + "/test_file";
   ASSERT_EQ(0, system(("echo contents > " + test_file).c_str()));
   EXPECT_EQ("contents\n", ReadFileToStringOrDie(test_file));
@@ -30,7 +31,7 @@
 
 // Tests that the PathExists function works under normal conditions.
 TEST(FileTest, PathExistsTest) {
-  const std::string tmpdir(getenv("TEST_TMPDIR"));
+  const std::string tmpdir(aos::testing::TestTmpDir());
   const std::string test_file = tmpdir + "/test_file";
   // Make sure the test_file doesn't exist.
   unlink(test_file.c_str());
@@ -43,17 +44,65 @@
 
 // Basic test of reading a normal file.
 TEST(FileTest, ReadNormalFileNoMalloc) {
-  const ::std::string tmpdir(getenv("TEST_TMPDIR"));
+  const ::std::string tmpdir(aos::testing::TestTmpDir());
   const ::std::string test_file = tmpdir + "/test_file";
-  ASSERT_EQ(0, system(("echo 971 > " + test_file).c_str()));
+  // Make sure to include a string long enough to avoid small string
+  // optimization.
+  ASSERT_EQ(0, system(("echo 123456789 > " + test_file).c_str()));
 
   FileReader reader(test_file);
 
+  gflags::FlagSaver flag_saver;
   FLAGS_die_on_malloc = true;
   RegisterMallocHook();
   aos::ScopedRealtime realtime;
-  EXPECT_EQ("971\n", reader.ReadContents());
-  EXPECT_EQ(971, reader.ReadInt());
+  EXPECT_EQ("123456789\n", reader.ReadContents());
+  EXPECT_EQ(123456789, reader.ReadInt());
+}
+
+// Tests that we can write to a file without malloc'ing.
+TEST(FileTest, WriteNormalFileNoMalloc) {
+  const ::std::string tmpdir(aos::testing::TestTmpDir());
+  const ::std::string test_file = tmpdir + "/test_file";
+
+  FileWriter writer(test_file);
+
+  gflags::FlagSaver flag_saver;
+  FLAGS_die_on_malloc = true;
+  RegisterMallocHook();
+  FileWriter::WriteResult result;
+  {
+    aos::ScopedRealtime realtime;
+    result = writer.WriteBytes("123456789");
+  }
+  EXPECT_EQ(9, result.bytes_written);
+  EXPECT_EQ(9, result.return_code);
+  EXPECT_EQ("123456789", ReadFileToStringOrDie(test_file));
+}
+
+// Tests that if we fail to write a file that the error code propagates
+// correctly.
+TEST(FileTest, WriteFileError) {
+  const ::std::string tmpdir(aos::testing::TestTmpDir());
+  const ::std::string test_file = tmpdir + "/test_file";
+
+  // Open with only read permissions; this should cause things to fail.
+  FileWriter writer(test_file, S_IRUSR);
+
+  // Mess up the file management by closing the file descriptor.
+  PCHECK(0 == close(writer.fd()));
+
+  gflags::FlagSaver flag_saver;
+  FLAGS_die_on_malloc = true;
+  RegisterMallocHook();
+  FileWriter::WriteResult result;
+  {
+    aos::ScopedRealtime realtime;
+    result = writer.WriteBytes("123456789");
+  }
+  EXPECT_EQ(0, result.bytes_written);
+  EXPECT_EQ(-1, result.return_code);
+  EXPECT_EQ("", ReadFileToStringOrDie(test_file));
 }
 
 }  // namespace testing
