code: def test_use():
      # Set default app to None, so we can test the use function
      vispy.app.use_app()
      default_app = vispy.app._default_app.default_app
      vispy.app._default_app.default_app = None
  
      app_name = default_app.backend_name.split(" ")[0]
  
      try:
          # With no arguments, should do nothing
          assert_raises(TypeError, vispy.use)
          assert_equal(vispy.app._default_app.default_app, None)
  
          # With only gl args, should do nothing to app
          vispy.use(gl="gl2")
          assert_equal(vispy.app._default_app.default_app, None)
  
          # Specify app (one we know works)
          vispy.use(app_name)
          assert_not_equal(vispy.app._default_app.default_app, None)
  
          # Again, but now wrong app
          wrong_name = "glfw" if app_name.lower() != "glfw" else "pyqt4"
          assert_raises(RuntimeError, vispy.use, wrong_name)
  
          # And both
          vispy.use(app_name, "gl2")
  
      finally:
          # Restore
          vispy.app._default_app.default_app = default_app
  
label_desc: Use image node_id 1 for calling a global function with example usage: test_use() without return types