Skip to content

Commit 4597a79

Browse files
committed
test: add performance test for nested modules
1 parent b76608e commit 4597a79

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

tests/repl/test_parser.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,24 @@ fn performance_nested_lists() -> TestResult {
646646
fail_test(r#"[[[[[[[[[[[[[[[[[[[[[[[[[[[["#, "Unexpected end of code")
647647
}
648648

649+
#[test]
650+
fn performance_nested_modules() -> TestResult {
651+
// Parser used to be exponential on deeply nested modules
652+
// TODO: Add a timeout
653+
fail_test(
654+
r#"module foo {
655+
module foo { module foo { module foo { module foo {
656+
module foo { module foo { module foo { module foo {
657+
module foo { module foo { module foo { module foo {
658+
module foo { module foo { module foo { module foo {
659+
module foo { module foo { module foo { module foo {
660+
module foo { module foo { module foo { module foo {
661+
module foo { module foo { module foo { module foo {
662+
use bar.nu }}}}}}}}}}}}}}}}}}}}}}}}}}}}"#,
663+
"module bar.nu not found",
664+
)
665+
}
666+
649667
#[test]
650668
fn unary_not_1() -> TestResult {
651669
run_test(r#"not false"#, "true")

0 commit comments

Comments
 (0)