code: def test_invalid_variable_inputs(
      self,
      error_msg,
      variable_names,
      variable_kinds,
      variable_values,
      error_eager,
      error_graph_mode,
  ):
      height = 1
      width = 1
      empty_shader_code = "#version 450\n void main() { }\n"
      if tf.executing_eagerly():
          error = error_eager
      else:
          error = error_graph_mode
      with self.assertRaisesRegexp(error, error_msg):
          self.evaluate(
              rasterization_backend.render_ops.rasterize(
                  num_points=0,
                  variable_names=variable_names,
                  variable_kinds=variable_kinds,
                  variable_values=variable_values,
                  output_resolution=(width, height),
                  vertex_shader=empty_shader_code,
                  geometry_shader=empty_shader_code,
                  fragment_shader=empty_shader_code,
              )
          )
  
file_path: graphics/tensorflow_graphics/rendering/opengl/tests/rasterizer_op_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import six
  from six.moves import range
  import tensorflow
  from tensorflow_graphics.geometry.transformation import look_at
  from tensorflow_graphics.rendering.camera import perspective
  from tensorflow_graphics.rendering.opengl import rasterization_backend
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 2 for calling the RasterizerOPTest obj's underlying member method code with example usage: obj.test_invalid_variable_inputs(error_msg, variable_names, variable_kinds, variable_values, error_eager, error_graph_mode) without return types