aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/example-script.rsb4
-rwxr-xr-xexamples/script-example.py17
2 files changed, 19 insertions, 2 deletions
diff --git a/examples/example-script.rsb b/examples/example-script.rsb
index 8b5c714..f00ff42 100644
--- a/examples/example-script.rsb
+++ b/examples/example-script.rsb
@@ -33,7 +33,9 @@ echo2, 18 &ev4| $sb run_client_of $Server.server_b
1.2 &ev5| run_client_of $Server.server_c
# Events need _not_ be in temporal order
# if no object ($ handle) is provided, the storyboard
-# is assumed as the object/
+# is assumed as the object
+
+14 | $Node.node_a set_link_state $ShimEthDIF.e1 'up'
diff --git a/examples/script-example.py b/examples/script-example.py
index 316a1d1..6cfaf42 100755
--- a/examples/script-example.py
+++ b/examples/script-example.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python
# An example script leveraging the storyboard scripting functionality
+from functools import partial
from rumba.storyboard import *
from rumba.model import *
@@ -83,6 +84,11 @@ server_c = Server(
s_id='server_c'
)
+typewriter = Client(
+ "touch test_file",
+ shutdown=""
+)
+
if __name__ == '__main__':
story = StoryBoard(30)
@@ -93,7 +99,16 @@ if __name__ == '__main__':
client_a.add_node(node_b)
client_b.add_node(node_b)
client_c.add_node(node_b)
- story.parse_script_file('example-script.rsb')
+ script_file = os.path.join(
+ os.path.dirname(__file__),
+ 'example-script.rsb'
+ )
+ story.parse_script_file(script_file)
+ cb = partial(story.run_command, node_a, "ls -l test_file")
+ # This will return a file, because it will run after
+ # Triggering_event
+ action = partial(story.run_client, typewriter, 0.2, node=node_a, callback=cb)
+ story.add_event(Event(action, ev_time=12, ev_id='Triggering_event'))
log.flush_log()
with ExperimentManager(exp):
exp.swap_in()