From 6381395cc08e312b41dfc0bc5c7ecde176aa5dd4 Mon Sep 17 00:00:00 2001 From: Dongcan Ye Date: Sat, 18 Nov 2017 14:22:25 +0800 Subject: [PATCH] Add duplicated idempotent_ids checks Add a shell script for duplicated idempotent_ids checks, this is a copy from Neutron repo. Change-Id: I0a00f9830a7d29812bcccc257a1bea8a6477d9e8 --- tools/misc-sanity-checks.sh | 38 +++++++++++++++++++++++++++++++++++++ tox.ini | 6 +++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 tools/misc-sanity-checks.sh diff --git a/tools/misc-sanity-checks.sh b/tools/misc-sanity-checks.sh new file mode 100755 index 00000000..234cbb1c --- /dev/null +++ b/tools/misc-sanity-checks.sh @@ -0,0 +1,38 @@ +#! /bin/sh +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +TMPDIR=`mktemp -d /tmp/${0##*/}.XXXXXX` || exit 1 +export TMPDIR +trap "rm -rf $TMPDIR" EXIT + +FAILURES=$TMPDIR/failures + +check_no_duplicate_api_test_idempotent_ids() { + # For API tests, an idempotent ID is assigned to each single API test, + # those IDs should be unique + output=$(check-uuid --package neutron_tempest_plugin) + if [ "$?" -ne 0 ]; then + echo "There are duplicate idempotent ids in the API tests" >>$FAILURES + echo "please, assign unique uuids to each API test:" >>$FAILURES + echo "$output" >>$FAILURES + fi +} + +check_no_duplicate_api_test_idempotent_ids + +# Fail, if there are emitted failures +if [ -f $FAILURES ]; then + cat $FAILURES + exit 1 +fi diff --git a/tox.ini b/tox.ini index 74c85e55..dbd0526b 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,11 @@ deps = -r{toxinidir}/test-requirements.txt commands = python setup.py test --slowest --testr-args='{posargs}' [testenv:pep8] -commands = flake8 {posargs} +commands = + sh ./tools/misc-sanity-checks.sh + flake8 {posargs} +whitelist_externals = + sh [testenv:venv] commands = {posargs}