tests: Move fence tests from vkbase to layer validation
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 061f413..451a883 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -172,6 +172,37 @@
 
 }
 
+TEST_F(VkLayerTest, WaitForUnsubmittedFence)
+{
+    vk_testing::Fence testFence;
+    VK_DBG_MSG_TYPE msgType;
+    std::string msgString;
+    VkFenceCreateInfo fenceInfo = {};
+    fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
+    fenceInfo.pNext = NULL;
+
+    // Verifiy that the appropriate layer is loaded
+
+    ASSERT_NO_FATAL_FAILURE(InitState());
+    testFence.init(*m_device, fenceInfo);
+    m_errorMonitor->ClearState();
+    vkGetFenceStatus(m_device->device(),testFence.obj());
+    msgType = m_errorMonitor->GetState(&msgString);
+    ASSERT_EQ(msgType, VK_DBG_MSG_ERROR) << "Did not receive an error asking for status of unsubmitted fence";
+    if (!strstr(msgString.c_str(),"Status Requested for Unsubmitted Fence")) {
+        FAIL() << "Error received was not Status Requested for Unsubmitted Fence";
+    }
+
+    VkFence fences[1] = {testFence.obj()};
+    m_errorMonitor->ClearState();
+    vkWaitForFences(m_device->device(), 1, fences, VK_TRUE, 0);
+    msgType = m_errorMonitor->GetState(&msgString);
+    ASSERT_EQ(msgType, VK_DBG_MSG_ERROR) << "Did not receive an error for waiting for unsubmitted fence";
+    if (!strstr(msgString.c_str(),"Waiting for Unsubmitted Fence")) {
+        FAIL() << "Error received was not Waiting for Unsubmitted Fence";
+    }
+}
+
 int main(int argc, char **argv) {
     int result;