From b4ebac7f422652c2b5ca75b8b143436b610a9248 Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Thu, 13 Oct 2016 19:53:07 +0200 Subject: [PATCH] Add a suite for checking distribution size Change-Id: I663497e33c6e7457d2204f3d6116f90ea25ebbda Signed-off-by: Vratko Polak --- csit/suites/distribution/size.robot | 34 ++++++++++++++++++++ csit/suites/distribution/version.robot | 5 ++- csit/testplans/distribution-userfeatures.txt | 3 +- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 csit/suites/distribution/size.robot diff --git a/csit/suites/distribution/size.robot b/csit/suites/distribution/size.robot new file mode 100644 index 0000000000..5cdbb2deb6 --- /dev/null +++ b/csit/suites/distribution/size.robot @@ -0,0 +1,34 @@ +*** Settings *** +Documentation Suite for testing ODL distribution zip file size. +... +... Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. +... +... This program and the accompanying materials are made available under the +... terms of the Eclipse Public License v1.0 which accompanies this distribution, +... and is available at http://www.eclipse.org/legal/epl-v10.html +... +... +... Variables needed to be rovided on pybot invocation: +... ${BUNDLEFOLDER} (directory name of ODL installation, as it is suffxed by the distribution version). +... This suite assumes the .zip file is stll present on ${ODL_SYSTEM_IP} in ${WORKSPACE} directory. +Suite Setup SetupUtils.Setup_Utils_For_Setup_And_Teardown +Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing +Test Teardown SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed +Default Tags critical distribution size +Resource ${CURDIR}/../../libraries/SetupUtils.robot +Resource ${CURDIR}/../../libraries/SSHKeywords.robot + +*** Variables *** +${BUNDLE_PREFIX} distribution-karaf # BUNDLEFOLDER may contain -SNAPSHOT part, which is not present in the archive name. +${BUNDLE_SUFFIX} .zip +${DISTRIBUTION_SIZE_LIMIT} 469762048 # == 7 * 64 MiB, Nexus limit is 8 * 64 MiB. + +*** Test Cases *** +Distribution_Size + [Documentation] Run "ls" on ODL_SYSTEM, parse file size and compare to ${DISTRIBUTION_SIZE_LIMIT}. + SSHKeywords.Open_Connection_To_ODL_System + # TODO: 'du -b' is shorter, but gives less info. Is that better than ls? + ${ls_output} = SSHKeywords.Execute_Command_Should_Pass command=bash -c 'ls -lAn ${WORKSPACE}/${BUNDLE_PREFIX}*${BUNDLE_SUFFIX}' + ${size} = SSHKeywords.Execute_Command_Should_Pass command=echo '${ls_output}' | cut -d ' ' -f 5 + # The following probably fails of there were multiple *.zip files listed. + BuiltIn.Should_Be_True ${size} < ${DISTRIBUTION_SIZE_LIMIT} Distribution size ${size} is not smaller than limit ${DISTRIBUTION_SIZE_LIMIT}. diff --git a/csit/suites/distribution/version.robot b/csit/suites/distribution/version.robot index 8e74a02e2a..62875547bc 100644 --- a/csit/suites/distribution/version.robot +++ b/csit/suites/distribution/version.robot @@ -18,10 +18,13 @@ Documentation Suite for testing ODL distribution ability to report ist versi ... ... This suite require both Restconf and Netconf-connector to be ready, ... so it is recommended to run netconfready.robot before running this suite. +... +... TODO: Figure out a way to reliably predict Odlparent version. +... Possibly, inspection of system/org/opendaylight/odlparent/ would be required. Suite Setup Suite_Setup Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed -Default Tags critical +Default Tags critical distribution version Resource ${CURDIR}/../../libraries/TemplatedRequests.robot Resource ${CURDIR}/../../libraries/SetupUtils.robot diff --git a/csit/testplans/distribution-userfeatures.txt b/csit/testplans/distribution-userfeatures.txt index 56349db583..a549628524 100644 --- a/csit/testplans/distribution-userfeatures.txt +++ b/csit/testplans/distribution-userfeatures.txt @@ -1,9 +1,10 @@ -# Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. +# Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License v1.0 which accompanies this distribution, # and is available at http://www.eclipse.org/legal/epl-v10.html # Place the suites in run order: +integration/test/csit/suites/distribution/size.robot integration/test/csit/suites/netconf/ready/netconfready.robot integration/test/csit/suites/distribution/version.robot -- 2.36.6