Commit b9f3eec9 authored by Michael Droettboom's avatar Michael Droettboom Committed by GitHub

Merge pull request #131 from rth/improve-testing-setup

Generate test resources with make all
parents 5c3b2eaa bfd0e586
......@@ -19,11 +19,12 @@ jobs:
# Set up the Debian testing repo, and then install g++ from there...
sudo bash -c "echo \"deb http://ftp.us.debian.org/debian testing main contrib non-free\" >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install node-less cmake build-essential flake8 uglifyjs python3-yaml chromium ccache
sudo apt-get install node-less cmake build-essential clang-format-6.0 flake8 uglifyjs python3-yaml chromium ccache
sudo apt-get install -t testing g++-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8
sudo update-alternatives --set gcc /usr/bin/gcc-8
sudo ln -s /usr/bin/clang-format-6.0 /usr/bin/clang-format
sudo pip install virtualenv
......@@ -44,7 +45,6 @@ jobs:
unzip chromedriver_linux64.zip
mv chromedriver firefox
- run:
name: lint
command: |
......@@ -63,7 +63,6 @@ jobs:
ccache -z
make
ccache -s
make build/test.html build/test_data.txt
- save_cache:
paths:
......@@ -93,7 +92,7 @@ jobs:
source pyodide-env/bin/activate
export PATH=$PWD/firefox:$PATH
pytest test -v --instafail -k firefox
pytest test -v -k firefox
test-chrome:
<<: *defaults
......@@ -110,7 +109,7 @@ jobs:
source pyodide-env/bin/activate
export PATH=$PWD/firefox:$PATH
pytest test -v --instafail -k chrome
pytest test -v -k chrome
deploy:
machine:
......
......@@ -49,7 +49,9 @@ all: build/pyodide.asm.js \
build/matplotlib-sideload.html \
build/renderedhtml.css \
build/test.data \
build/packages.json
build/packages.json \
build/test_data.txt \
build/test.html
build/pyodide.asm.js: src/main.bc src/jsimport.bc src/jsproxy.bc src/js2python.bc \
......@@ -101,8 +103,8 @@ build/renderedhtml.css: src/renderedhtml.less
lessc $< $@
test: all build/test.html build/test_data.txt
py.test test -v -r sxX --instafail
test: all
pytest test/ -v
build/test_data.txt: test/data.txt
......
......@@ -43,7 +43,7 @@ Install [geckodriver](https://github.com/mozilla/geckodriver/releases) and
[chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) somewhere
on your `PATH`.
`make test`
`pytest test/`
# Benchmarking
......
[tool:pytest]
addopts =
-r sxX
--instafail
......@@ -39,6 +39,10 @@ class SeleniumWrapper:
driver = self.get_driver()
wait = WebDriverWait(driver, timeout=20)
if not (BUILD_PATH / 'test.html').exists():
# selenium does not expose HTTP response codes
raise ValueError(f"{(BUILD_PATH / 'test.html').resolve()} "
f"does not exist!")
driver.get(f'http://127.0.0.1:{PORT}/test.html')
wait.until(PyodideInited())
self.wait = wait
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment