tensorflow/tensorflow

View on GitHub
tensorflow/python/kernel_tests/array_ops/array_ops_test.py

Summary

Maintainability
F
6 days
Test Coverage

File array_ops_test.py has 2060 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
Severity: Major
Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 5 days to fix

    Function __getitem__ has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
    Open

      def __getitem__(self, spec):
        op = self.x.__getitem__(spec)
    
        def eval_if_tensor(x):
          try:
    Severity: Minor
    Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Consider simplifying this complex logical expression.
    Open

        if (
            isinstance(spec, bool)
            or (isinstance(spec, tensor_lib.Tensor) and spec.dtype == dtypes.bool)
            or (isinstance(spec, np.ndarray) and spec.dtype == bool)
            or (isinstance(spec, (list, tuple)) and casts_to_bool_nparray(spec))
    Severity: Major
    Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 1 hr to fix

      Function _compareDiffType has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

        def _compareDiffType(self, n, np_dtype, use_gpu):
          inputs = []
          for index in ("ij", "xy"):
            for _ in range(n):
              x = np.linspace(-10, 10, 5).astype(np_dtype)
      Severity: Minor
      Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 45 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function testTensorStridedSliceUpdateWithBroadcastingGrad has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

        def testTensorStridedSliceUpdateWithBroadcastingGrad(self, shape, begin, end,
      Severity: Minor
      Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 45 mins to fix

        Function testTensorStridedSliceUpdateGrad has 6 arguments (exceeds 4 allowed). Consider refactoring.
        Open

          def testTensorStridedSliceUpdateGrad(
        Severity: Minor
        Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 45 mins to fix

          Function CheckVersusNumpy has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

            def CheckVersusNumpy(self, ndims_mask, arr_shape, make_mask=None, axis=None):
              """Check equivalence between boolean_mask and numpy masking."""
              if make_mask is None:
                make_mask = lambda shape: self.rng.randint(0, 2, size=shape).astype(bool)
              arr = np.random.rand(*arr_shape)
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 35 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function testReverseRowsOf4Channels has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def testReverseRowsOf4Channels(self):
              for reverse_f in [array_ops.reverse_v2, array_ops.reverse]:
                for outer_size in (1, 2):
                  for middle_size in list(range(50)) + [100000]:
                    with self.subTest(
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function testNarrowMatrixConjugateTranspose has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def testNarrowMatrixConjugateTranspose(self):
              for dtype in (dtypes.float32, dtypes.float64):
                for conjugate in (True, False):
                  with self.subTest(complex_type=dtype, conjugate=conjugate):
                    vector = math_ops.complex(
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function testReverseRowsOf3Channels has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def testReverseRowsOf3Channels(self):
              """Tests optimized code for reversing rows with last dim size = 3."""
              for reverse_f in [array_ops.reverse_v2, array_ops.reverse]:
                for outer_size in (1, 2):
                  for middle_size in list(range(50)) + [100000]:
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function testReverseColumnsOf3Channels has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def testReverseColumnsOf3Channels(self):
              for reverse_f in [array_ops.reverse_v2, array_ops.reverse]:
                for outer_size in list(range(50)) + [100000]:
                  for middle_size in (1, 2):
                    with self.subTest(
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function _reverse2DimAuto has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def _reverse2DimAuto(self, np_dtype):
              x_np = np.array([[1, 200, 3], [4, 5, 60]], dtype=np_dtype)
          
              for reverse_f in [array_ops.reverse_v2, array_ops.reverse]:
                for use_gpu in [False, True]:
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function testEmptyOutput has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

            def testEmptyOutput(self):
              make_mask = lambda shape: np.zeros(shape, dtype=bool)
              for ndims_mask in range(1, 4):
                for ndims_arr in range(ndims_mask, ndims_mask + 3):
                  for _ in range(3):
          Severity: Minor
          Found in tensorflow/python/kernel_tests/array_ops/array_ops_test.py - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          There are no issues that match your filters.

          Category
          Status