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

Test: ../../resources/webgl_test_files/conformance/extensions/oes-texture-half-float.html
[ 1: PASS ] WebGL context exists
[ 2: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 3: PASS ] getError was expected value: INVALID_ENUM : Half floating point texture must be disallowed if OES_texture_half_float isn't enabled
[ 4: PASS ] Successfully enabled OES_texture_half_float extension
[ 5: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 6: PASS ] getError was expected value: NO_ERROR : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 7: PASS ] should be 255,0,0,255
[ 8: FAIL ] should be black at (0, 0) expected: 0,0,0,255 was 255,0,0,255
[ 9: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 10: PASS ] getError was expected value: NO_ERROR : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 11: PASS ] should be 255,0,0,255
[ 12: FAIL ] should be black at (0, 0) expected: 0,0,0,255 was 255,0,0,255
[ 13: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 14: PASS ] getError was expected value: NO_ERROR : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 15: PASS ] should be 255,255,255,255
[ 16: FAIL ] should be black at (0, 0) expected: 0,0,0,255 was 255,255,255,255
[ 17: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 18: PASS ] getError was expected value: NO_ERROR : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 19: PASS ] should be 0,0,0,255
[ 20: PASS ] should be black
[ 21: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 22: PASS ] getError was expected value: NO_ERROR : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 23: PASS ] should be 255,255,255,255
[ 24: FAIL ] should be black at (0, 0) expected: 0,0,0,255 was 255,255,255,255
[ 25: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 26: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 27: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 28: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 29: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 30: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 31: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 32: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 33: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 34: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 35: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 36: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 37: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 38: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 39: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 40: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 41: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 42: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 43: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 44: PASS ] getError was expected value: INVALID_OPERATION : Half floating point texture allocation must be disallowed when ArrayBufferView is not-null and not-Uint16
[ 45: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 46: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 47: FAIL ] should be 85,85,85,85 at (0, 0) expected: 85,85,85,85 was 0,0,0,255
[ 48: PASS ] should be black
[ 49: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 50: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 51: FAIL ] should be 85,85,85,255 at (0, 0) expected: 85,85,85,255 was 0,0,0,255
[ 52: PASS ] should be black
[ 53: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 54: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 55: FAIL ] should be 85,85,85,255 at (0, 0) expected: 85,85,85,255 was 0,0,0,255
[ 56: PASS ] should be black
[ 57: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 58: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 59: FAIL ] should be 0,0,0,85 at (0, 0) expected: 0,0,0,85 was 0,0,0,255
[ 60: PASS ] should be black
[ 61: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 62: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 63: FAIL ] should be 85,85,85,85 at (0, 0) expected: 85,85,85,85 was 0,0,0,255
[ 64: PASS ] should be black
[ 65: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 66: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 67: PASS ] getError was expected value: NO_ERROR : rendering from half floating point texture should succeed
[ 68: FAIL ] should be green at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 69: PASS ] getError was expected value: NO_ERROR : texture parameter setup should succeed
[ 70: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : Half floating point texture allocation should succeed if OES_texture_half_float is enabled
[ 71: PASS ] getError was expected value: NO_ERROR : rendering from half floating point texture should succeed
[ 72: FAIL ] should be green at (0, 0) expected: 0,255,0,255 was 255,0,0,255
[ 73: FAIL ] RGBA/HALF_FLOAT_OES is color renderable but EXT_color_buffer_half_float not exposed
[ 74: PASS ] gl.getExtension("OES_texture_half_float").myProperty is 2
[ 75: PASS ] successfullyParsed is true
[ FAIL ] 19 failures reported

