This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.

Test: ../../resources/webgl_test_files/conformance/programs/program-test.html
[ 1: PASS ] context exists
[ 2: PASS ] good vertex shader should compile
[ 3: PASS ] getError was expected value: NO_ERROR : should be no errors at this point
[ 4: PASS ] invalid call to getShaderParameter should return null
[ 5: PASS ] getError was expected value: INVALID_ENUM : INFO_LOG_LENGTH is not a valid argument to getShaderParameter in WebGL
[ 6: PASS ] invalid call to getShaderParameter should return null
[ 7: PASS ] getError was expected value: INVALID_ENUM : SHADER_SOURCE_LENGTH is not a valid argument to getShaderParameter in WebGL
[ 8: PASS ] good vertex shader #2 should compile
[ 9: PASS ] good fragment shader should compile
[ 10: PASS ] good fragment shader #2 should compile
[ 11: PASS ] getError was expected value: NO_ERROR : should be no errors at this point
[ 12: PASS ] getError was expected value: NO_ERROR : attaching a vertex shader should succeed
[ 13: PASS ] getError was expected value: INVALID_OPERATION : attaching an already attached vertex shader should generate INVALID_OPERATION
[ 14: PASS ] getError was expected value: NO_ERROR : attaching a fragment shader should succeed
[ 15: PASS ] getError was expected value: INVALID_OPERATION : attaching an already attached fragment shader should generate INVALID_OPERATION
[ 16: PASS ] getError was expected value: INVALID_OPERATION : attaching shaders of the same type to a program should generate INVALID_OPERATION
[ 17: PASS ] getError was expected value: INVALID_OPERATION : attaching shaders of the same type to a program should generate INVALID_OPERATION
[ 18: PASS ] getError was expected value: NO_ERROR : detaching a vertex shader should succeed
[ 19: PASS ] getError was expected value: INVALID_OPERATION : detaching a not already attached vertex shader should generate INVALID_OPERATION
[ 20: PASS ] getError was expected value: NO_ERROR : detaching a fragment shader should succeed
[ 21: PASS ] getError was expected value: INVALID_OPERATION : detaching a not already attached fragment shader should generate INVALID_OPERATION
[ 22: PASS ] getAttachedShaders should return an empty list by default
[ 23: PASS ] attaching a single shader should give the expected list
[ 24: PASS ] attaching some shaders should give the expected list
[ 25: PASS ] attaching a shader and detaching it should leave an empty list
[ 26: PASS ] attaching some shaders and detaching them in same order should leave an empty list
[ 27: PASS ] attaching some shaders and detaching them in random order should leave an empty list
[ 28: PASS ] attaching and detaching some shaders should leave the difference list
[ 29: PASS ] attaching and detaching some shaders should leave the difference list
[ 30: PASS ] attaching a shader that failed to compile should still show it in the list
[ 31: PASS ] attaching shaders, including one that failed to compile, should still show the it in the list
[ 32: PASS ] valid program should link
[ 33: PASS ] invalid call to getProgramParameter should return null
[ 34: PASS ] getError was expected value: INVALID_ENUM : INFO_LOG_LENGTH is not a valid argument to getProgramParameter in WebGL
[ 35: PASS ] invalid call to getProgramParameter should return null
[ 36: PASS ] getError was expected value: INVALID_ENUM : ACTIVE_ATTRIBUTE_MAX_LENGTH is not a valid argument to getProgramParameter in WebGL
[ 37: PASS ] invalid call to getProgramParameter should return null
[ 38: PASS ] getError was expected value: INVALID_ENUM : ACTIVE_UNIFORM_MAX_LENGTH is not a valid argument to getProgramParameter in WebGL
[ 39: PASS ] getError was expected value: NO_ERROR : using a valid program should succeed
[ 40: PASS ] valid program #2 should link
[ 41: PASS ] getError was expected value: NO_ERROR : using a valid program should succeed
[ 42: PASS ] program with no fragment shader should fail to link
[ 43: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 44: PASS ] program with no vertex shader should fail to link
[ 45: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 46: PASS ] program with bad vertex shader should fail to link
[ 47: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 48: PASS ] program with bad fragment shader should fail to link
[ 49: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 50: PASS ] program with bad shaders should fail to link
[ 51: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 52: PASS ] getError was expected value: NO_ERROR : using a valid program shouldn't generate a GL error
[ 53: PASS ] getError was expected value: NO_ERROR : should be no errors at this point #2
[ 54: PASS ] getError was expected value: INVALID_OPERATION : drawing with a null program should generate INVALID_OPERATION
[ 55: PASS ] getError was expected value: NO_ERROR : drawing with a valid program shouldn't generate a GL error
[ 56: PASS ] getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
[ 57: PASS ] getError was expected value: NO_ERROR : Try to use an invalid program should not change the current rendering state
[ 58: PASS ] getError was expected value: NO_ERROR : drawing with a valid program shouldn't generate a GL error
[ 59: PASS ] linking should fail with in-use formerly good program, with new bad shader attached
[ 60: PASS ] getError was expected value: NO_ERROR : drawing with a valid program shouldn't generate a GL error
[ 61: PASS ] getError was expected value: NO_ERROR : drawing with a valid when last used program shouldn't generate a GL error
[ 62: PASS ] delete shaders after attaching them and before linking program should not affect linkProgram
[ 63: PASS ] getError was expected value: NO_ERROR : using a valid program should succeed
[ 64: PASS ] getError was expected value: NO_ERROR : drawing with a valid when last used program shouldn't generate a GL error
[ 65: PASS ] getError was expected value: NO_ERROR : delete the current program shouldn't change the current rendering state
[ 66: PASS ] getError was expected value: NO_ERROR : The current program shouldn't be deleted
[ 67: PASS ] good fragment shader should compile
[ 68: PASS ] getError was expected value: INVALID_VALUE : an unattached shader should be deleted immediately
[ 69: PASS ] good fragment shader should compile
[ 70: FAIL ] an attached shader shouldn't be deleted
[ 71: FAIL ] getError expected: INVALID_VALUE. Was INVALID_OPERATION : a delete-marked program should be deleted once it's no longer the current program
[ 72: PASS ] getError was expected value: INVALID_VALUE : a delete-marked shader should be deleted once all its attachments are removed
[ 73: PASS ] should be red
[ 74: PASS ] should be green
[ 75: PASS ] should be red
[ 76: PASS ] should be tranparent black
[ 77: PASS ] getError was expected value: NO_ERROR : should be no errors
[ 78: PASS ] successfullyParsed is true
[ FAIL ] 2 failures reported

