diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..a06f8bfe --- /dev/null +++ b/.coveragerc @@ -0,0 +1,19 @@ +# Config file .coveragerc + +[report] +omit = + /usr/* + */bin/* + */lib/* + */odoo/* + */openerp/* + */tests/* + *__init__.py + +# Regexes for lines to exclude from consideration +exclude_lines = + # Have to re-enable the standard pragma + pragma: no cover + + # Don't complain about null context checking + if context is None: diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..890ff010 --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +bin/ +build/ +develop-eggs/ +dist/ +eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo + +# Pycharm +.idea + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Rope +.ropeproject + +# Sphinx documentation +docs/_build/ + +# Backup files +*~ +*.swp diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..50be0b23 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,44 @@ +# Config file .travis.yml + +language: python + +python: +# - "pypy" # not supported by odoo 8 +# - "3.4" # not supported by odoo 8 +# - "3.3" # not supported by odoo 8 + - "2.7" +# - "2.6" # not supported by odoo 8 + +env: + - ODOO="https://github.com/savoirfairelinux/odoo/archive/setuptools-addons.tar.gz" # Temp until https://github.com/odoo/odoo/issues/185 or https://github.com/odoo/odoo/issues/441 is fixed +# - ODOO="https://github.com/odoo/odoo/archive/master.tar.gz" +# - ODOO="https://github.com/OCA/OCB/archive/master.zip" + +# Need coveralls for coverage reports +# Need flake8 for pep8 testing +# Manually get PyChart +# Install tested version of odoo (official or ocb) +# Get modules from other repos which have dependencies (in this case travel requires modules from lp:partner-contact-management and lp:openerp-hr +install: + - pip install coveralls flake8 + - pip install http://download.gna.org/pychart/PyChart-1.39.tar.gz + - pip install ${ODOO} + +# Create databae +# Pre-install modules and dependencies +before_script: + - createdb test + +# Test with flake, ignore F401 for __init__.py files, use a max length of 120 +# Run tests with coverage +# Only test modules in repo (list populated by directories in repo) +# Preload modules before testing to only run tests of repo's modules +# Include current directory and dependent repos in addons-path as well as official addons +script: + - flake8 . --max-line-length=120 --exclude=__unported__ --filename=__init__.py --ignore=F401 + - flake8 . --max-line-length=120 --exclude=__unported__,__init__.py + - odoo.py -d test --stop-after-init --init=$(python -c 'import os; print(",".join(x for x in os.listdir(".") if os.path.isdir(x) and not x.startswith(".") and x != "__unported__"))') --addons-path=$(pwd),`python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"`/addons + - coverage run $(which odoo.py) -d test --test-enable --log-level=test --stop-after-init --init=$(python -c 'import os; print(",".join(x for x in os.listdir(".") if os.path.isdir(x) and not x.startswith(".") and x != "__unported__"))') --addons-path=$(pwd),`python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"`/addons + +after_success: + coveralls diff --git a/README.md b/README.md new file mode 100644 index 00000000..df3f2a6c --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +[![Build Status](https://travis-ci.org/OCA/web.svg?branch=master)](https://travis-ci.org/OCA/web) +[![Coverage Status](https://img.shields.io/coveralls/OCA/web.svg)](https://coveralls.io/r/OCA/web?branch=master) + +Web addons for Odoo +=================== + +This project aims to deal with modules related to the webclient of Odoo. You'll find modules that: + +- Add facilities to the UI +- Add widgets +- Ease the import/export features +- Generally add clientside functionality