KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /usr/tests/atf_python/sys/netpfil/ipfw/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/tests/atf_python/sys/netpfil/ipfw/utils.py
#!/usr/bin/env python3

import os
import socket
import struct
import subprocess
import sys
from enum import Enum
from typing import Dict
from typing import List
from typing import Optional
from typing import Union
from typing import Any
from typing import NamedTuple
import pytest


def roundup2(val: int, num: int) -> int:
    if val % num:
        return (val | (num - 1)) + 1
    else:
        return val


def align8(val: int) -> int:
    return roundup2(val, 8)


def enum_or_int(val) -> int:
    if isinstance(val, Enum):
        return val.value
    return val


def enum_from_int(enum_class: Enum, val) -> Enum:
    if isinstance(val, Enum):
        return val
    for item in enum_class:
        if val == item.value:
            return item
    return None


class AttrDescr(NamedTuple):
    val: Enum
    cls: Any
    child_map: Any = None
    is_array: bool = False


def prepare_attrs_map(attrs: List[AttrDescr]) -> Dict[str, Dict]:
    ret = {}
    for ad in attrs:
        ret[ad.val.value] = {"ad": ad}
        if ad.child_map:
            ret[ad.val.value]["child"] = prepare_attrs_map(ad.child_map)
            ret[ad.val.value]["is_array"] = ad.is_array
    return ret




Anon7 - 2021