Print the shader when module building failed
authorqining <qining@google.com>
Mon, 8 Aug 2016 21:09:30 +0000 (17:09 -0400)
committerqining <qining@google.com>
Mon, 8 Aug 2016 21:19:47 +0000 (17:19 -0400)
test/opt/pass_fixture.h

index 1247184..9d403d0 100644 (file)
@@ -59,7 +59,8 @@ class PassTest : public TestT {
   std::tuple<std::string, bool> OptimizeAndDisassemble(
       opt::Pass* pass, const std::string& original, bool skip_nop = false) {
     std::unique_ptr<ir::Module> module = tools_.BuildModule(original);
-    EXPECT_NE(nullptr, module);
+    EXPECT_NE(nullptr, module) << "Assembling failed for shader:\n"
+                               << original << std::endl;
     if (!module) {
       return std::make_tuple(std::string(), false);
     }
@@ -69,7 +70,9 @@ class PassTest : public TestT {
     std::vector<uint32_t> binary;
     module->ToBinary(&binary, skip_nop);
     std::string optimized;
-    EXPECT_EQ(SPV_SUCCESS, tools_.Disassemble(binary, &optimized));
+    EXPECT_EQ(SPV_SUCCESS, tools_.Disassemble(binary, &optimized))
+        << "Disassembling failed for shader:\n"
+        << original << std::endl;
     return std::make_tuple(optimized, modified);
   }