avocado-framework/avocado

View on GitHub
avocado/utils/service.py

Summary

Maintainability
D
2 days
Test Coverage
B
83%

File service.py has 620 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#  Copyright(c) 2013 Intel Corporation.
#
#  This program is free software; you can redistribute it and/or modify it
#  under the terms and conditions of the GNU General Public License,
#  version 2, as published by the Free Software Foundation.
Severity: Major
Found in avocado/utils/service.py - About 1 day to fix

    Function sys_v_init_result_parser has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring.
    Open

    def sys_v_init_result_parser(command):
        """
        Parse results from sys_v style commands.
    
        command status: return true if service is running.
    Severity: Minor
    Found in avocado/utils/service.py - About 4 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

    Function systemd_result_parser has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
    Open

    def systemd_result_parser(command):
        """
        Parse results from systemd style commands.
    
        command status: return true if service is running.
    Severity: Minor
    Found in avocado/utils/service.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

    Function get_name_of_init has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
    Open

    def get_name_of_init(run=process.run):
        """
        Internal function to determine what executable is PID 1
    
        It does that by checking /proc/1/exe.
    Severity: Minor
    Found in avocado/utils/service.py - About 55 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 sys_v_init_command_generator has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def sys_v_init_command_generator(command):
        """
        Generate lists of command arguments for sys_v style inits.
    
        :param command: start,stop,restart, etc.
    Severity: Minor
    Found in avocado/utils/service.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 convert_sysv_runlevel has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def convert_sysv_runlevel(level):
        """
        Convert runlevel to systemd target.
    
        :param level: sys_v runlevel
    Severity: Minor
    Found in avocado/utils/service.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 convert_systemd_target_to_runlevel has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def convert_systemd_target_to_runlevel(target):
        """
        Convert systemd target to runlevel.
    
        :param target: systemd target
    Severity: Minor
    Found in avocado/utils/service.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