aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-02-20 06:26:05 +0000
committerPeter Mikus <pmikus@cisco.com>2019-02-20 06:26:05 +0000
commit8577b4441fd99d1db694e6e9f07801c35ac17748 (patch)
treea2369ebb785e38e565240fa581bc66c7ff23bca7
parentfa0fe5c805169951c466d3b18091c0cfc52dd5ca (diff)
FIX: Static variables all over the place for per patch
- Incredible why is it so hard to write scripts not hardcoding anything. Change-Id: I48cf2cc3d25f9665a9ff7ca26756d3b70cdd2f9c Signed-off-by: Peter Mikus <pmikus@cisco.com>
-rw-r--r--resources/libraries/bash/entry/per_patch_device.sh2
-rw-r--r--resources/libraries/bash/function/per_patch.sh35
-rw-r--r--resources/tools/scripts/compare_perpatch.py10
3 files changed, 31 insertions, 16 deletions
diff --git a/resources/libraries/bash/entry/per_patch_device.sh b/resources/libraries/bash/entry/per_patch_device.sh
index 3f52bcbc0b..11203316fb 100644
--- a/resources/libraries/bash/entry/per_patch_device.sh
+++ b/resources/libraries/bash/entry/per_patch_device.sh
@@ -53,5 +53,5 @@ select_vpp_device_tags || die
compose_pybot_arguments || die
run_pybot || die
copy_archives || die
-archive_parse_test_results "csit_current" || die
+archive_test_results "csit_current" || die
die_on_pybot_error || die
diff --git a/resources/libraries/bash/function/per_patch.sh b/resources/libraries/bash/function/per_patch.sh
index 83e8427824..27fa0cfb06 100644
--- a/resources/libraries/bash/function/per_patch.sh
+++ b/resources/libraries/bash/function/per_patch.sh
@@ -13,20 +13,19 @@
set -exuo pipefail
-# This library defines functions used mainly by "per_patch_perf.sh" entry script.
+# This library defines functions used mainly by per patch entry scripts.
# Generally, the functions assume "common.sh" library has been sourced already.
# Keep functions ordered alphabetically, please.
-# TODO: Add a link to bash style guide.
-
-
-function archive_parse_test_results () {
+function archive_test_results () {
set -exuo pipefail
# Arguments:
# - ${1}: Directory to archive to. Required. Parent has to exist.
+ # Variable set:
+ # - TARGET - Target directory.
# Variables read:
# - ARCHIVE_DIR - Path to where robot result files are created in.
# - VPP_DIR - Path to existing directory, root for to relative paths.
@@ -34,17 +33,33 @@ function archive_parse_test_results () {
# - ${1} - Created, and robot and parsing files are moved/created there.
# Functions called:
# - die - Print to stderr and exit, defined in common.sh
- # - parse_bmrr_results - See definition in this file.
cd "${VPP_DIR}" || die "Change directory command failed."
- target="$(readlink -f "$1")"
- mkdir -p "${target}" || die "Directory creation failed."
+ TARGET="$(readlink -f "$1")"
+ mkdir -p "${TARGET}" || die "Directory creation failed."
for filename in "output.xml" "log.html" "report.html"; do
- mv "${ARCHIVE_DIR}/${filename}" "${target}/${filename}" || {
+ mv "${ARCHIVE_DIR}/${filename}" "${TARGET}/${filename}" || {
die "Attempt to move '${filename}' failed."
}
done
- parse_bmrr_results "${target}" || {
+}
+
+
+function archive_parse_test_results () {
+
+ set -exuo pipefail
+
+ # Arguments:
+ # - ${1}: Directory to archive to. Required. Parent has to exist.
+ # Variables read:
+ # - TARGET - Target directory.
+ # Functions called:
+ # - die - Print to stderr and exit, defined in common.sh
+ # - archive_test_results - Archiving results.
+ # - parse_bmrr_results - See definition in this file.
+
+ archive_test_results "$1" || die
+ parse_bmrr_results "${TARGET}" || {
die "The function should have died on error."
}
}
diff --git a/resources/tools/scripts/compare_perpatch.py b/resources/tools/scripts/compare_perpatch.py
index 1f8a1cf892..3bda338d49 100644
--- a/resources/tools/scripts/compare_perpatch.py
+++ b/resources/tools/scripts/compare_perpatch.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# 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:
@@ -57,7 +57,7 @@ while 1:
except IOError:
break
num_lines = len(parent_lines)
- filename = "csit_new/{iter}/results.txt".format(iter=iteration)
+ filename = "csit_current/{iter}/results.txt".format(iter=iteration)
with open(filename) as new_file:
new_lines = new_file.readlines()
if num_lines != len(new_lines):
@@ -82,7 +82,7 @@ for test_index in range(num_tests):
new_values.extend(
json.loads(new_iterations[iteration_index][test_index]))
print "TRACE pre-hack parent: {p}".format(p=parent_values)
- print "TRACE pre-hack new: {n}".format(n=new_values)
+ print "TRACE pre-hack current: {n}".format(n=new_values)
parent_values = hack(parent_values)
new_values = hack(new_values)
parent_max = BitCountingMetadataFactory.find_max_value(parent_values)
@@ -93,9 +93,9 @@ for test_index in range(num_tests):
new_factory = BitCountingMetadataFactory(val_max, parent_stats.avg)
new_stats = new_factory.from_data(new_values)
print "TRACE parent: {p}".format(p=parent_values)
- print "TRACE new: {n}".format(n=new_values)
+ print "TRACE current: {n}".format(n=new_values)
print "DEBUG parent: {p}".format(p=parent_stats)
- print "DEBUG new: {n}".format(n=new_stats)
+ print "DEBUG current: {n}".format(n=new_stats)
common_max = max(parent_stats.avg, new_stats.avg)
difference = (new_stats.avg - parent_stats.avg) / common_max
print "DEBUG difference: {d}%".format(d=100 * difference)