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