Do not use DEVICE_COUNT in NetconfKeywords 78/31278/6
authorJozef Behran <jbehran@cisco.com>
Mon, 14 Dec 2015 14:04:08 +0000 (15:04 +0100)
committerVratko Polák <vrpolak@cisco.com>
Fri, 8 Jan 2016 16:53:31 +0000 (16:53 +0000)
Using DEVICE_COUNT in NetconfKeywords is not kosher because
that variable is declared in the scaling test suite that uses
the NetconfKeywords resource and thus this dependency is not
obvious. If another suite that does not declare DEVICE_COUNT
tries to use Perform_Operation_On_Each_Device, the keyword
will mysteriously fail on "DEVICE_COUNT variable was not
found".

The fix stores the count on devices in
Deploy_And_Start_Testtool keyword and uses this stored count
in Perform_Operation_On_Each_Device.

Change-Id: If187d3fd0a1cb426beeeb4db3077e07377e7228d
Signed-off-by: Jozef Behran <jbehran@cisco.com>
csit/libraries/NetconfKeywords.robot

index 5a124e5c2f4f89e200fbed391bee795db671a6f6..74f6b8cda962d96b844f2dc17118cdd3989be294 100644 (file)
@@ -142,6 +142,8 @@ Install_And_Start_Testtool
     # Wait for the testtool to boot up.
     ${timeout}=    BuiltIn.Evaluate    (${device-count}/3)+5
     BuiltIn.Wait_Until_Keyword_Succeeds    ${timeout}s    1s    NetconfKeywords__Check_Device_Is_Up    ${FIRST_TESTTOOL_PORT}
+    # Store information needed by other keywords.
+    BuiltIn.Set_Suite_Variable    ${NetconfKeywords__testtool_device_count}    ${device-count}
 
 Check_Device_Up_And_Running
     [Arguments]    ${device-number}
@@ -171,7 +173,7 @@ NetconfKeywords__Perform_Operation_With_Checking_On_Next_Device
     BuiltIn.Set_Suite_Variable    ${current_port}    ${next}
 
 Perform_Operation_On_Each_Device
-    [Arguments]    ${operation}    ${count}=${DEVICE_COUNT}    ${timeout}=30m
+    [Arguments]    ${operation}    ${count}=${NetconfKeywords__testtool_device_count}    ${timeout}=30m
     ${current_Date}=    DateTime.Get_Current_Date
     ${deadline_Date}=    DateTime.Add_Time_To_Date    ${current_Date}    ${timeout}
     BuiltIn.Set_Suite_Variable    ${current_port}    ${BASE_NETCONF_DEVICE_PORT}