Adapt to Glslang error changes
- Glslang issues an error for unknown version or profile
- Glslang supports 320es, so that changes one error message.
diff --git a/glslc/test/option_std.py b/glslc/test/option_std.py
index b01d584..52609af 100644
--- a/glslc/test/option_std.py
+++ b/glslc/test/option_std.py
@@ -272,7 +272,7 @@
glslc_args = ['-c', '-std=310', shader]
expected_error = [
- shader, ': error: #version: versions 300 and 310 require ',
+ shader, ': error: #version: versions 300, 310, and 320 require ',
"specifying the 'es' profile\n1 error generated.\n"]
diff --git a/libshaderc/src/shaderc_cpp_test.cc b/libshaderc/src/shaderc_cpp_test.cc
index 06d4585..07d3b94 100644
--- a/libshaderc/src/shaderc_cpp_test.cc
+++ b/libshaderc/src/shaderc_cpp_test.cc
@@ -430,10 +430,12 @@
// Forces the version and profile to 4242core, which is an unknown version.
options_.SetForcedVersionProfile(4242 /*unknown version*/,
shaderc_profile_core);
- EXPECT_THAT(
- CompilationWarnings(kMinimalShader, shaderc_glsl_vertex_shader, options_),
- HasSubstr("warning: (version, profile) forced to be (4242, core),"
- " while in source code it is (140, none)\n"));
+ auto const errs =
+ CompilationErrors(kMinimalShader, shaderc_glsl_vertex_shader, options_);
+ EXPECT_THAT(errs,
+ HasSubstr("warning: (version, profile) forced to be (4242, core),"
+ " while in source code it is (140, none)\n"));
+ EXPECT_THAT(errs, HasSubstr("error: version not supported\n"));
}
TEST_F(CppInterface, ForcedVersionProfileVersionsBefore150) {
@@ -904,8 +906,9 @@
// won't be emitted.
options_.SetSuppressWarnings();
options_.SetForcedVersionProfile(400, shaderc_profile_core);
- EXPECT_EQ("", CompilationWarnings(kMinimalUnknownVersionShader,
- shaderc_glsl_vertex_shader, options_));
+ EXPECT_THAT(CompilationWarnings(kMinimalUnknownVersionShader,
+ shaderc_glsl_vertex_shader, options_),
+ Eq(""));
}
TEST_F(CppInterface, SuppressGlobalWarningsClonedOptions) {
@@ -913,10 +916,11 @@
// won't be emitted, and the mode should be carried into any clone of the
// original option object.
options_.SetSuppressWarnings();
+ options_.SetForcedVersionProfile(400, shaderc_profile_core);
CompileOptions cloned_options(options_);
- EXPECT_EQ("",
- CompilationWarnings(kMinimalUnknownVersionShader,
- shaderc_glsl_vertex_shader, cloned_options));
+ EXPECT_THAT(CompilationWarnings(kMinimalUnknownVersionShader,
+ shaderc_glsl_vertex_shader, cloned_options),
+ Eq(""));
}
TEST_F(CppInterface, GlobalWarningsAsErrors) {
@@ -953,8 +957,10 @@
shaderc_glsl_vertex_shader, options_));
// Global warnings should be inhibited.
- EXPECT_EQ("", CompilationWarnings(kMinimalUnknownVersionShader,
- shaderc_glsl_vertex_shader, options_));
+ // However, the unknown version will cause an error.
+ EXPECT_THAT(CompilationErrors(kMinimalUnknownVersionShader,
+ shaderc_glsl_vertex_shader, options_),
+ Eq("shader: error: version not supported\n"));
}
TEST_F(CppInterface, SuppressWarningsModeSecondOverridesWarningsAsErrorsMode) {
@@ -968,8 +974,10 @@
shaderc_glsl_vertex_shader, options_));
// Global warnings should be inhibited.
- EXPECT_EQ("", CompilationWarnings(kMinimalUnknownVersionShader,
- shaderc_glsl_vertex_shader, options_));
+ // However, the unknown version will cause an error.
+ EXPECT_THAT(CompilationErrors(kMinimalUnknownVersionShader,
+ shaderc_glsl_vertex_shader, options_),
+ Eq("shader: error: version not supported\n"));
}
TEST_F(CppInterface, TargetEnvCompileOptions) {
diff --git a/libshaderc/src/shaderc_test.cc b/libshaderc/src/shaderc_test.cc
index b2a82f8..38322b0 100644
--- a/libshaderc/src/shaderc_test.cc
+++ b/libshaderc/src/shaderc_test.cc
@@ -569,10 +569,15 @@
options_.get(), 4242 /*unknown version*/, shaderc_profile_core);
ASSERT_NE(nullptr, compiler_.get_compiler_handle());
// Warning message should complain about the unknown version.
- EXPECT_THAT(CompilationWarnings(kMinimalShader, shaderc_glsl_vertex_shader,
- options_.get()),
- HasSubstr("warning: (version, profile) forced to be (4242, core),"
- " while in source code it is (140, none)\n"));
+ //
+ // Also, Glslang errors out on unkown versions, due to commit:
+ // https://github.com/KhronosGroup/glslang/commit/9353f1afab8d1c2b1811c6acd807675128eaabc5
+ const auto errs = CompilationErrors(
+ kMinimalShader, shaderc_glsl_vertex_shader, options_.get());
+ EXPECT_THAT(
+ errs, HasSubstr("warning: (version, profile) forced to be (4242, core), "
+ "while in source code it is (140, none)\n"));
+ EXPECT_THAT(errs, HasSubstr("error: version not supported\n"));
}
TEST_F(CompileStringWithOptionsTest, ForcedVersionProfileVersionsBefore150) {