[linux-yocto] [meta-realtime][PATCH 1/1] create a script directory and add a script to run test program and collect data
Insop Song
insop.song at gmail.com
Tue Mar 19 04:14:20 PDT 2013
- run_rt-app.py runs rt-app on the target machine and collects the
output log to host
- how to run:
$ fab -f run_rt-app.py run_app
Note: requires fabric (python program) on the host
Signed-off-by: Insop Song <insop.song at gmail.com>
---
docs/00-INDEX | 4 +--
docs/00-README | 6 ++--
scripts/README | 1 +
scripts/run_rt-app.py | 88 +++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 94 insertions(+), 5 deletions(-)
create mode 100644 scripts/README
create mode 100644 scripts/run_rt-app.py
diff --git a/docs/00-INDEX b/docs/00-INDEX
index 41d83a5..878e5d0 100644
--- a/docs/00-INDEX
+++ b/docs/00-INDEX
@@ -1,4 +1,4 @@
-This is a brief list of all the files in meta-virtualization/docs and what
+This is a brief list of all the files in meta-realtime/docs and what
they contain. If you add a documentation file, please list it here in
alphabetical order as well.
@@ -6,5 +6,5 @@ alphabetical order as well.
- this file.
00-README
- - info on the goals of meta-virtualization and this docs subdir
+ - info on the goals of meta-realtime and this docs subdir
diff --git a/docs/00-README b/docs/00-README
index 6fea112..f20baca 100644
--- a/docs/00-README
+++ b/docs/00-README
@@ -1,6 +1,6 @@
-meta-virtualization: docs
+meta-realtime: docs
=========================
-The docs subdirectory is a holding tank for meta-virtualization related
+The docs subdirectory is a holding tank for meta-realtime related
READMEs, documentation, testing information, configuration and other
-notes that help the users of meta-virt.
+notes that help the users of meta-realtime.
diff --git a/scripts/README b/scripts/README
new file mode 100644
index 0000000..48034e6
--- /dev/null
+++ b/scripts/README
@@ -0,0 +1 @@
+This directory contains Various useful scripts for working with meta-realtime
diff --git a/scripts/run_rt-app.py b/scripts/run_rt-app.py
new file mode 100644
index 0000000..3beb20c
--- /dev/null
+++ b/scripts/run_rt-app.py
@@ -0,0 +1,88 @@
+#
+# run rt-app on remote machine and collect the data
+#
+# note:
+#
+# 0. install fabric 1.6 on the develop host
+# - $ pip install fabric
+#
+# 1. copy ssh public key (copy and paste host's "~/.ssh/id_rsa.pub" to the remote's ~/.ssh/authorized_keys)
+#
+# 2. update the "env.hosts" with your remote system
+#
+# 3. run the script from the host
+# - $ fab -f run_rt-app.py run_app
+#
+
+from __future__ import with_statement
+from fabric.api import *
+from fabric.contrib import *
+from fabric.contrib.console import confirm
+
+import socket
+import getpass
+import datetime
+import time
+import datetime
+
+
+env.hosts = ['root at 192.168.1.78']
+remote_ip = env.hosts[0]
+
+now = datetime.datetime.now()
+
+YES = "/usr/bin/yes"
+KILLALL = "/usr/bin/killall"
+SCP = "/usr/bin/scp"
+
+RTAPP = "/usr/bin/rt-app"
+
+period_t = 100000
+run_t = 30000
+
+num_run = 10
+sec_run = 100
+
+dir_name = "/home/root"
+f_name = "rt-app_run_log-%s.txt" % now.strftime("%Y-%m-%d-%H-%M")
+file_name = "%s/%s" % (dir_name, f_name)
+
+def pre():
+ print "\n==========================================================="
+ print "1. Conecting remote : %s" % env.hosts[0]
+ print "===========================================================\n"
+
+ # scripts that runs on the remote
+ un = run("uname -a", quiet=True)
+ hn = run("hostname", quiet=True)
+ print "running script on host [%s], OS[%s]" % (hn, un)
+
+#
+# run the app on the remote and collect the data into log
+#
+def main():
+ print "\n==========================================================="
+ print "2. Running rt-app %s times.." % num_run
+ print "===========================================================\n"
+
+ run('echo \"test log (period = %s, execution time %s) run %s times on each %s sec \n\n\" > %s' % \
+ (period_t, run_t, num_run, sec_run, file_name))
+ for i in range(0, num_run):
+ run("%s -t %s:%s:d -D %s >> %s" % \
+ (RTAPP, period_t, run_t, sec_run, file_name))
+
+#
+# bring the data log to the host
+#
+def post():
+ # running this from local host
+ local("%s %s:%s ." % (SCP, remote_ip, file_name))
+
+ print "\n=============================================================================="
+ print "3. Run finished, and log file ""%s"" is copied to host." % f_name
+ print "==============================================================================\n"
+
+def run_app():
+ pre()
+ main()
+ post()
--
1.7.9.5
More information about the linux-yocto
mailing list