Update skip tests

Don't skip arm.
Bring back most skipped tests.
Still skip those causing debug asserts.

Change-Id: I31293daf3b4834216d75d3836f806119137e5f0a
diff --git a/layers/BUILD.gn b/layers/BUILD.gn
index 7ed81df..a42b960 100644
--- a/layers/BUILD.gn
+++ b/layers/BUILD.gn
@@ -79,22 +79,20 @@
   testonly = true
   deprecated_system_image = true
 
-  if (current_cpu == "x64") {
-    deps = [
-      "//third_party/vulkan_loader_and_validation_layers/tests",
-    ]
-    tests = [
-      {
-        name = "loader_validation_tests"
-        dest = "vulkan_loader_validation_tests"
-      },
+  deps = [
+    "//third_party/vulkan_loader_and_validation_layers/tests",
+  ]
+  tests = [
+    {
+      name = "loader_validation_tests"
+      dest = "vulkan_loader_validation_tests"
+    },
 
-      {
-        name = "layer_validation_tests"
-        dest = "vulkan_layer_validation_tests"
-      },
-    ]
-  }
+    {
+      name = "layer_validation_tests"
+      dest = "vulkan_layer_validation_tests"
+    },
+  ]
 }
 
 group("layers") {
diff --git a/tests/BUILD.gn b/tests/BUILD.gn
index cbfc8cb..c4d2cd5 100644
--- a/tests/BUILD.gn
+++ b/tests/BUILD.gn
@@ -65,7 +65,6 @@
 
 executable("loader_validation_tests") {
   testonly = true
-  cflags_cc = [ "-Wno-missing-field-initializers" ]
   sources = [
     "loader_validation_tests.cpp",
   ]
@@ -76,11 +75,11 @@
 
 executable("layer_validation_tests") {
   testonly = true
-  defines = [
-    "SKIP_TESTS_CRASHING_ON_MAGMA",
-    "SKIP_TESTS_FAILING_ON_MAGMA",
-  ]
-  cflags_cc = [ "-Wno-missing-field-initializers" ]
+  if (is_debug) {
+    defines = [
+      "SKIP_TESTS_CAUSING_DEBUG_ASSERT",
+    ]
+  }
   sources = [
     "layer_validation_tests.cpp",
   ]
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 51eba5b..2bf843f 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -5301,6 +5301,7 @@
     }
 }
 
+#ifndef SKIP_TESTS_CAUSING_DEBUG_ASSERT
 TEST_F(VkLayerTest, FramebufferCreateErrors) {
     TEST_DESCRIPTION(
         "Hit errors when attempting to create a framebuffer :\n"
@@ -5574,6 +5575,7 @@
 
     vkDestroyRenderPass(m_device->device(), rp, NULL);
 }
+#endif
 
 TEST_F(VkLayerTest, DynamicDepthBiasNotBound) {
     TEST_DESCRIPTION(
@@ -12525,7 +12527,6 @@
     vkDestroyBuffer(m_device->device(), buffer, NULL);
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkLayerTest, DSBufferLimitErrors) {
     TEST_DESCRIPTION(
         "Attempt to update buffer descriptor set that has VkDescriptorBufferInfo values that violate device limits.\n"
@@ -12630,7 +12631,6 @@
         vkDestroyBuffer(m_device->device(), buffer, NULL);
     }
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkLayerTest, DSAspectBitsErrors) {
     // TODO : Initially only catching case where DEPTH & STENCIL aspect bits
@@ -12835,7 +12835,6 @@
     vkDestroySampler(m_device->device(), sampler, NULL);
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkLayerTest, DSUpdateEmptyBinding) {
     // Create layout w/ empty binding and attempt to update it
     VkResult err;
@@ -12870,7 +12869,6 @@
 
     vkDestroySampler(m_device->device(), sampler, NULL);
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkLayerTest, InvalidDSUpdateStruct) {
     // Call UpdateDS w/ struct type other than valid VK_STRUCTUR_TYPE_UPDATE_*
@@ -14106,7 +14104,6 @@
     m_errorMonitor->VerifyFound();
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkLayerTest, NonSimultaneousSecondaryMarksPrimary) {
     ASSERT_NO_FATAL_FAILURE(Init());
     const char *simultaneous_use_message =
@@ -14177,7 +14174,6 @@
     m_errorMonitor->VerifyFound();
     m_commandBuffer->end();
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkLayerTest, SimultaneousUseOneShot) {
     TEST_DESCRIPTION(
@@ -16020,7 +16016,6 @@
     m_errorMonitor->VerifyFound();
 }
 
-#ifndef SKIP_TESTS_FAILING_ON_MAGMA
 TEST_F(VkLayerTest, CreateShaderModuleCheckBadCapability) {
     TEST_DESCRIPTION("Create a shader in which a capability declared by the shader is not supported.");
     // Note that this failure message comes from spirv-tools, specifically the validator.
@@ -16053,7 +16048,6 @@
 
     m_errorMonitor->VerifyFound();
 }
-#endif  // SKIP_TESTS_FAILING_ON_MAGMA
 
 TEST_F(VkPositiveLayerTest, CreatePipelineCheckShaderCapabilityExtension1of2) {
     // This is a positive test, no errors expected
@@ -20384,6 +20378,7 @@
     m_errorMonitor->VerifyFound();
 }
 
+#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkLayerTest, ResolveImageFormatMismatch) {
     VkResult err;
     bool pass;
@@ -20488,7 +20483,9 @@
     vkFreeMemory(m_device->device(), srcMem, NULL);
     vkFreeMemory(m_device->device(), destMem, NULL);
 }
+#endif
 
+#ifndef SKIP_TESTS_CAUSING_DEBUG_ASSERT
 TEST_F(VkLayerTest, ResolveImageTypeMismatch) {
     VkResult err;
     bool pass;
@@ -20592,6 +20589,7 @@
     vkFreeMemory(m_device->device(), srcMem, NULL);
     vkFreeMemory(m_device->device(), destMem, NULL);
 }
+#endif
 
 TEST_F(VkLayerTest, DepthStencilImageViewWithColorAspectBitError) {
     // Create a single Image descriptor and cause it to first hit an error due
@@ -21874,7 +21872,6 @@
     m_commandBuffer->end();
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 // This is a positive test. No failures are expected.
 TEST_F(VkPositiveLayerTest, EmptyDescriptorUpdateTest) {
     TEST_DESCRIPTION("Update last descriptor in a set that includes an empty binding");
@@ -21946,7 +21943,6 @@
     vkFreeMemory(m_device->device(), mem, NULL);
     vkDestroyBuffer(m_device->device(), buffer, NULL);
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkLayerTest, MultiplePushDescriptorSets) {
     TEST_DESCRIPTION("Verify an error message for multiple push descriptor sets.");
@@ -22315,7 +22311,6 @@
     vkDestroyImage(m_device->device(), image, NULL);
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 // This is a positive test. No failures are expected.
 TEST_F(VkPositiveLayerTest, TestDestroyFreeNullHandles) {
     VkResult err;
@@ -22404,7 +22399,6 @@
 
     m_errorMonitor->VerifyNotFound();
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkPositiveLayerTest, QueueSubmitSemaphoresAndLayoutTracking) {
     TEST_DESCRIPTION("Submit multiple command buffers with chained semaphore signals and layout transitions");
@@ -22859,7 +22853,6 @@
     m_errorMonitor->VerifyNotFound();
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkPositiveLayerTest, CreateImageViewFollowsParameterCompatibilityRequirements) {
     TEST_DESCRIPTION("Verify that creating an ImageView with valid usage does not generate validation errors.");
 
@@ -22929,7 +22922,6 @@
     m_errorMonitor->VerifyNotFound();
     vkDestroyImageView(m_device->device(), imageView, NULL);
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 // This is a positive test. No failures are expected.
 TEST_F(VkPositiveLayerTest, BindSparse) {
@@ -23359,7 +23351,6 @@
     vkDestroyImageView(m_device->device(), view, nullptr);
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkPositiveLayerTest, RenderPassTransitionsAttachmentUnused) {
     TEST_DESCRIPTION(
         "Ensure that layout transitions work correctly without "
@@ -23399,7 +23390,6 @@
     vkDestroyFramebuffer(m_device->device(), fb, nullptr);
     vkDestroyRenderPass(m_device->device(), rp, nullptr);
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 // This is a positive test. No errors are expected.
 TEST_F(VkPositiveLayerTest, StencilLoadOp) {
@@ -25543,7 +25533,6 @@
     m_errorMonitor->VerifyNotFound();
 }
 
-#ifndef SKIP_TESTS_CRASHING_ON_MAGMA
 TEST_F(VkPositiveLayerTest, CreatePipelineInputAttachmentPositive) {
     TEST_DESCRIPTION("Positive test for a correctly matched input attachment");
     m_errorMonitor->ExpectSuccess();
@@ -25606,7 +25595,6 @@
 
     vkDestroyRenderPass(m_device->device(), rp, nullptr);
 }
-#endif  // SKIP_TESTS_CRASHING_ON_MAGMA
 
 TEST_F(VkPositiveLayerTest, CreateComputePipelineMissingDescriptorUnusedPositive) {
     TEST_DESCRIPTION(