Binding Outbound Filter Export Test
[Documentation] Test binding export speed with Outbound filter and multiple passrates.
Add Bindings Range 112 84213760 ${EXPORT_AMOUNT}
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate int(math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 )) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Setup Filter ${num} outbound
- \ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate int(math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 )) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Setup Filter ${num} outbound
+ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Inbound Filter Forwarding Export Test
[Documentation] Test binding forwarding speed with Inbound filter and multiple passrates.
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Setup Filter ${num} inbound-discarding
- \ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Setup Filter ${num} inbound-discarding
+ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Inbound-Discarding Filter Forwarding Export Test
[Documentation] Test binding forwarding speed with Inbound-discarding filter and multiple passrates.
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Setup Filter ${num} inbound-discarding
- \ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Setup Filter ${num} inbound-discarding
+ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Domain Filter Export Test
[Documentation] Test binding export speed with domain filter and multiple passrates.
Add Bindings Range 112 84213760 ${EXPORT_AMOUNT}
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
- \ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
+ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Domain Filter Forwarding Export Test
[Documentation] Test binding forward speed with domain filter and multiple passrates.
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
- \ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
+ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Combined Filter Export Test
[Documentation] Test binding export speed with domain filter, Outbound filter and multiple passrates.
Add Bindings Range 112 84213760 ${EXPORT_AMOUNT}
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
- \ Setup Filter ${num} outbound
- \ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
+ Setup Filter ${num} outbound
+ ${export_speed} Simple Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
Binding Combined Filter Forwarding Export Test
[Documentation] Test binding forward speed with domain filter, Inbound-discarding filter and multiple passrates.
- : FOR ${num} IN RANGE 16 20
- \ ${passrate} Evaluate 100.0/(2**(${num} - 16))
- \ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
- \ ${exported_bindings} Convert To String ${exported_bindings}
- \ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
- \ Setup Filter ${num} inbound-discarding
- \ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
- \ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
- \ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ FOR ${num} IN RANGE 16 20
+ ${passrate} Evaluate 100.0/(2**(${num} - 16))
+ ${exported_bindings} Evaluate math.ceil( ${EXPORT_AMOUNT}*${passrate}/100 ) modules=math
+ ${exported_bindings} Convert To String ${exported_bindings}
+ Run Keyword And Ignore Error Setup Domain Filter ${num} ${DOMAIN_1}
+ Setup Filter ${num} inbound-discarding
+ ${export_speed} Forwarding Export ${exported_bindings} ${TEST_SAMPLES} ${DOMAIN_1}
+ Log Outbound Export speed ${export_speed} with passrate ${passrate}%.
+ Should Be True ${export_speed} > ${MINIMAL_SPEED}
+ END
*** Keywords ***
Setup Binding Export Topology
[Arguments] ${version}=version4 ${PASSWORD}=${EMPTY} ${destination_nodes}=3 ${destination_domain}=global
[Documentation] Adds connections to local and remote nodes and wait until they are connected
Setup Simple Binding Export Topology ${version} ${PASSWORD} ${destination_nodes} 1 ${destination_domain}
- : FOR ${num} IN RANGE 0 ${destination_nodes}
- \ ${DESTINATION_NODE} Get Ip From Number And Ip ${num} ${DESTINATION_IP}
- \ ExportLibrary.Add Connection ${version} listener 127.0.0.1 64999 ${PASSWORD}
- \ ... ${DESTINATION_NODE}
- \ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker
- \ ... ${DESTINATION_NODE} 64999 domain=${destination_domain}
+ FOR ${num} IN RANGE 0 ${destination_nodes}
+ ${DESTINATION_NODE} Get Ip From Number And Ip ${num} ${DESTINATION_IP}
+ ExportLibrary.Add Connection ${version} listener 127.0.0.1 64999 ${PASSWORD}
+ ... ${DESTINATION_NODE}
+ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker
+ ... ${DESTINATION_NODE} 64999 domain=${destination_domain}
+ END
Setup Simple Binding Export Topology
[Arguments] ${version}=version4 ${PASSWORD}=${EMPTY} ${destination_nodes}=3 ${source_nodes}=1 ${destination_domain}=global
[Documentation] Adds connections to local and remote nodes and wait until they are connected
- : FOR ${num} IN RANGE 0 ${source_nodes}
- \ ${SOURCE_NODE} Get Ip From Number And Ip ${num} ${SOURCE_IP}
- \ ExportLibrary.Add Node ${SOURCE_NODE} ${version} 64999 ${PASSWORD}
- \ ExportLibrary.Add Connection ${version} speaker 127.0.0.1 64999 ${PASSWORD}
- \ ... ${SOURCE_NODE}
- : FOR ${num} IN RANGE 0 ${destination_nodes}
- \ ${DESTINATION_NODE} Get Ip From Number And Ip ${num} ${DESTINATION_IP}
- \ ExportLibrary.Add Destination Node ${DESTINATION_NODE} ${version} 64999 ${PASSWORD}
- \ Add Connection ${version} speaker ${DESTINATION_NODE} 64999 password=${PASSWORD}
- \ ... domain=${destination_domain}
+ FOR ${num} IN RANGE 0 ${source_nodes}
+ ${SOURCE_NODE} Get Ip From Number And Ip ${num} ${SOURCE_IP}
+ ExportLibrary.Add Node ${SOURCE_NODE} ${version} 64999 ${PASSWORD}
+ ExportLibrary.Add Connection ${version} speaker 127.0.0.1 64999 ${PASSWORD}
+ ... ${SOURCE_NODE}
+ END
+ FOR ${num} IN RANGE 0 ${destination_nodes}
+ ${DESTINATION_NODE} Get Ip From Number And Ip ${num} ${DESTINATION_IP}
+ ExportLibrary.Add Destination Node ${DESTINATION_NODE} ${version} 64999 ${PASSWORD}
+ Add Connection ${version} speaker ${DESTINATION_NODE} 64999 password=${PASSWORD}
+ ... domain=${destination_domain}
+ END
ExportLibrary.Start Nodes
- : FOR ${num} IN RANGE 0 ${source_nodes}
- \ ${SOURCE_NODE} Get Ip From Number And Ip ${num} ${SOURCE_IP}
- \ Add Connection ${version} listener ${SOURCE_NODE} 64999 password=${PASSWORD}
- \ Wait Until Keyword Succeeds 60 2 Verify Connection ${version} listener
- \ ... ${SOURCE_NODE} 64999
+ FOR ${num} IN RANGE 0 ${source_nodes}
+ ${SOURCE_NODE} Get Ip From Number And Ip ${num} ${SOURCE_IP}
+ Add Connection ${version} listener ${SOURCE_NODE} 64999 password=${PASSWORD}
+ Wait Until Keyword Succeeds 60 2 Verify Connection ${version} listener
+ ... ${SOURCE_NODE} 64999
+ END
Simple Export
[Arguments] ${check_amount} ${samples}=10 ${destination_domain}=global
[Documentation] Starts SXP nodes and checks if bindings are already exported, this is repeated N times
@{ITEMS} Create List
- : FOR ${num} IN RANGE 0 ${samples}
- \ Setup Simple Binding Export Topology destination_domain=${destination_domain}
- \ ExportLibrary.Set Export Amount ${check_amount}
- \ ExportLibrary.Initiate Simple Export 127.0.0.1
- \ ${ELEMENT} Wait Until Keyword Succeeds 120 1 Check Bindings Exported
- \ Append To List ${ITEMS} ${ELEMENT}
- \ Test Clean
+ FOR ${num} IN RANGE 0 ${samples}
+ Setup Simple Binding Export Topology destination_domain=${destination_domain}
+ ExportLibrary.Set Export Amount ${check_amount}
+ ExportLibrary.Initiate Simple Export 127.0.0.1
+ ${ELEMENT} Wait Until Keyword Succeeds 120 1 Check Bindings Exported
+ Append To List ${ITEMS} ${ELEMENT}
+ Test Clean
+ END
Log ${ITEMS}
${export_speed} Get Average Of Items ${ITEMS}
[Return] ${export_speed}
[Arguments] ${check_amount} ${samples}=10 ${destination_domain}=global
[Documentation] Starts SXP nodes and checks if bindings are already forwarded, this is repeated N times
@{ITEMS} Create List
- : FOR ${num} IN RANGE 0 ${samples}
- \ Setup Binding Export Topology destination_domain=${destination_domain}
- \ ExportLibrary.Set Export Amount ${check_amount}
- \ ExportLibrary.Initiate Export 132.5.0.0/16 112
- \ ${ELEMENT} Wait Until Keyword Succeeds 360 1 Check Bindings Exported
- \ Append To List ${ITEMS} ${ELEMENT}
- \ Test Clean
+ FOR ${num} IN RANGE 0 ${samples}
+ Setup Binding Export Topology destination_domain=${destination_domain}
+ ExportLibrary.Set Export Amount ${check_amount}
+ ExportLibrary.Initiate Export 132.5.0.0/16 112
+ ${ELEMENT} Wait Until Keyword Succeeds 360 1 Check Bindings Exported
+ Append To List ${ITEMS} ${ELEMENT}
+ Test Clean
+ END
Log ${ITEMS}
${export_speed} Get Average Of Items ${ITEMS}
[Return] ${export_speed}