*** Settings ***
Documentation Robot keyword library (Resource) with several Keywords for monitoring and waiting.
-...
+...
... Copyright (c) 2015 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
-...
-...
+...
+...
... BuiltIn.Wait_Until_Keyword_Succeeds has two possible results: Fast pass or fail on timeout.
... Generally, keywords in this Resource also allow for some kind of fast failure condition.
... This usually requires more than a single keyword to run inside the iteration loop.
... This library uses ScalarClosures for plugging in specific (multiple) Keywords.
-...
+...
... Storing private state in suite variables is easy, but it can lead to hard-to-debug issues,
... so this library tries to support explicit state passing.
... Unfortunately, failing limits type of message to return,
... so implementation of some Keywords looks quite convoluted.
-...
+...
... Particular closures are to be given by caller:
... Stateless Assertor: Take no arguments. Return comment or Fail with message.
... Stateful Assertor: Take single ${state} argument. Return new state and comment, or Fail with message.
... (Unsafe) Stateful Validator: Take ${state} and ${data} arguments. Return new state and comment, or Fail with message.
... Safe Stateful Validator: Take ${state} and ${data} arguments. Return new state, validation status and comment/message.
... TODO: Create a dummy closure for each type to be used as default value?
-...
+...
... TODO: Figure out a way to merge this with WaitForFailure.robot
... TODO: Add Keywords that are Safe (return state, success and message)
... so that callers do not need to refresh state explicitly.