feat: add timing info

This commit is contained in:
Jose Diaz-Gonzalez
2018-10-11 21:08:49 -04:00
parent d2f116f958
commit 95aeb27f0b
5 changed files with 42 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ jobs:
- run: |
make ci-dependencies
- run: |
./contrib/release build
./tests/ci/setup.sh
- run: |
echo 'export DOKKU_SKIP_CLEANUP=true' | sudo tee /home/dokku/.dokkurc/dokku_skip_cleanup
@@ -27,3 +28,8 @@ jobs:
no_output_timeout: 60m
- store_artifacts:
path: ./coverage.out
- store_artifacts:
path: ./test-results
destination: test-results
- store_test_results:
path: test-results

1
.gitignore vendored
View File

@@ -6,6 +6,7 @@
.vagrant
build/
data/
test-results/
stack.tgz
tmp
coverage.out

View File

@@ -209,5 +209,6 @@ deploy-tests:
test: setup-deploy-tests lint unit-tests deploy-tests
test-ci:
@echo "executing tests: $(shell circleci tests glob tests/unit/*.bats | circleci tests split --split-by=timings | xargs)"
bats $(shell circleci tests glob tests/unit/*.bats | circleci tests split --split-by=timings | xargs)
mkdir -p test-results/bats
@cd tests/unit && echo "executing tests: $(shell cd tests/unit ; circleci tests glob *.bats | circleci tests split --split-by=timings | xargs)"
cd tests/unit && bats --formatter bats-format-junit -e -T -o ../../test-results/bats $(shell cd tests/unit ; circleci tests glob *.bats | circleci tests split --split-by=timings | xargs)

31
tests/organize-tests Executable file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/env python
import errno
import glob
import os
import xml.etree.ElementTree as ET
def mkdir_p(directory_name):
try:
os.makedirs(directory_name)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(directory_name):
pass
def main():
root_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')
test_results_path = os.path.realpath(os.path.join(root_path, 'test-results'))
test_file_glob = os.path.join(test_results_path, 'bats', '*.xml')
files = glob.glob(test_file_glob)
for file in files:
tree = ET.parse(file)
root = tree.getroot()
name = root.attrib['name']
if name == '':
continue
new_path = '{0}/{1}/results.xml'.format(test_results_path, name.replace('.bats', ''))
mkdir_p(os.path.dirname(new_path))
os.rename(file, new_path)
if __name__ == "__main__":
main()

View File

@@ -16,7 +16,7 @@ deploy_app_tar() {
APP_TYPE="$1"; APP_TYPE=${APP_TYPE:="nodejs-express"}
TMP=$(mktemp -d "/tmp/dokku.me.XXXXX")
rmdir "$TMP" && cp -r "./tests/apps/$APP_TYPE" "$TMP"
rmdir "$TMP" && cp -r "${BATS_TEST_DIRNAME}/../../tests/apps/$APP_TYPE" "$TMP"
pushd "$TMP" &> /dev/null || exit 1
trap 'popd &> /dev/null || true; rm -rf "$TMP"' RETURN INT TERM