avocado-framework/avocado

View on GitHub

Showing 490 of 907 total issues

Avoid deeply nested control flow statements.
Open

                        if nk is not None:
                            self.add(cur, (nk, i))

Severity: Major
Found in avocado/utils/external/spark.py - About 45 mins to fix

    Avoid deeply nested control flow statements.
    Open

                            if new not in cur:
                                self.links[key] = []
                                cur.append(new)
                            self.links[key].append((pptr, why))
    Severity: Major
    Found in avocado/utils/external/spark.py - About 45 mins to fix

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

          def find_rpm_packages(self, rpm_dir):
              """
              Extract product dependencies from a defined RPM directory and all its subdirectories.
      
              :param str rpm_dir: directory to search in
      Severity: Minor
      Found in avocado/utils/software_manager/backends/rpm.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

      Avoid deeply nested control flow statements.
      Open

                          if param_type is not None:
                              param_dic["type"] = param_type.group(1)
                          param_list.append(param_dic)
      Severity: Major
      Found in avocado/utils/linux_modules.py - About 45 mins to fix

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

            def unmount(self, force=True):
                """
                Umount this partition.
        
                It's easier said than done to umount a partition.
        Severity: Minor
        Found in avocado/utils/partition.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 _extend_directory has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        def _extend_directory(path):
            if not os.path.isdir(path):
                return [path]
            paths = []
            # no error handling so far
        Severity: Minor
        Found in avocado/core/resolver.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 get_tasks_in_topological_order has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

            def get_tasks_in_topological_order(self):
                """Computes the topological order of runtime tasks in graph
        
                :returns: runtime tasks in topological order
                :rtype: list
        Severity: Minor
        Found in avocado/core/task/runtime.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 _set_collectibles has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

            def _set_collectibles(self):
                timeout = self.config.get("sysinfo.collect.commands_timeout")
                locale = self.config.get("sysinfo.collect.locale")
                if self.profiler:
                    for cmd in self.sysinfo_files["profilers"]:
        Severity: Minor
        Found in avocado/core/sysinfo.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 make has 6 arguments (exceeds 4 allowed). Consider refactoring.
        Open

        def make(
        Severity: Minor
        Found in avocado/utils/build.py - About 45 mins to fix

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

          def check_file(
              path,
              reference,
              suffix=".py",
              type_check=os.path.isfile,
          Severity: Minor
          Found in avocado/core/resolver.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 _extend_test_list has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

          def _extend_test_list(current, new):
              for test in new:
                  test_method_name = test[0]
                  found = False
                  for current_test in current:
          Severity: Minor
          Found in avocado/core/safeloader/core.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 get_file has 6 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          def get_file(
          Severity: Minor
          Found in avocado/utils/download.py - About 45 mins to fix

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

                def __init__(
            Severity: Minor
            Found in avocado/core/task/statemachine.py - About 45 mins to fix

              Avoid deeply nested control flow statements.
              Open

                                  if line.startswith(b"CPU architecture"):
                                      version = int(line.split(b":", 1)[1])
                                      if version >= 8:
                                          return "aarch64"
                                      else:
              Severity: Major
              Found in avocado/utils/cpu.py - About 45 mins to fix

                Avoid deeply nested control flow statements.
                Open

                                    if key in result:
                                        result[key].add(val)
                                    else:
                                        result[key] = {val}
                                else:
                Severity: Major
                Found in avocado/core/safeloader/docstring.py - About 45 mins to fix

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

                  def _examine_class(
                  Severity: Minor
                  Found in avocado/core/safeloader/core.py - About 45 mins to fix

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

                        def __init__(self, uid, name, variant=None, no_digits=None):
                            """
                            Constructs a TestID instance
                    
                            :param uid: unique test id (within the job)
                    Severity: Minor
                    Found in avocado/core/test_id.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 config_filename has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def config_filename(self):
                            current_distro = distro_detect()
                            if current_distro.name in ["rhel", "fedora"]:
                                if self.distro_is_rhel9_or_later:
                                    path = "/etc/NetworkManager/system-connections"
                    Severity: Minor
                    Found in avocado/utils/network/interfaces.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 handle_starttag has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def handle_starttag(self, tag, attrs):
                            if tag != "a":
                                return
                            for attr in attrs:
                                if attr[0] == "href" and re.match(self.pattern, attr[1]):
                    Severity: Minor
                    Found in avocado/utils/vmimage.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

                    Avoid deeply nested control flow statements.
                    Open

                                            async with self._state_machine.lock:
                                                self._state_machine.triaging.append(runtime_task)
                                                runtime_task.status = RuntimeTaskStatus.WAIT
                                                await asyncio.sleep(0.1)
                                            return
                    Severity: Major
                    Found in avocado/core/task/statemachine.py - About 45 mins to fix
                      Severity
                      Category
                      Status
                      Source
                      Language