feat: add timing info
This commit is contained in:
@@ -8,6 +8,7 @@ jobs:
|
|||||||
- run: |
|
- run: |
|
||||||
make ci-dependencies
|
make ci-dependencies
|
||||||
- run: |
|
- run: |
|
||||||
|
./contrib/release build
|
||||||
./tests/ci/setup.sh
|
./tests/ci/setup.sh
|
||||||
- run: |
|
- run: |
|
||||||
echo 'export DOKKU_SKIP_CLEANUP=true' | sudo tee /home/dokku/.dokkurc/dokku_skip_cleanup
|
echo 'export DOKKU_SKIP_CLEANUP=true' | sudo tee /home/dokku/.dokkurc/dokku_skip_cleanup
|
||||||
@@ -27,3 +28,8 @@ jobs:
|
|||||||
no_output_timeout: 60m
|
no_output_timeout: 60m
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: ./coverage.out
|
path: ./coverage.out
|
||||||
|
- store_artifacts:
|
||||||
|
path: ./test-results
|
||||||
|
destination: test-results
|
||||||
|
- store_test_results:
|
||||||
|
path: test-results
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,6 +6,7 @@
|
|||||||
.vagrant
|
.vagrant
|
||||||
build/
|
build/
|
||||||
data/
|
data/
|
||||||
|
test-results/
|
||||||
stack.tgz
|
stack.tgz
|
||||||
tmp
|
tmp
|
||||||
coverage.out
|
coverage.out
|
||||||
|
|||||||
5
tests.mk
5
tests.mk
@@ -209,5 +209,6 @@ deploy-tests:
|
|||||||
test: setup-deploy-tests lint unit-tests deploy-tests
|
test: setup-deploy-tests lint unit-tests deploy-tests
|
||||||
|
|
||||||
test-ci:
|
test-ci:
|
||||||
@echo "executing tests: $(shell circleci tests glob tests/unit/*.bats | circleci tests split --split-by=timings | xargs)"
|
mkdir -p test-results/bats
|
||||||
bats $(shell circleci tests glob tests/unit/*.bats | circleci tests split --split-by=timings | xargs)
|
@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
31
tests/organize-tests
Executable 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()
|
||||||
@@ -16,7 +16,7 @@ deploy_app_tar() {
|
|||||||
APP_TYPE="$1"; APP_TYPE=${APP_TYPE:="nodejs-express"}
|
APP_TYPE="$1"; APP_TYPE=${APP_TYPE:="nodejs-express"}
|
||||||
TMP=$(mktemp -d "/tmp/dokku.me.XXXXX")
|
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
|
pushd "$TMP" &> /dev/null || exit 1
|
||||||
trap 'popd &> /dev/null || true; rm -rf "$TMP"' RETURN INT TERM
|
trap 'popd &> /dev/null || true; rm -rf "$TMP"' RETURN INT TERM
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user