Reorganized some test code

This commit is contained in:
Jamie Hardt
2019-06-25 11:00:07 -07:00
parent 9d5f8899d5
commit b7aeccacf5
6 changed files with 42 additions and 33 deletions

View File

@@ -1,2 +1,3 @@
from . import test_wave_parsing

Binary file not shown.

View File

@@ -1,43 +1,12 @@
import os.path
import sys
import json
import subprocess
from subprocess import PIPE
from unittest import TestCase
from .utils import all_files, ffprobe
import wavinfo
FFPROBE='ffprobe'
def ffprobe(path):
arguments = [ FFPROBE , "-of", "json" , "-show_format", "-show_streams", path ]
if int(sys.version[0]) < 3:
process = subprocess.Popen(arguments, stdout=PIPE)
process.wait()
if process.returncode == 0:
output = process.communicate()[0]
if output:
output_str = output.decode('utf-8')
return json.loads(output_str)
else:
return None
else:
process = subprocess.run(arguments, stdin=None, stdout=PIPE, stderr=PIPE)
if process.returncode == 0:
output_str = process.stdout.decode('utf-8')
return json.loads(output_str)
else:
return None
def all_files():
for dirpath, _, filenames in os.walk('tests/test_files'):
for filename in filenames:
_, ext = os.path.splitext(filename)
if ext in ['.wav','.WAV']:
yield os.path.join(dirpath, filename)
class TestWaveInfo(TestCase):
def test_sanity(self):
for wav_file in all_files():

39
tests/utils.py Normal file
View File

@@ -0,0 +1,39 @@
import os.path
import sys
import subprocess
from subprocess import PIPE
import json
FFPROBE='ffprobe'
def ffprobe(path):
arguments = [ FFPROBE , "-of", "json" , "-show_format", "-show_streams", path ]
if int(sys.version[0]) < 3:
process = subprocess.Popen(arguments, stdout=PIPE)
process.wait()
if process.returncode == 0:
output = process.communicate()[0]
if output:
output_str = output.decode('utf-8')
return json.loads(output_str)
else:
return None
else:
process = subprocess.run(arguments, stdin=None, stdout=PIPE, stderr=PIPE)
if process.returncode == 0:
output_str = process.stdout.decode('utf-8')
return json.loads(output_str)
else:
return None
def all_files():
for dirpath, _, filenames in os.walk('tests/test_files'):
for filename in filenames:
_, ext = os.path.splitext(filename)
if ext in ['.wav','.WAV']:
yield os.path.join(dirpath, filename)