mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-21 18:22:30 +01:00
run tests without using 'nose'
run_tests.sh -> run_tests.py
This commit is contained in:
parent
918fc9974d
commit
f2d6b3e6b4
1
.github/workflows/tests.yml
vendored
1
.github/workflows/tests.yml
vendored
@ -36,7 +36,6 @@ jobs:
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
pip install nose
|
||||
make test
|
||||
|
||||
- name: Test autogeneration of man pages, bash/zsh completion, etc
|
||||
|
2
Makefile
2
Makefile
@ -19,7 +19,7 @@ release: man completion supportedsites
|
||||
scripts/release.sh
|
||||
|
||||
test:
|
||||
scripts/run_tests.sh
|
||||
scripts/run_tests.py
|
||||
|
||||
executable:
|
||||
scripts/pyinstaller.py
|
||||
|
@ -211,13 +211,18 @@ def _path():
|
||||
return os.path.join(cachedir, "cache.sqlite3")
|
||||
|
||||
|
||||
try:
|
||||
dbfile = _path()
|
||||
def _init():
|
||||
try:
|
||||
dbfile = _path()
|
||||
|
||||
# restrict access permissions for new db files
|
||||
os.close(os.open(dbfile, os.O_CREAT | os.O_RDONLY, 0o600))
|
||||
# restrict access permissions for new db files
|
||||
os.close(os.open(dbfile, os.O_CREAT | os.O_RDONLY, 0o600))
|
||||
|
||||
DatabaseCacheDecorator.db = sqlite3.connect(
|
||||
dbfile, timeout=60, check_same_thread=False)
|
||||
except (OSError, TypeError, sqlite3.OperationalError):
|
||||
cache = memcache # noqa: F811
|
||||
DatabaseCacheDecorator.db = sqlite3.connect(
|
||||
dbfile, timeout=60, check_same_thread=False)
|
||||
except (OSError, TypeError, sqlite3.OperationalError):
|
||||
global cache
|
||||
cache = memcache
|
||||
|
||||
|
||||
_init()
|
||||
|
46
scripts/run_tests.py
Executable file
46
scripts/run_tests.py
Executable file
@ -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[@]}
|
@ -20,6 +20,7 @@ from gallery_dl import config, util # noqa E402
|
||||
dbpath = tempfile.mkstemp()[1]
|
||||
config.set(("cache",), "file", dbpath)
|
||||
from gallery_dl import cache # noqa E402
|
||||
cache._init()
|
||||
|
||||
|
||||
# def tearDownModule():
|
||||
|
Loading…
Reference in New Issue
Block a user