diff --git a/subprojects/dhcp-done/test/fileio_test.cpp b/subprojects/dhcp-done/test/fileio_test.cpp
new file mode 100644
index 0000000..8a79cf2
--- /dev/null
+++ b/subprojects/dhcp-done/test/fileio_test.cpp
@@ -0,0 +1,34 @@
+#include "../file-io.hpp"
+
+#include <stdio.h>
+#include <sys/file.h>
+#include <unistd.h>
+
+#include <fstream>
+#include <iostream>
+#include <string>
+
+#include <gtest/gtest.h>
+
+TEST(TestFileIO, TestFileReadWrite)
+{
+    std::string testFile = "./tmp_test_file";
+
+    std::string testStatus, testStatusUpdated;
+
+    testStatus.push_back(2);
+    testStatus.append("image downloading in progress");
+
+    testStatusUpdated.push_back(0);
+    testStatusUpdated.append("finished netboot");
+
+    fileWrite(testFile, testStatus);
+
+    EXPECT_TRUE(testStatus == fileRead(testFile));
+
+    fileWrite(testFile, testStatusUpdated);
+
+    EXPECT_TRUE(testStatusUpdated == fileRead(testFile));
+
+    remove(testFile.c_str());
+}
diff --git a/subprojects/dhcp-done/test/meson.build b/subprojects/dhcp-done/test/meson.build
new file mode 100644
index 0000000..de5354f
--- /dev/null
+++ b/subprojects/dhcp-done/test/meson.build
@@ -0,0 +1,39 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+gtest = dependency('gtest', main: true, disabler: true, required: false)
+if not gtest.found()
+  gtest_proj = import('cmake').subproject(
+    'googletest',
+    cmake_options: [
+      '-DCMAKE_CXX_FLAGS=-Wno-pedantic',
+    ],
+    required: false)
+  if gtest_proj.found()
+    gtest = declare_dependency(
+      dependencies: [
+        dependency('threads'),
+        gtest_proj.dependency('gtest'),
+        gtest_proj.dependency('gtest_main'),
+      ])
+  else
+    assert(not build_tests.allowed(), 'Googletest is required')
+  endif
+endif
+
+test('fileio_test', executable('fileio_test',
+  ['fileio_test.cpp'],
+  implicit_include_directories: false,
+  dependencies: [gtest, dependency('stdplus')],
+  link_with : fileio_lib))
