56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
#
|
|
# test_integration.py
|
|
#
|
|
# Integration test for docwriter.
|
|
#
|
|
# Copyright 2018 by
|
|
# Nikhil Ramakrishnan.
|
|
#
|
|
# This file is part of the FreeType project, and may only be used,
|
|
# modified, and distributed under the terms of the FreeType project
|
|
# license, LICENSE.TXT. By continuing to use, modify, or distribute
|
|
# this file you indicate that you have read the license and
|
|
# understand and accept it fully.
|
|
|
|
"""Docwriter Integration tests.
|
|
|
|
This is a simple integration test that builds Docwriter
|
|
documentation against a test file.
|
|
|
|
From the root of the Docwriter git repo, use:
|
|
python -m pytest tests/test_integration.py
|
|
"""
|
|
|
|
import logging
|
|
import subprocess
|
|
|
|
log = logging.getLogger('docwriter')
|
|
|
|
def test_integration( capfd ):
|
|
|
|
log.propagate = False
|
|
stream = logging.StreamHandler()
|
|
formatter = logging.Formatter(
|
|
"\033[1m\033[1;32m *** %(message)s *** \033[0m")
|
|
stream.setFormatter(formatter)
|
|
log.addHandler(stream)
|
|
log.setLevel(logging.DEBUG)
|
|
|
|
base_cmd = ['python', 'docwriter.py', '--prefix=test',
|
|
'--title=Docwriter Test', '--output=./tests/output',
|
|
'--verbose' ]
|
|
folders = ['./tests/assets/*.c']
|
|
|
|
log.debug("Building markdown docs.")
|
|
command = base_cmd + folders
|
|
# run the command
|
|
subprocess.check_call( command )
|
|
# capture output to check for warnings
|
|
captured = capfd.readouterr()
|
|
# print the logs on failure
|
|
print( captured.err )
|
|
# fail if there are warnings
|
|
assert not "WARNING" in captured.err
|
|
|
|
# eof
|