--- /dev/null
+*** 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}.
...
... 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
-# 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