From 34adcb88dd30332d707756ebb3bbfd29c5bb2a1d Mon Sep 17 00:00:00 2001 From: Ross Patterson Date: Mon, 5 Aug 2019 13:29:18 -0700 Subject: [PATCH] Build data: Add basic test for coverage --- ffmpeg/__init__.py | 3 +++ ffmpeg/tests/test_ffmpeg.py | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/ffmpeg/__init__.py b/ffmpeg/__init__.py index a88d344..a3100aa 100644 --- a/ffmpeg/__init__.py +++ b/ffmpeg/__init__.py @@ -1,11 +1,13 @@ from __future__ import unicode_literals from . import nodes +from . import _build from . import _ffmpeg from . import _filters from . import _probe from . import _run from . import _view from .nodes import * +from ._build import * from ._ffmpeg import * from ._filters import * from ._probe import * @@ -14,6 +16,7 @@ from ._view import * __all__ = ( nodes.__all__ + + _build.__all__ + _ffmpeg.__all__ + _probe.__all__ + _run.__all__ diff --git a/ffmpeg/tests/test_ffmpeg.py b/ffmpeg/tests/test_ffmpeg.py index 279a323..086a980 100644 --- a/ffmpeg/tests/test_ffmpeg.py +++ b/ffmpeg/tests/test_ffmpeg.py @@ -718,6 +718,28 @@ def test__probe__extra_args(): assert set(data.keys()) == {'format', 'streams', 'frames'} +def test__build_data(): + data = ffmpeg.get_build_data() + assert set(data.keys()) == { + 'version', 'formats', 'demuxers', 'muxers', 'codecs', 'bsfs', + 'protocols', 'filters', 'pix_fmts', 'sample_fmts', 'layouts', + 'colors', 'devices', 'hw_devices', 'hwaccels'} + + assert isinstance(data['version'], str) + + for fields_key in {'formats', 'demuxers', 'muxers', 'codecs', 'filters'}: + assert isinstance(data[fields_key], dict) + + list_keys = {'bsfs'} + for list_key in list_keys: + assert isinstance(data[list_key], list) + + assert isinstance(data['protocols'], dict) + for protocol_key in {'input', 'output'}: + assert protocol_key in data['protocols'] + assert isinstance(data['protocols'][protocol_key], list) + + def get_filter_complex_input(flt, name): m = re.search(r'\[([^]]+)\]{}(?=[[;]|$)'.format(name), flt) if m: