svn commit: [26060] trunk/busybox/shell: hush_test/hush-misc hush_test/hush-z_sl etc...

vda at busybox.net vda at busybox.net
Fri Apr 10 23:23:42 UTC 2009


Author: vda
Date: 2009-04-10 23:23:41 +0000 (Fri, 10 Apr 2009)
New Revision: 26060

Log:
hush: add function tests



Added:
   trunk/busybox/shell/hush_test/hush-misc/func1.right
   trunk/busybox/shell/hush_test/hush-misc/func1.tests
   trunk/busybox/shell/hush_test/hush-misc/func2.right
   trunk/busybox/shell/hush_test/hush-misc/func2.tests

Modified:
   trunk/busybox/shell/hush.c
   trunk/busybox/shell/hush_test/hush-z_slow/leak_all1.tests
   trunk/busybox/shell/hush_test/hush-z_slow/leak_all2.tests


Changeset:
Modified: trunk/busybox/shell/hush.c
===================================================================
--- trunk/busybox/shell/hush.c	2009-04-10 21:57:50 UTC (rev 26059)
+++ trunk/busybox/shell/hush.c	2009-04-10 23:23:41 UTC (rev 26060)
@@ -5,7 +5,7 @@
  * "small and simple is beautiful" philosophy, which
  * incidentally is a good match to today's BusyBox.
  *
- * Copyright (C) 2000,2001  Larry Doolittle  <larry at doolittle.boa.org>
+ * Copyright (C) 2000,2001  Larry Doolittle <larry at doolittle.boa.org>
  * Copyright (C) 2008,2009  Denys Vlasenko <vda.linux at googlemail.com>
  *
  * Credits:
@@ -68,7 +68,7 @@
 #include <glob.h>
 /* #include <dmalloc.h> */
 #if ENABLE_HUSH_CASE
-#include <fnmatch.h>
+# include <fnmatch.h>
 #endif
 #include "math.h"
 #include "match.h"
@@ -100,31 +100,31 @@
 
 #if defined SINGLE_APPLET_MAIN
 /* STANDALONE does not make sense, and won't compile */
-#undef CONFIG_FEATURE_SH_STANDALONE
-#undef ENABLE_FEATURE_SH_STANDALONE
-#undef USE_FEATURE_SH_STANDALONE
-#define SKIP_FEATURE_SH_STANDALONE(...) __VA_ARGS__
-#define ENABLE_FEATURE_SH_STANDALONE 0
-#define USE_FEATURE_SH_STANDALONE(...)
-#define SKIP_FEATURE_SH_STANDALONE(...) __VA_ARGS__
+# undef CONFIG_FEATURE_SH_STANDALONE
+# undef ENABLE_FEATURE_SH_STANDALONE
+# undef USE_FEATURE_SH_STANDALONE
+# define SKIP_FEATURE_SH_STANDALONE(...) __VA_ARGS__
+# define ENABLE_FEATURE_SH_STANDALONE 0
+# define USE_FEATURE_SH_STANDALONE(...)
+# define SKIP_FEATURE_SH_STANDALONE(...) __VA_ARGS__
 #endif
 
 #if !ENABLE_HUSH_INTERACTIVE
-#undef ENABLE_FEATURE_EDITING
-#define ENABLE_FEATURE_EDITING 0
-#undef ENABLE_FEATURE_EDITING_FANCY_PROMPT
-#define ENABLE_FEATURE_EDITING_FANCY_PROMPT 0
+# undef ENABLE_FEATURE_EDITING
+# define ENABLE_FEATURE_EDITING 0
+# undef ENABLE_FEATURE_EDITING_FANCY_PROMPT
+# define ENABLE_FEATURE_EDITING_FANCY_PROMPT 0
 #endif
 
 /* Do we support ANY keywords? */
 #if ENABLE_HUSH_IF || ENABLE_HUSH_LOOPS || ENABLE_HUSH_CASE
-#define HAS_KEYWORDS 1
-#define IF_HAS_KEYWORDS(...) __VA_ARGS__
-#define IF_HAS_NO_KEYWORDS(...)
+# define HAS_KEYWORDS 1
+# define IF_HAS_KEYWORDS(...) __VA_ARGS__
+# define IF_HAS_NO_KEYWORDS(...)
 #else
