Test to expand travis to test more databases
This commit is contained in:
parent
5bf2280036
commit
f409021131
2 changed files with 97 additions and 4 deletions
29
.travis.yml
29
.travis.yml
|
|
@ -1,16 +1,37 @@
|
||||||
language: python
|
language: python
|
||||||
cache: pip
|
cache: pip
|
||||||
|
|
||||||
|
service:
|
||||||
|
- posgresql
|
||||||
|
- mysql
|
||||||
|
|
||||||
python:
|
python:
|
||||||
- "3.6"
|
- "3.7"
|
||||||
sudo: false
|
|
||||||
|
env:
|
||||||
|
- TESTING_DB=sqlite3
|
||||||
|
- TESTING_DB=postgresql
|
||||||
|
- TESTING_DB=mysql
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- psql -c "CREATE USER evennia WITH PASSWORD 'password'; CREATE DATABASE evennia; GRANT ALL PRIVILEGES ON DATABASE evennia TO evennia;'"
|
||||||
|
- mysql -e "CREATE USER 'evennia'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE evennia; ALTER DATABASE `evennia` CHARACTER SET utf8; GRANT ALL PRIVILEGES ON evennia.* TO 'evennia'@'localost'; FLUSH PRIVILEGES;"
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
- pip install psycopg2-binary
|
||||||
|
- pip install mysqlclient
|
||||||
- pip install -e .
|
- pip install -e .
|
||||||
- pip install coveralls
|
- pip install coveralls
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- evennia --init dummy
|
- python -VV
|
||||||
- cd dummy
|
- evennia --init testing_mygame
|
||||||
|
- cp .travis/testing_settings.py testing_mygame/server/conf/settings.py
|
||||||
|
- cd testing_mygame
|
||||||
- evennia migrate
|
- evennia migrate
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- coverage run --source=../evennia --omit=*/migrations/*,*/urls.py,*/test*.py,*.sh,*.txt,*.md,*.pyc,*.service ../bin/unix/evennia test evennia
|
- coverage run --source=../evennia --omit=*/migrations/*,*/urls.py,*/test*.py,*.sh,*.txt,*.md,*.pyc,*.service ../bin/unix/evennia test evennia
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- coveralls
|
- coveralls
|
||||||
|
|
|
||||||
72
.travis/testing_settings.py
Normal file
72
.travis/testing_settings.py
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
"""
|
||||||
|
Evennia settings file.
|
||||||
|
|
||||||
|
The available options are found in the default settings file found
|
||||||
|
here:
|
||||||
|
|
||||||
|
/home/griatch/Devel/Home/evennia/evennia/evennia/settings_default.py
|
||||||
|
|
||||||
|
Remember:
|
||||||
|
|
||||||
|
Don't copy more from the default file than you actually intend to
|
||||||
|
change; this will make sure that you don't overload upstream updates
|
||||||
|
unnecessarily.
|
||||||
|
|
||||||
|
When changing a setting requiring a file system path (like
|
||||||
|
path/to/actual/file.py), use GAME_DIR and EVENNIA_DIR to reference
|
||||||
|
your game folder and the Evennia library folders respectively. Python
|
||||||
|
paths (path.to.module) should be given relative to the game's root
|
||||||
|
folder (typeclasses.foo) whereas paths within the Evennia library
|
||||||
|
needs to be given explicitly (evennia.foo).
|
||||||
|
|
||||||
|
If you want to share your game dir, including its settings, you can
|
||||||
|
put secret game- or server-specific settings in secret_settings.py.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
# Use the defaults from Evennia unless explicitly overridden
|
||||||
|
from evennia.settings_default import *
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# Evennia base server config
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# This is the name of your game. Make it catchy!
|
||||||
|
SERVERNAME = "testing_mygame"
|
||||||
|
|
||||||
|
# Testing database types
|
||||||
|
|
||||||
|
if os.environ.get("TESTING_DB") == "postgresql":
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||||
|
'NAME': 'evennia',
|
||||||
|
'USER': 'evennia',
|
||||||
|
'PASSWORD': '',
|
||||||
|
'HOST': 'localhost',
|
||||||
|
'PORT': '' # use default
|
||||||
|
}}
|
||||||
|
elif os.environ.get("TESTING_DB") == "mysql":
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
|
'NAME': 'evennia',
|
||||||
|
'USER': 'evennia',
|
||||||
|
'PASSWORD': '',
|
||||||
|
'HOST': 'localhost', # or an IP Address that your DB is hosted on
|
||||||
|
'PORT': '', # use default port
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else: # default sqlite3, use default settings
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# Settings given in secret_settings.py override those in this file.
|
||||||
|
######################################################################
|
||||||
|
try:
|
||||||
|
from server.conf.secret_settings import *
|
||||||
|
except ImportError:
|
||||||
|
print("secret_settings.py file not found or failed to import.")
|
||||||
Loading…
Add table
Add a link
Reference in a new issue