void WrongNumberOfArgumentsError::print(const char * filename){ RuntimeError::print(filename); fprintf(stderr, "wrong number of arguments: got %d, expected ", getGot()); if(getExpected() != -1){ fprintf(stderr, "%d\n", getExpected()); } else { fprintf(stderr, "nonzero arguments"); } }
void runTest() { if (getClientVersion() < 3 && !extensionEnabled("GL_EXT_blend_minmax")) { std::cout << "Test skipped because ES3 or GL_EXT_blend_minmax is not available." << std::endl; return; } const size_t colorCount = 1024; Color colors[colorCount]; for (size_t i = 0; i < colorCount; i++) { for (size_t j = 0; j < 4; j++) { colors[i].values[j] = (rand() % 255) / 255.0f; } } GLubyte prevColor[4]; for (size_t i = 0; i < colorCount; i++) { const Color &color = colors[i]; glUseProgram(mProgram); glUniform4f(mColorLocation, color.values[0], color.values[1], color.values[2], color.values[3]); bool blendMin = (rand() % 2 == 0); glBlendEquation(blendMin ? GL_MIN : GL_MAX); drawQuad(mProgram, "aPosition", 0.5f); if (i > 0) { EXPECT_PIXEL_EQ(0, 0, getExpected(blendMin, color.values[0], prevColor[0]), getExpected(blendMin, color.values[1], prevColor[1]), getExpected(blendMin, color.values[2], prevColor[2]), getExpected(blendMin, color.values[3], prevColor[3])); } glReadPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, prevColor); } }
void runTest() { const size_t colorCount = 1024; Color colors[colorCount]; for (size_t i = 0; i < colorCount; i++) { for (size_t j = 0; j < 4; j++) { colors[i].values[j] = (rand() % 255) / 255.0f; } } GLubyte prevColor[4]; for (size_t i = 0; i < colorCount; i++) { const Color &color = colors[i]; glUseProgram(mProgram); glUniform4f(mColorLocation, color.values[0], color.values[1], color.values[2], color.values[3]); bool blendMin = (rand() % 2 == 0); glBlendEquation(blendMin ? GL_MIN : GL_MAX); drawQuad(mProgram, "aPosition", 0.5f); if (i > 0) { EXPECT_PIXEL_EQ(0, 0, getExpected(blendMin, color.values[0], prevColor[0]), getExpected(blendMin, color.values[1], prevColor[1]), getExpected(blendMin, color.values[2], prevColor[2]), getExpected(blendMin, color.values[3], prevColor[3])); } glReadPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, prevColor); } }
void UnexpectedLexemError::print(const char * filename, const char * sgot, const char * sexpected){ SyntaxError::print(filename); fprintf(stderr, "unexpected lexem found: got \"%s\" with id=%d, expected \"%s\" with id=%d", sgot, getGot(), sexpected, getExpected()); }