diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-01-11 12:37:09 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-01-11 13:57:11 -0800 |
| commit | 94c389a25bde3f86f25e45b2a31d09bf72d8deeb (patch) | |
| tree | 0247627ef16661479947540d67f4d89d1d115468 /src/test | |
| parent | c00ec5f9c936639ec2fd9291cd484afa56aa24c8 (diff) | |
| download | rust-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.rs | 7 | ||||
| -rw-r--r-- | src/test/run-pass/morestack2.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/morestack3.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/morestack4.rs | 80 | ||||
| -rw-r--r-- | src/test/run-pass/too-much-recursion.rs | 12 |
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 |