-#define HAS_KEYWORDS 0
-#define IF_HAS_KEYWORDS(...)
-#define IF_HAS_NO_KEYWORDS(...) __VA_ARGS__
+# define HAS_KEYWORDS 0
+# define IF_HAS_KEYWORDS(...)
+# define IF_HAS_NO_KEYWORDS(...) __VA_ARGS__
 #endif
 
 /* If you comment out one of these below, it will be #defined later

Added: trunk/busybox/shell/hush_test/hush-misc/func1.right
===================================================================
--- trunk/busybox/shell/hush_test/hush-misc/func1.right	                        (rev 0)
+++ trunk/busybox/shell/hush_test/hush-misc/func1.right	2009-04-10 23:23:41 UTC (rev 26060)
@@ -0,0 +1,6 @@
+Hello
+Zero: 0
+One: 1 Param1: World
+Zero: 0 Param1: Restored
+Multi line function
+One: 1

Added: trunk/busybox/shell/hush_test/hush-misc/func1.tests
===================================================================
--- trunk/busybox/shell/hush_test/hush-misc/func1.tests	                        (rev 0)
+++ trunk/busybox/shell/hush_test/hush-misc/func1.tests	2009-04-10 23:23:41 UTC (rev 26060)
@@ -0,0 +1,16 @@
+f() { echo Hello; }
+g () { echo One: $# Param1: $1; }
+h ( )
+{
+    echo -n 'Multi ' && echo -n 'line '
+    echo function
+    false
+}
+
+f
+echo Zero: $?
+set -- Restored
+{ g World; }
+echo Zero: $? Param1: $1
+( h )
+echo One: $?


Property changes on: trunk/busybox/shell/hush_test/hush-misc/func1.tests
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/busybox/shell/hush_test/hush-misc/func2.right
===================================================================
--- trunk/busybox/shell/hush_test/hush-misc/func2.right	                        (rev 0)
+++ trunk/busybox/shell/hush_test/hush-misc/func2.right	2009-04-10 23:23:41 UTC (rev 26060)
@@ -0,0 +1,5 @@
+First 0
+Second 0
+First 1
+Second 1
+Done

Added: trunk/busybox/shell/hush_test/hush-misc/func2.tests
===================================================================
--- trunk/busybox/shell/hush_test/hush-misc/func2.tests	                        (rev 0)
+++ trunk/busybox/shell/hush_test/hush-misc/func2.tests	2009-04-10 23:23:41 UTC (rev 26060)
@@ -0,0 +1,9 @@
+i=0
+while test $i != 2; do
+    f() { echo First $i; }
+    f
+    f() { echo Second $i; }
+    f
+    : $((i++))
+done
+echo Done


Property changes on: trunk/busybox/shell/hush_test/hush-misc/func2.tests
___________________________________________________________________
Added: svn:executable
   + *

Modified: trunk/busybox/shell/hush_test/hush-z_slow/leak_all1.tests
===================================================================
--- trunk/busybox/shell/hush_test/hush-z_slow/leak_all1.tests	2009-04-10 21:57:50 UTC (rev 26059)
+++ trunk/busybox/shell/hush_test/hush-z_slow/leak_all1.tests	2009-04-10 23:23:41 UTC (rev 26060)
@@ -27,6 +27,8 @@
     { : /bin/*; }
     set -- par1_$i par2_$i par3_$i par4_$i
     trap "echo trap$i" WINCH
+    f() { echo $1; }
+    f >/dev/null
     : $((i++))
 done
 
@@ -55,6 +57,8 @@
     { : /bin/*; }
     set -- par1_$i par2_$i par3_$i par4_$i
     trap "echo trap$i" WINCH
+    f() { echo $1; }
+    f >/dev/null
     : $((i++))
 done
 

Modified: trunk/busybox/shell/hush_test/hush-z_slow/leak_all2.tests
===================================================================
--- trunk/busybox/shell/hush_test/hush-z_slow/leak_all2.tests	2009-04-10 21:57:50 UTC (rev 26059)
+++ trunk/busybox/shell/hush_test/hush-z_slow/leak_all2.tests	2009-04-10 23:23:41 UTC (rev 26060)
@@ -27,6 +27,8 @@
 } 1<>/dev/null
 while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
 ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
+f() { echo $1; }
+f >/dev/null
 
 memleak
 
@@ -53,6 +55,8 @@
 } 1<>/dev/null
 while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
 ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
+f() { echo $1; }
+f >/dev/null
 
 # And same again
 
@@ -77,6 +81,8 @@
 } 1<>/dev/null
 while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
 ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
+f() { echo $1; }
+f >/dev/null
 
 memleak
 kb=$?



More information about the busybox-cvs mailing list