code: def _test_functionality(backend):
      """Create app and canvas so we have a context. Then run tests."""
      # use the backend
      gl.use_gl(backend)
  
      with Canvas() as canvas:
          _clear_screen()
  
          # Prepare
          w, h = canvas.size
          gl.glViewport(0, 0, w, h)
          gl.glScissor(0, 0, w, h)  # touch
          gl.glClearColor(0.0, 0.0, 0.0, 1.0)
  
          # Setup visualization, ensure to do it in a draw event
          objects = _prepare_vis()
          _clear_screen()
          _draw1()
          _clear_screen()
          _draw2()
          _clear_screen()
          _draw3()
  
          # Clean up
          for delete_func, handle in objects:
              delete_func(handle)
          gl.glFinish()
  
file_path: vispy/vispy/gloo/gl/tests/test_functionality.py
imports: import sys
  import numpy
  from vispy.app import Canvas
  from vispy.testing import requires_application, requires_pyopengl, SkipTest, run_tests_if_main, assert_equal, assert_true
  from vispy.gloo import gl
  import pytest
label_desc: Use image node_id 7 for calling a global function with example usage: _test_functionality(backend) without return types