def test(config):
    result = consts.TEST_PASSED
    cause = None

    for entry in TABLE:
        try:
            Cgroup.xset(config, cgname=CGNAME, setting=entry[0],
                        value=entry[1], version=entry[2])
        except RunError as re:
            if re.stderr.find('Invalid argument') >= 0:
                # The kernel disallowed this setting, likely due to the many
                # complexities of exclusive cpusets
                continue
            raise re

        out = Cgroup.xget(config, cgname=CGNAME, setting=entry[3],
                          version=entry[5], values_only=True,
                          print_headers=False)
        if out != entry[4]:
            result = consts.TEST_FAILED
            cause = (
                        'After setting {}={}, expected {}={}, but received '
                        '{}={}'
                        ''.format(entry[0], entry[1], entry[3], entry[4],
                                  entry[3], out)
                    )
            return result, cause

    return result, cause
def test(config):
    result = consts.TEST_PASSED
    cause = None

    for entry in TABLE:
        Cgroup.xset(config,
                    cgname=CGNAME,
                    setting=entry[0],
                    value=entry[1],
                    version=entry[2])

        out = Cgroup.xget(config,
                          cgname=CGNAME,
                          setting=entry[3],
                          version=entry[5],
                          values_only=True,
                          print_headers=False)
        if out != entry[4]:
            result = consts.TEST_FAILED
            cause = ('After setting {}={}, expected {}={}, but received '
                     '{}={}'.format(entry[0], entry[1], entry[3], entry[4],
                                    entry[3], out))
            return result, cause

    return result, cause
def test(config):
    result = consts.TEST_PASSED
    cause = None

    cg1 = Cgroup(CGNAME, Version.CGROUP_V1)
    cg1.add_controller(CONTROLLER)
    cg1.add_setting(SETTING1, VALUE1)

    cg1.cgxset()

    value_v1 = CgroupCli.xget(
                                config, setting=SETTING1, print_headers=False,
                                values_only=True,
                                version=CgroupCliVersion.CGROUP_V1,
                                cgname=CGNAME
                             )

    if value_v1 != VALUE1:
        result = consts.TEST_FAILED
        cause = 'Expected {}, but received {}'.format(VALUE1, value_v1)
        return result, cause

    # Set the cpu.shares/cpu.weight to an arbitrary value to ensure
    # the following v2 cgxset works properly
    CgroupCli.xset(config, cgname=CGNAME, setting=SETTING1, value='1234',
                   version=CgroupCliVersion.CGROUP_V1)

    cg2 = Cgroup(CGNAME, Version.CGROUP_V2)
    cg2.add_controller(CONTROLLER)
    cg2.add_setting(SETTING2, VALUE2)

    cg2.cgxset()

    value_v2 = CgroupCli.xget(
                                config, setting=SETTING2, print_headers=False,
                                values_only=True,
                                version=CgroupCliVersion.CGROUP_V2,
                                cgname=CGNAME
                             )

    if value_v2 != VALUE2:
        result = consts.TEST_FAILED
        cause = 'Expected {}, but received {}'.format(VALUE2, value_v2)
        return result, cause

    return result, cause
Пример #4
0
def test(config):
    result = consts.TEST_PASSED
    cause = None

    if CgroupVersion.get_version(CONTROLLER) == CgroupVersion.CGROUP_V1:
        # request the opposite version of what this system is running
        requested_ver = CgroupVersion.CGROUP_V2
    else:
        requested_ver = CgroupVersion.CGROUP_V1

    out = Cgroup.xget(config,
                      cgname=CGNAME,
                      setting=SETTING,
                      version=requested_ver,
                      print_headers=False,
                      ignore_unmappable=True)
    if len(out):
        result = consts.TEST_FAILED
        cause = 'Expected cgxget to return nothing.  Received {}'.format(out)

    return result, cause