1
Fork 0

Update tests

This commit is contained in:
Jake Howard 2016-05-15 18:01:20 +01:00
parent b21fc0d733
commit 6aeed3951a
3 changed files with 5 additions and 36 deletions

View file

@ -4,9 +4,6 @@ machine:
node: node:
version: 5.10.1 version: 5.10.1
environment: environment:
DEBUG: true
DATABASE_URL: sqlite://~/database.db
EMAIL_BACKEND: django.core.mail.backends.console.EmailBackend
BUILD_PRODUCTION: true BUILD_PRODUCTION: true
dependencies: dependencies:
@ -14,6 +11,7 @@ dependencies:
- ./build - ./build
cache_directories: cache_directories:
- env - env
- node_modules
test: test:
override: override:

View file

@ -1,4 +1,3 @@
coverage==4.0.3
colorama==0.3.6 colorama==0.3.6
flake8==2.5.0 flake8==2.5.0
markdown==2.6.6 markdown==2.6.6

View file

@ -1,17 +1,13 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import coverage
import os, sys import os, sys
import subprocess import subprocess
from colorama import Fore, init from colorama import Fore, init
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
from django.core.management import execute_from_command_line
init(autoreset=True) init(autoreset=True)
bin_dir = os.path.abspath(os.path.join(sys.executable, os.path.pardir)) bin_dir = os.path.abspath(os.path.join(sys.executable, os.path.pardir))
PERCENTAGE = 95
EXIT_CODE = 0 EXIT_CODE = 0
@ -20,34 +16,15 @@ def check_if_exit_code():
print("\n{}Tests Failed. {}Please check messages above and then re-run the command.".format(Fore.RED, Fore.YELLOW)) print("\n{}Tests Failed. {}Please check messages above and then re-run the command.".format(Fore.RED, Fore.YELLOW))
exit(EXIT_CODE) exit(EXIT_CODE)
print("{}Linting...".format(Fore.YELLOW))
cov = coverage.Coverage(
source=["project"],
omit=["*/wsgi.py", "*/settings.py", "*/migrations/*.py", "*/__init__*", "*/tests.py"]
)
cov.start()
print(Fore.YELLOW + "Running Tests...")
execute_from_command_line([sys.argv[0], 'test'])
cov.stop()
print("{}Tests Complete. {}Collecting Coverage...".format(Fore.GREEN, Fore.YELLOW))
cov.save()
cov.html_report()
covered = cov.report()
if covered < PERCENTAGE:
print("{}ERROR: Your coverage needs to be higher. Current coverage: {}%. Required: {}%.".format(Fore.RED, covered, PERCENTAGE))
EXIT_CODE = 1
check_if_exit_code()
print("{}Coverage Complete. {}Linting...".format(Fore.GREEN, Fore.YELLOW))
FLAKE8_IGNORE = '--ignore=E128,E501,E401,E402' FLAKE8_IGNORE = '--ignore=E128,E501,E401,E402'
try: try:
subprocess.check_output([os.path.join(bin_dir, 'flake8'), 'project', FLAKE8_IGNORE, '--exclude=migrations,settings,wsgi.py,__init__.py']) subprocess.check_output([os.path.join(bin_dir, 'flake8'), 'theme', FLAKE8_IGNORE])
subprocess.check_output([os.path.join(bin_dir, 'flake8'), 'scripts', FLAKE8_IGNORE]) subprocess.check_output([os.path.join(bin_dir, 'flake8'), 'scripts', FLAKE8_IGNORE])
subprocess.check_output([os.path.join(bin_dir, 'flake8'), sys.argv[0], FLAKE8_IGNORE]) subprocess.check_output([os.path.join(bin_dir, 'flake8'), 'pelicanconf.py', FLAKE8_IGNORE])
subprocess.check_output([os.path.join(bin_dir, 'flake8'), sys.argv[0], FLAKE8_IGNORE]) # Test this file
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
print(Fore.RED, e.output.decode()) print(Fore.RED, e.output.decode())
EXIT_CODE = 1 EXIT_CODE = 1
@ -59,9 +36,4 @@ print("{}All Python tests passed! {}Testing Static Files...".format(Fore.GREEN,
EXIT_CODE = os.system('npm test') EXIT_CODE = os.system('npm test')
check_if_exit_code() check_if_exit_code()
print("{}All static tests passed! {}Running spell check...".format(Fore.GREEN, Fore.YELLOW))
EXIT_CODE = os.system('')
check_if_exit_code()
print("{}All Tests Passed!".format(Fore.GREEN)) print("{}All Tests Passed!".format(Fore.GREEN))