summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger2009-04-06 12:36:10 +0000
committerMike Frysinger2009-04-06 12:36:10 +0000
commit3c7167b508977997bb4ae43f12b34e60e9d3ba91 (patch)
tree8fa9467165daa79ad9f85daf0fd9360b1e8706b0
parentdc4178050a9e150d26fe7041191a5d124fcdf03c (diff)
downloadbusybox-3c7167b508977997bb4ae43f12b34e60e9d3ba91.zip
busybox-3c7167b508977997bb4ae43f12b34e60e9d3ba91.tar.gz
add tests for basic fd open/close/dupe
-rw-r--r--shell/hush_test/hush-misc/exec.right6
-rw-r--r--shell/hush_test/hush-misc/exec.tests30
2 files changed, 36 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/exec.right b/shell/hush_test/hush-misc/exec.right
new file mode 100644
index 0000000..a0de608
--- /dev/null
+++ b/shell/hush_test/hush-misc/exec.right
@@ -0,0 +1,6 @@
+pass fd out open
+pass fd out dup
+pass fd out close
+pass fd in open
+pass fd in dup
+pass fd in close
diff --git a/shell/hush_test/hush-misc/exec.tests b/shell/hush_test/hush-misc/exec.tests
new file mode 100644
index 0000000..01a7f59
--- /dev/null
+++ b/shell/hush_test/hush-misc/exec.tests
@@ -0,0 +1,30 @@
+# make sure we have a way of checking these things
+[ ! -e /dev/fd ] && exit 1
+
+[ -e /dev/fd/44 ] && exit 1
+exec 44>/dev/null
+[ -e /dev/fd/44 ] || exit 1
+echo pass fd out open
+
+[ -e /dev/fd/55 ] && exit 1
+exec 55>&44
+[ -e /dev/fd/55 ] || exit 1
+echo pass fd out dup
+
+exec 44>&-
+[ -e /dev/fd/44 ] && exit 1
+echo pass fd out close
+
+[ -e /dev/fd/66 ] && exit 1
+exec 66</dev/null
+[ -e /dev/fd/66 ] || exit 1
+echo pass fd in open
+
+[ -e /dev/fd/77 ] && exit 1
+exec 77<&66
+[ -e /dev/fd/77 ] || exit 1
+echo pass fd in dup
+
+exec 66<&-
+[ -e /dev/fd/66 ] && exit 1
+echo pass fd in close