summaryrefslogtreecommitdiff
path: root/goldens/golden_utils.py
blob: d2aab1330b643650c70b617d80b7335ec6bbe460 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import sys
from pathlib import Path

# Get the path where this script is located so we can invoke the script from
# any directory and have the paths work correctly.
script_path = Path(__file__).parent.resolve()

# Get the root path as an absolute path, so all derived paths are absolute.
root_path = script_path.parent.absolute()

# Get the location of the schema
schema_path = Path(script_path, "schema")

# Too add the util package in /scripts/util.py
sys.path.append(str(root_path.absolute()))

from scripts.util import flatc


def flatc_golden(options, schema, prefix):
    # wrap the generic flatc call with specifis for these goldens.
    flatc(
        options=options,
        # where the files are generated, typically the language (e.g. "cpp").
        prefix=prefix,
        # The schema are relative to the schema directory.
        schema=str(Path(schema_path, schema)),
        # Run flatc from this location.
        cwd=script_path,
    )