class_docstr: Test that the supported configurations in the documentation
  matches the supported configurations in the code.
  
  Also test that the supported configurations do not raise any errors and
  the unsupported configurations raise the expected errors or otherwise
  behave as expected.
  
  These tests do not test for correctness.
class_docstr_tok: ["Test","that","the","supported","configurations","in","the","documentation","matches","the","supported","configurations","in","the","code",".","Also","test","that","the","supported","configurations","do","not","raise","any","errors","and","the","unsupported","configurations","raise","the","expected","errors","or","otherwise","behave","as","expected",".","These","tests","do","not","test","for","correctness","."]
docstr: Test diff_method in ['finite-diff', 'spsa'] works for all interfaces and
  return_types except State and DensityMatrix
docstr_tok: ["Test","diff_method","in","[","'finite-diff","'",",","'spsa","'","]","works","for","all","interfaces","and","return_types","except","State","and","DensityMatrix"]
code: def test_all_finitediff_nonstate(
      self, interface, return_type, shots, wire_specs, diff_method
  ):
      """Test diff_method in ['finite-diff', 'spsa'] works for all interfaces and
      return_types except State and DensityMatrix"""
  
      # correctness is already tested in other test files
      circuit = get_qnode(
          interface, diff_method, return_type, shots, wire_specs
      )
      x = get_variable(interface, wire_specs)
      if shots is not None and return_type in (VnEntropy, MutualInfo):
          with pytest.raises(
              qml.DeviceError, match="not accepted with finite shots"
          ):
              compute_gradient(x, interface, circuit, return_type)
      else:
          compute_gradient(x, interface, circuit, return_type)
  
imports: import pytest
  import pennylane
  from pennylane import numpy
  from pennylane import QuantumFunctionError
  from pennylane.measurements import Probability, Expectation, Variance, Sample, VnEntropy, MutualInfo
  from pennylane.measurements.measurements import ObservableReturnTypes
label_desc: Use image node_id 10 for calling the TestSupportedConfs obj's underlying member method code with example usage: obj.test_all_finitediff_nonstate(interface, return_type, shots, wire_specs, diff_method) without return types