Motivation: Make the constants available also for Robot.
Restraint: Robotframework user guide says:
Because variable files are always imported using a file system path,
creating them as classes has some restrictions:
Python classes must have the same name as the module they are located.
Change-Id: I638ef3fe045db132e366de2e2699638b8637e45e
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
+ It is NOT RECOMMENDED to use hard-coded constants (e.g. numbers,
paths without any description). It is RECOMMENDED to use
- configuration file(s), like /csit/resources/libraries/python/constants.py,
+ configuration file(s), like /csit/resources/libraries/python/Constants.py,
with appropriate comments.
+ The code SHALL log at the lowest possible level of implementation,
class Constants(object):
- """Constants used in CSIT."""
+ """Constants used in CSIT.
+
+ TODO: Yaml files are easier for humans to edit.
+ Figure out how to set the attributes by parsing a file
+ that works regardless of current working directory.
+ """
# OpenVPP testing directory location at topology nodes
REMOTE_FW_DIR = '/tmp/openvpp-testing'
from collections import OrderedDict, Counter
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.topology import Topology
from resources.libraries.python.VppConfigGenerator import VppConfigGenerator
from time import time
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.DUTSetup import DUTSetup
from resources.libraries.python.LimitUtil import LimitUtil
from resources.libraries.python.SysctlUtil import SysctlUtil
"""This module implements initialization and cleanup of DPDK environment."""
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.topology import NodeType, Topology
"""
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.topology import NodeType, Topology
"""
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.topology import NodeType, Topology
from robot.api import logger
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.ssh import SSH, exec_cmd_no_error
from resources.libraries.python.topology import NodeType, Topology
from ipaddress import IPv4Network, ip_address
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.ssh import exec_cmd_no_error, exec_cmd
from resources.libraries.python.topology import Topology
from resources.libraries.python.ssh import SSH
from resources.libraries.python.topology import NodeType, Topology
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.VatExecutor import VatTerminal, VatExecutor
from time import sleep
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.topology import NodeType
from resources.libraries.python.ssh import SSH, exec_cmd_no_error
from resources.libraries.python.CpuUtils import CpuUtils
from paramiko.ssh_exception import SSHException
from robot.api import logger
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.PapiErrors import PapiInitError, \
PapiJsonFileError, PapiCommandError, PapiCommandInputError
# TODO: from resources.libraries.python.PapiHistory import PapiHistory
from robot.api import logger
from resources.libraries.python.ssh import SSH, SSHTimeout
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.DUTSetup import DUTSetup
from resources.libraries.python.topology import NodeType, Topology
"""
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants as con
+from resources.libraries.python.Constants import Constants as con
from resources.libraries.python.topology import Topology
from robot.libraries.BuiltIn import BuiltIn
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants as con
+from resources.libraries.python.Constants import Constants as con
from resources.libraries.python.topology import NodeType
from resources.libraries.python.topology import Topology
from robot.libraries.BuiltIn import BuiltIn
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants as con
+from resources.libraries.python.Constants import Constants as con
from resources.libraries.python.topology import NodeType
__all__ = ["SetupFramework"]
from robot.libraries.BuiltIn import BuiltIn
from .DropRateSearch import DropRateSearch
-from .constants import Constants
+from .Constants import Constants
from .ssh import SSH
from .topology import NodeType
from .topology import NodeSubTypeTG
"""Traffic script executor library."""
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.ssh import SSH
__all__ = ['TrafficScriptExecutor']
from robot.api import logger
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.DUTSetup import DUTSetup
from resources.libraries.python.PapiExecutor import PapiExecutor
from resources.libraries.python.PapiErrors import PapiError
from robot.api import logger
from resources.libraries.python.ssh import SSH, SSHTimeout
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.VatHistory import VatHistory
__all__ = ['VatExecutor']
import time
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.libraries.python.DUTSetup import DUTSetup
from resources.libraries.python.topology import NodeType
from resources.libraries.python.topology import Topology
"""Keywords to manipulate BGP configuration using Honeycomb REST API."""
-from resources.libraries.python.constants import Constants as Const
+from resources.libraries.python.Constants import Constants as Const
from resources.libraries.python.HTTPRequest import HTTPCodes
from resources.libraries.python.honeycomb.HoneycombSetup import HoneycombError
from resources.libraries.python.honeycomb.HoneycombUtil \
from robot.api import logger
-from resources.libraries.python.constants import Constants as Const
+from resources.libraries.python.Constants import Constants as Const
from resources.libraries.python.honeycomb.HoneycombUtil import HoneycombError
from resources.libraries.python.ssh import SSH
from resources.libraries.python.topology import NodeType
from resources.libraries.python.HTTPRequest import HTTPRequest, HTTPCodes, \
HTTPRequestError
-from resources.libraries.python.constants import Constants as Const
+from resources.libraries.python.Constants import Constants as Const
from resources.libraries.python.honeycomb.HoneycombUtil import HoneycombError
from resources.libraries.python.honeycomb.HoneycombUtil \
import HoneycombUtil as HcUtil
from resources.libraries.python.ssh import SSH
from resources.libraries.python.HTTPRequest import HTTPRequest
-from resources.libraries.python.constants import Constants as Const
+from resources.libraries.python.Constants import Constants as Const
@unique
"""Implementation of keywords for testing Honeycomb performance."""
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.constants import Constants as Const
+from resources.libraries.python.Constants import Constants as Const
from resources.libraries.python.honeycomb.HoneycombUtil import HoneycombError
from resources.libraries.python.ssh import SSH
from resources.libraries.python.topology import NodeType
from resources.libraries.python.CpuUtils import CpuUtils
-from resources.libraries.python.constants import Constants
+from resources.libraries.python.Constants import Constants
from resources.tools.wrk.wrk_traffic_profile_parser import WrkTrafficProfile
from resources.tools.wrk.wrk_errors import WrkError