summaryrefslogtreecommitdiffstats
path: root/kjsembed/tests/test_shellexec.js
diff options
context:
space:
mode:
Diffstat (limited to 'kjsembed/tests/test_shellexec.js')
-rw-r--r--kjsembed/tests/test_shellexec.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/kjsembed/tests/test_shellexec.js b/kjsembed/tests/test_shellexec.js
new file mode 100644
index 00000000..51a2fbdd
--- /dev/null
+++ b/kjsembed/tests/test_shellexec.js
@@ -0,0 +1,44 @@
+#!/usr/bin/env kjscmd
+
+println( "Hello World" );
+var proc = new Process(this);
+proc.connect( proc, "readyReadStdout()", this, "stdOut" );
+proc.connect( proc, "readyReadStderr()", this, "stdError" );
+proc.connect( proc, "processExited()", this, "done" );
+
+proc.addArgument("ps");
+proc.addArgument("-l");
+
+if ( !proc.start() )
+{
+ println( "Could not start process" );
+}
+
+println( "test single cmd" );
+
+var output = shell("ps aux");
+println( "Shell responds: " + output );
+
+application.exec();
+
+function done()
+{
+ while ( proc.canReadLineStdout )
+ stdOut();
+ while ( proc.canReadLineStderr )
+ stdError();
+ println("Process done with " + proc.exitStatus );
+ exit(0);
+}
+
+function stdError( )
+{
+ var errorMessage = proc.readLineStderr();
+ println( "StdErr: " + errorMessage );
+}
+
+function stdOut( )
+{
+ var message = proc.readLineStdout();
+ println( "StdOut: " + message );
+} \ No newline at end of file