parent
918fc9974d
commit
f2d6b3e6b4
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright 2021 Mike Fährmann
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
TEST_DIRECTORY = os.path.join(
|
||||||
|
os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "test")
|
||||||
|
|
||||||
|
sys.path.insert(0, TEST_DIRECTORY)
|
||||||
|
|
||||||
|
if len(sys.argv) <= 1:
|
||||||
|
TESTS = [
|
||||||
|
file.rpartition(".")[0]
|
||||||
|
for file in os.listdir(TEST_DIRECTORY)
|
||||||
|
if file.startswith("test_") and file != "test_results.py"
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
TESTS = [
|
||||||
|
name if name.startswith("test_") else "test_" + name
|
||||||
|
for name in sys.argv[1:]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
suite = unittest.TestSuite()
|
||||||
|
|
||||||
|
for test in TESTS:
|
||||||
|
try:
|
||||||
|
module = __import__(test)
|
||||||
|
except ImportError:
|
||||||
|
print("unable to import", test)
|
||||||
|
else:
|
||||||
|
tests = unittest.defaultTestLoader.loadTestsFromModule(module)
|
||||||
|
suite.addTests(tests)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
result = unittest.TextTestRunner(verbosity=2).run(suite)
|
||||||
|
if result.errors or result.failures:
|
||||||
|
sys.exit(1)
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
|
|
||||||
TESTS_CORE=(cache config cookies downloader extractor formatter job oauth output postprocessor text util)
|
|
||||||
TESTS_RESULTS=(results)
|
|
||||||
|
|
||||||
|
|
||||||
# select tests
|
|
||||||
case "${1:-${GALLERYDL_TESTS:-core}}" in
|
|
||||||
core) TESTS=( ${TESTS_CORE[@]} );;
|
|
||||||
results) TESTS=( ${TESTS_RESULTS[@]} );;
|
|
||||||
*) TESTS=( );;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
# transform each array element to test_###.py
|
|
||||||
TESTS=( ${TESTS[@]/#/test_} )
|
|
||||||
TESTS=( ${TESTS[@]/%/.py} )
|
|
||||||
|
|
||||||
|
|
||||||
# run 'nosetests' with selected tests
|
|
||||||
# (or all tests if ${TESTS} is empty)
|
|
||||||
nosetests --verbose -w "${DIR}/../test" ${TESTS[@]}
|
|
Loading…
Reference in new issue