about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-11 12:37:09 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-11 13:57:11 -0800
commit94c389a25bde3f86f25e45b2a31d09bf72d8deeb (patch)
tree0247627ef16661479947540d67f4d89d1d115468 /src/test
parentc00ec5f9c936639ec2fd9291cd484afa56aa24c8 (diff)
downloadrust-94c389a25bde3f86f25e45b2a31d09bf72d8deeb.tar.gz
rust-94c389a25bde3f86f25e45b2a31d09bf72d8deeb.zip
rt: Add RUST_MAX_STACK env var with 8MB default
Closes #1489
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-fail/too-much-recursion.rs7
-rw-r--r--src/test/run-pass/morestack2.rs2
-rw-r--r--src/test/run-pass/morestack3.rs2
-rw-r--r--src/test/run-pass/morestack4.rs80
-rw-r--r--src/test/run-pass/too-much-recursion.rs12
5 files changed, 61 insertions, 42 deletions
diff --git a/src/test/run-fail/too-much-recursion.rs b/src/test/run-fail/too-much-recursion.rs
new file mode 100644
index 00000000000..db244bd0435
--- /dev/null
+++ b/src/test/run-fail/too-much-recursion.rs
@@ -0,0 +1,7 @@
+// error-pattern:ran out of stack
+
+// Test that the task fails after hiting the recursion limit
+
+fn main() {
+    main();
+}
\ No newline at end of file
diff --git a/src/test/run-pass/morestack2.rs b/src/test/run-pass/morestack2.rs
index ad46265fb93..a7e2c11cc01 100644
--- a/src/test/run-pass/morestack2.rs
+++ b/src/test/run-pass/morestack2.rs
@@ -10,5 +10,5 @@ fn getbig(i: int) -> int {
 }
 
 fn main() {
-    getbig(100000);
+    getbig(10000);
 }
\ No newline at end of file
diff --git a/src/test/run-pass/morestack3.rs b/src/test/run-pass/morestack3.rs
index 7f38c34347b..2ba7945894a 100644
--- a/src/test/run-pass/morestack3.rs
+++ b/src/test/run-pass/morestack3.rs
@@ -37,6 +37,6 @@ fn getbig(a0: int,
 }
 
 fn main() {
-    let a = 100000;
+    let a = 10000;
     getbig(a, a+1, a+2, a+3, a+4, a+5, a+6, a+7, a+8, a+9);
 }
\ No newline at end of file
diff --git a/src/test/run-pass/morestack4.rs b/src/test/run-pass/morestack4.rs
index 1883f0e3ea9..13200ee4ec9 100644
--- a/src/test/run-pass/morestack4.rs
+++ b/src/test/run-pass/morestack4.rs
@@ -53,45 +53,45 @@ fn getbig(i: biggy) {
 
 fn main() {
     getbig({
-        a00: 100000u64,
-        a01: 100000u64,
-        a02: 100000u64,
-        a03: 100000u64,
-        a04: 100000u64,
-        a05: 100000u64,
-        a06: 100000u64,
-        a07: 100000u64,
-        a08: 100000u64,
-        a09: 100000u64,
-        a10: 100000u64,
-        a11: 100000u64,
-        a12: 100000u64,
-        a13: 100000u64,
-        a14: 100000u64,
-        a15: 100000u64,
-        a16: 100000u64,
-        a17: 100000u64,
-        a18: 100000u64,
-        a19: 100000u64,
-        a20: 100000u64,
-        a21: 100000u64,
-        a22: 100000u64,
-        a23: 100000u64,
-        a24: 100000u64,
-        a25: 100000u64,
-        a26: 100000u64,
-        a27: 100000u64,
-        a28: 100000u64,
-        a29: 100000u64,
-        a30: 100000u64,
-        a31: 100000u64,
-        a32: 100000u64,
-        a33: 100000u64,
-        a34: 100000u64,
-        a35: 100000u64,
-        a36: 100000u64,
-        a37: 100000u64,
-        a38: 100000u64,
-        a39: 100000u64,
+        a00: 10000u64,
+        a01: 10000u64,
+        a02: 10000u64,
+        a03: 10000u64,
+        a04: 10000u64,
+        a05: 10000u64,
+        a06: 10000u64,
+        a07: 10000u64,
+        a08: 10000u64,
+        a09: 10000u64,
+        a10: 10000u64,
+        a11: 10000u64,
+        a12: 10000u64,
+        a13: 10000u64,
+        a14: 10000u64,
+        a15: 10000u64,
+        a16: 10000u64,
+        a17: 10000u64,
+        a18: 10000u64,
+        a19: 10000u64,
+        a20: 10000u64,
+        a21: 10000u64,
+        a22: 10000u64,
+        a23: 10000u64,
+        a24: 10000u64,
+        a25: 10000u64,
+        a26: 10000u64,
+        a27: 10000u64,
+        a28: 10000u64,
+        a29: 10000u64,
+        a30: 10000u64,
+        a31: 10000u64,
+        a32: 10000u64,
+        a33: 10000u64,
+        a34: 10000u64,
+        a35: 10000u64,
+        a36: 10000u64,
+        a37: 10000u64,
+        a38: 10000u64,
+        a39: 10000u64,
     });
 }
\ No newline at end of file
diff --git a/src/test/run-pass/too-much-recursion.rs b/src/test/run-pass/too-much-recursion.rs
new file mode 100644
index 00000000000..a10774d8f2b
--- /dev/null
+++ b/src/test/run-pass/too-much-recursion.rs
@@ -0,0 +1,12 @@
+// error-pattern:ran out of stack
+
+// Test that the task fails after hiting the recursion limit, but
+// that it doesn't bring down the whole proc
+
+fn main() {
+    task::spawn {||
+        task::unsupervise();
+        fn f() { f() };
+        f();
+    };
+}
\ No newline at end of file