class_docstr: Run a set of generic tests to verify that self.func acts like a
  reduction operation.
  
  Specifically, this class checks axis=... and keepdims=... parameters.
  To check the out=... parameter, see the _GenericHasOutTestMixin class below.
  
  To use: subclass, define self.func and self.allowed_axes.
code: def _check_out_axis(self, axis, dtype, keepdims):
      # out with axis
      a = np.arange(2 * 3 * 4).reshape((2, 3, 4))
      result = self.func(a, axis=axis, keepdims=keepdims).astype(dtype)
  
      out = np.empty_like(result, dtype=dtype)
      result_with_out = self.func(
          a, axis=axis, keepdims=keepdims, out=out
      )
  
      assert result_with_out is out
      assert result_with_out.dtype == dtype
      assert_array_equal(result, result_with_out)
  
imports: from unittest import skipIf, SkipTest
  import numpy
  import pytest
  from pytest import raises
  from torch.testing._internal.common_utils import instantiate_parametrized_tests, parametrize, run_tests, TEST_WITH_TORCHDYNAMO, TestCase, xpassIfTorchDynamo
label_desc: Use image node_id 8 for calling the TestGenericReductions obj's underlying member method code with example usage: obj._check_out_axis(axis, dtype, keepdims) without return types