iewLength - i;

      if (effectiveViewLen >= subViewLength) {
        wtu.glErrorShouldBe(gl, gl.NO_ERROR);

      } else {
        wtu.glErrorShouldBe(gl, gl.INVALID_VALUE);
      }
    }
  };

  var tex2d = gl.createTexture();
  gl.bindTexture(gl.TEXTURE_2D, tex2d);
  testFunc("compressedTexImage2D"   , fn2D   );
  testFunc("compressedTexSubImage2D", fnSub2D);

  var tex3d = gl.createTexture();
  gl.bindTexture(gl.TEXTURE_2D_ARRAY, tex3d);
  testFunc("compressedTexImage3D"   , fn3D   );
  testFunc("compr