diff --git a/test/end2end/analyzer_main.cpp b/test/end2end/analyzer_main.cpp
deleted file mode 100644
index 03d6a8f..0000000
--- a/test/end2end/analyzer_main.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <hei_main.hpp>
-
-namespace analyzer
-{
-
-// Quick test that we can call the core libhei functions. This function
-// is called from the attention handler when a checkstop event is active.
-void analyzeHardware()
-{
-    using namespace libhei;
-
-    // Add some chips for error isolation
-    std::vector<Chip> chipList;
-    chipList.emplace_back(Chip{"proc", static_cast<ChipType_t>(0xdeadbeef)});
-
-    // Isolation data that will be populated by isolator
-    IsolationData isoData{};
-
-    // Isolate active hardware errors in chips
-    initialize(nullptr, 0);
-    isolate(chipList, isoData);
-    uninitialize();
-}
-
-} // namespace analyzer
diff --git a/test/end2end/hei_user_defines.hpp b/test/end2end/hei_user_defines.hpp
deleted file mode 100644
index e45e18d..0000000
--- a/test/end2end/hei_user_defines.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#pragma once
-
-/**
- * @file hei_user_defines.hpp
- * @brief The purpose of this file is to provide defines that are required by
- *        the hardware error isolator library (libhei)
- */
-
-#include <assert.h>
-#include <inttypes.h>
-#include <stdio.h>
-
-#define HEI_INF(...)                                                           \
-    {                                                                          \
-        printf("HWDIAGS I> " __VA_ARGS__);                                     \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ERR(...)                                                           \
-    {                                                                          \
-        printf("HWDIAGS E> " __VA_ARGS__);                                     \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ASSERT(expression) assert(expression);
diff --git a/test/end2end/meson.build b/test/end2end/meson.build
index e672d98..52eda03 100644
--- a/test/end2end/meson.build
+++ b/test/end2end/meson.build
@@ -1,8 +1,10 @@
 # create openpower-hw-diags executable for local testing
-executable('openpower-hw-diags-test',
+ end2end = executable('openpower-hw-diags-test',
             'main.cpp', 'logging.cpp', 'bp_handler.cpp', 'ti_handler.cpp',
-            'analyzer_main.cpp', '../../cli.cpp',
+            '../../analyzer/analyzer_main.cpp', '../../cli.cpp',
             link_with : [analyzer, attn],
             include_directories : incdir,
             dependencies : libhei_dep,
             install : false)
+
+# test('openpower-hw-diags-test', end2end)
