Skip to content

Commit

Permalink
Add Docker test runner (home-assistant#2673)
Browse files Browse the repository at this point in the history
* Add docker test runner

* Move test Dockerfile into virtualization folder

* Don't build zwave in test environment
  • Loading branch information
Jesse Newland authored and balloob committed Jul 31, 2016
1 parent 5faba21 commit cfa69fe
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.tox
.git
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ develop-eggs
lib
lib64

# Installer logs
# Logs
*.log
pip-log.txt

# Unit test / coverage reports
Expand Down
5 changes: 5 additions & 0 deletions script/lint_docker
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
set -e

docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.test .
docker run --rm -it home-assistant-test tox -e lint
5 changes: 5 additions & 0 deletions script/test_docker
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
set -e

docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.test .
docker run --rm -it home-assistant-test tox -e py34
32 changes: 32 additions & 0 deletions virtualization/Docker/Dockerfile.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM python:3.4
MAINTAINER Paulus Schoutsen <Paulus@PaulusSchoutsen.nl>

VOLUME /config

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

RUN pip3 install --no-cache-dir colorlog cython

# For the nmap tracker, bluetooth tracker, Z-Wave
RUN apt-get update && \
apt-get install -y --no-install-recommends nmap net-tools cython3 libudev-dev sudo libglib2.0-dev locales-all && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN pip3 install --no-cache-dir tox

# Copy over everything required to run tox
COPY requirements_all.txt requirements_all.txt
COPY requirements_test.txt requirements_test.txt
COPY setup.cfg setup.cfg
COPY setup.py setup.py
COPY tox.ini tox.ini
COPY homeassistant/const.py homeassistant/const.py

# Get deps
RUN tox --notest

# Copy source and run tests
COPY . .

CMD [ "tox" ]

0 comments on commit cfa69fe

Please sign in to comment.