code: def test_scipy__cache_disabled() -> None:
      opt = gpflow.optimizers.Scipy(compile_cache_size=0)
      variables = _create_variables()
      counter = [0]
      closure = _loss_closure_builder(counter, variables)
  
      # Ensure the cache is empty
      assert len(opt.compile_cache) == 0
  
      # Call eval_func multiple times with the same arguments
      for _ in range(4):
          opt.minimize(
              closure,
              variables,
              compile=True,
              tf_fun_args={},
              allow_unused_variables=False,
          )
          # Check that the cache was not used
          assert len(opt.compile_cache) == 0
  
      # The closure should be run every time
      assert counter[0] == 4
  
imports: import unittest
  import warnings
  from typing import Any, Callable, Dict, List, Sequence, Tuple
  from unittest.mock import MagicMock
  import numpy
  import pytest
  import tensorflow
  from packaging.version import Version
  import gpflow
  from gpflow.base import AnyNDArray
  from gpflow.config import default_float
  from gpflow.models import GPR, GPModel
  from gpflow.optimizers.scipy import LossClosure
label_desc: Use image node_id 12 for calling a global function with example usage: test_scipy__cache_disabled() without return types