Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
lucemia committed Mar 8, 2024
1 parent f7fb3ba commit 03eed06
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
8 changes: 6 additions & 2 deletions src/ffmpeg/scripts/parse_c/pre_compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
source_folder.mkdir(exist_ok=True)


def pre_compile_file(file: pathlib.Path, target: pathlib.Path) -> None:
print(f"precompile {file}")
os.system(f"gcc -E -I. {file} > {target}")


def precompile(folder: pathlib.Path) -> None:
os.chdir(folder)

Expand All @@ -20,8 +25,7 @@ def precompile(folder: pathlib.Path) -> None:
f.write(text)

for file in folder.glob("**/*.[cm]"):
print(f"precompile {file}")
p = file.relative_to(folder)
compiled_path = (source_folder / p).resolve()
compiled_path.parent.mkdir(parents=True, exist_ok=True)
os.system(f"gcc -E -I. {file} > {compiled_path}")
pre_compile_file(file, compiled_path)
11 changes: 9 additions & 2 deletions src/ffmpeg/scripts/parse_c/tests/test_parse_ffmpeg_opt_c.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
import tempfile
from pathlib import Path

from syrupy.assertion import SnapshotAssertion
from syrupy.extensions.json import JSONSnapshotExtension

from ..parse_ffmpeg_opt_c import parse_ffmpeg_opt_c
from ..pre_compile import source_folder
from ..pre_compile import pre_compile_file, source_folder


def test_parse_ffmpeg_opt_c(snapshot: SnapshotAssertion) -> None:
filename = tempfile.NamedTemporaryFile()
p = Path(filename.name)
pre_compile_file(source_folder / "fftools/ffmpeg_opt.c", p)

assert snapshot(extension_class=JSONSnapshotExtension) == [
{
"is_input_option": k.is_input_option,
Expand All @@ -14,5 +21,5 @@ def test_parse_ffmpeg_opt_c(snapshot: SnapshotAssertion) -> None:
"is_support_stream_specifier": k.is_support_stream_specifier,
}
| k.__dict__
for k in parse_ffmpeg_opt_c((source_folder / "fftools/ffmpeg_opt.c").read_text())
for k in parse_ffmpeg_opt_c(p.read_text())
]

0 comments on commit 03eed06

Please sign in to comment.