INNER CODE UNIT · Python

grep_expected_symbols

BlockstreamResearch/secp256k1-zkp · tools/symbol-check.py:37

def grep_expected_symbols() -> list[str]:
    """Guess the list of expected exported symbols from the source code."""
    grep_output = subprocess.check_output(
        ["git", "grep", r"^\s*SECP256K1_API", "--", "include"],
        universal_newlines=True,
        encoding="utf-8"
    )
    lines = grep_output.split("\n")
    pattern = re.compile(r'\bsecp256k1_\w+')
    exported: list[str] = [pattern.findall(line)[-1] for line in lines if line.strip()]
    return exported


def check_symbols(library, expected_exports) -> None:
    """Check that the library exports only the expected symbols."""
    actual_exports = get_exported_exports(library)
    unexpected_exports = set(actual_exports) - set(expected_exports)
    if unexpected_exports != set():

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…