aboutsummaryrefslogtreecommitdiff
path: root/unit_tests/init_and_shutdown.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unit_tests/init_and_shutdown.cpp')
-rw-r--r--unit_tests/init_and_shutdown.cpp533
1 files changed, 302 insertions, 231 deletions
diff --git a/unit_tests/init_and_shutdown.cpp b/unit_tests/init_and_shutdown.cpp
index 384af43..bd72157 100644
--- a/unit_tests/init_and_shutdown.cpp
+++ b/unit_tests/init_and_shutdown.cpp
@@ -289,6 +289,62 @@ TEST_CASE("lanes.configure.keepers_gc_threshold")
289 289
290// ################################################################################################# 290// #################################################################################################
291 291
292TEST_CASE("lanes.configure.linda_wake_period")
293{
294 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
295
296 // linda_wake_period should be a number > 0, or 'never'
297
298 SECTION("linda_wake_period = <table>")
299 {
300 L.requireFailure("require 'lanes'.configure{linda_wake_period = {}}");
301 }
302
303 // ---------------------------------------------------------------------------------------------
304
305 SECTION("linda_wake_period = <string>")
306 {
307 L.requireFailure("require 'lanes'.configure{linda_wake_period = 'gluh'}");
308 }
309
310 // ---------------------------------------------------------------------------------------------
311
312 SECTION("linda_wake_period = 'never'")
313 {
314 L.requireSuccess("require 'lanes'.configure{linda_wake_period = 'never'}");
315 }
316
317 // ---------------------------------------------------------------------------------------------
318
319 SECTION("linda_wake_period = <negative number>")
320 {
321 L.requireFailure("require 'lanes'.configure{linda_wake_period = -0.001}");
322 }
323
324 // ---------------------------------------------------------------------------------------------
325
326 SECTION("linda_wake_period = 0")
327 {
328 L.requireFailure("require 'lanes'.configure{linda_wake_period = 0}");
329 }
330
331 // ---------------------------------------------------------------------------------------------
332
333 SECTION("linda_wake_period = 0.0001s")
334 {
335 L.requireSuccess("require 'lanes'.configure{linda_wake_period = 0.0001}");
336 }
337
338 // ---------------------------------------------------------------------------------------------
339
340 SECTION("linda_wake_period = 1e30")
341 {
342 L.requireSuccess("require 'lanes'.configure{linda_wake_period = 1e30}");
343 }
344}
345
346// #################################################################################################
347
292TEST_CASE("lanes.configure.nb_user_keepers") 348TEST_CASE("lanes.configure.nb_user_keepers")
293{ 349{
294 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } }; 350 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
@@ -300,35 +356,35 @@ TEST_CASE("lanes.configure.nb_user_keepers")
300 L.requireFailure("require 'lanes'.configure{nb_user_keepers = {}}"); 356 L.requireFailure("require 'lanes'.configure{nb_user_keepers = {}}");
301 } 357 }
302 358
303 // ----------------------------------------------------------------------------------------- 359 // ---------------------------------------------------------------------------------------------
304 360
305 SECTION("nb_user_keepers = <string>") 361 SECTION("nb_user_keepers = <string>")
306 { 362 {
307 L.requireFailure("require 'lanes'.configure{nb_user_keepers = 'gluh'}"); 363 L.requireFailure("require 'lanes'.configure{nb_user_keepers = 'gluh'}");
308 } 364 }
309 365
310 // ----------------------------------------------------------------------------------------- 366 // ---------------------------------------------------------------------------------------------
311 367
312 SECTION("nb_user_keepers = -1") 368 SECTION("nb_user_keepers = -1")
313 { 369 {
314 L.requireFailure("require 'lanes'.configure{nb_user_keepers = -1}"); 370 L.requireFailure("require 'lanes'.configure{nb_user_keepers = -1}");
315 } 371 }
316 372
317 // ----------------------------------------------------------------------------------------- 373 // ---------------------------------------------------------------------------------------------
318 374
319 SECTION("nb_user_keepers = 0") 375 SECTION("nb_user_keepers = 0")
320 { 376 {
321 L.requireSuccess("require 'lanes'.configure{nb_user_keepers = 0}"); 377 L.requireSuccess("require 'lanes'.configure{nb_user_keepers = 0}");
322 } 378 }
323 379
324 // ----------------------------------------------------------------------------------------- 380 // ---------------------------------------------------------------------------------------------
325 381
326 SECTION("nb_user_keepers = 1") 382 SECTION("nb_user_keepers = 1")
327 { 383 {
328 L.requireSuccess("require 'lanes'.configure{nb_user_keepers = 1}"); 384 L.requireSuccess("require 'lanes'.configure{nb_user_keepers = 1}");
329 } 385 }
330 386
331 // ----------------------------------------------------------------------------------------- 387 // ---------------------------------------------------------------------------------------------
332 388
333 SECTION("nb_user_keepers = 100") 389 SECTION("nb_user_keepers = 100")
334 { 390 {
@@ -345,340 +401,355 @@ TEST_CASE("lanes.configure.nb_user_keepers")
345 401
346// ################################################################################################# 402// #################################################################################################
347 403
348TEST_CASE("lanes.configure.the rest") 404TEST_CASE("lanes.configure.on_state_create")
349{ 405{
350 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } }; 406 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
351 407
352 // on_state_create should be a function, either C or Lua, without upvalues 408 // on_state_create should be a function, either C or Lua, without upvalues
353 409
354 SECTION("on_state_create") 410 SECTION("on_state_create = <table>")
355 { 411 {
356 SECTION("on_state_create = <table>") 412 L.requireFailure("require 'lanes'.configure{on_state_create = {}}");
357 { 413 }
358 L.requireFailure("require 'lanes'.configure{on_state_create = {}}");
359 }
360 414
361 // ----------------------------------------------------------------------------------------- 415 // ---------------------------------------------------------------------------------------------
362 416
363 SECTION("on_state_create = <string>") 417 SECTION("on_state_create = <string>")
364 { 418 {
365 L.requireFailure("require 'lanes'.configure{on_state_create = 'gluh'}"); 419 L.requireFailure("require 'lanes'.configure{on_state_create = 'gluh'}");
366 } 420 }
367 421
368 // ----------------------------------------------------------------------------------------- 422 // ---------------------------------------------------------------------------------------------
369 423
370 SECTION("on_state_create = <number>") 424 SECTION("on_state_create = <number>")
371 { 425 {
372 L.requireFailure("require 'lanes'.configure{on_state_create = 1}"); 426 L.requireFailure("require 'lanes'.configure{on_state_create = 1}");
373 } 427 }
374 428
375 // ----------------------------------------------------------------------------------------- 429 // ---------------------------------------------------------------------------------------------
376 430
377 SECTION("on_state_create = false") 431 SECTION("on_state_create = false")
378 { 432 {
379 L.requireFailure("require 'lanes'.configure{on_state_create = false}"); 433 L.requireFailure("require 'lanes'.configure{on_state_create = false}");
380 } 434 }
381 435
382 // ----------------------------------------------------------------------------------------- 436 // ---------------------------------------------------------------------------------------------
383 437
384 SECTION("on_state_create = true") 438 SECTION("on_state_create = true")
385 { 439 {
386 L.requireFailure("require 'lanes'.configure{on_state_create = true}"); 440 L.requireFailure("require 'lanes'.configure{on_state_create = true}");
387 } 441 }
388 442
389 // ----------------------------------------------------------------------------------------- 443 // ---------------------------------------------------------------------------------------------
390 444
391 SECTION("on_state_create = <Lua function>") 445 SECTION("on_state_create = <Lua function>")
392 { 446 {
393 // on_state_create isn't called inside a Keeper state if it's a Lua function (which is good as print() doesn't exist there!) 447 // on_state_create isn't called inside a Keeper state if it's a Lua function (which is good as print() doesn't exist there!)
394 L.requireSuccess("local print = print; require 'lanes'.configure{on_state_create = function() print 'hello' end}"); 448 L.requireSuccess("local print = print; require 'lanes'.configure{on_state_create = function() print 'hello' end}");
395 } 449 }
396 450
397 // ----------------------------------------------------------------------------------------- 451 // ---------------------------------------------------------------------------------------------
398 452
399 SECTION("on_state_create = <C function>") 453 SECTION("on_state_create = <C function>")
400 { 454 {
401 // funnily enough, in Lua 5.3, print() uses global tostring(), that doesn't exist in a keeper since we didn't open libs -> "attempt to call a nil value" 455 // funnily enough, in Lua 5.3, print() uses global tostring(), that doesn't exist in a keeper since we didn't open libs -> "attempt to call a nil value"
402 // conclusion, don't use print() as a fake on_state_create() callback! 456 // conclusion, don't use print() as a fake on_state_create() callback!
403 // assert() should be fine since we pass a non-false argument to on_state_create 457 // assert() should be fine since we pass a non-false argument to on_state_create
404 L.requireSuccess("require 'lanes'.configure{on_state_create = assert}"); 458 L.requireSuccess("require 'lanes'.configure{on_state_create = assert}");
405 }
406 } 459 }
460}
461
462// #################################################################################################
463
464TEST_CASE("lanes.configure.shutdown_timeout")
465{
466 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
407 467
408 // ---------------------------------------------------------------------------------------------
409 // shutdown_timeout should be a number in [0,3600] 468 // shutdown_timeout should be a number in [0,3600]
410 469
411 SECTION("shutdown_timeout") 470 SECTION("shutdown_timeout = <table>")
412 { 471 {
413 SECTION("shutdown_timeout = <table>") 472 L.requireFailure("require 'lanes'.configure{shutdown_timeout = {}}");
414 { 473 }
415 L.requireFailure("require 'lanes'.configure{shutdown_timeout = {}}");
416 }
417 474
418 // ----------------------------------------------------------------------------------------- 475 // ---------------------------------------------------------------------------------------------
419 476
420 SECTION("shutdown_timeout = <string>") 477 SECTION("shutdown_timeout = <string>")
421 { 478 {
422 L.requireFailure("require 'lanes'.configure{shutdown_timeout = 'gluh'}"); 479 L.requireFailure("require 'lanes'.configure{shutdown_timeout = 'gluh'}");
423 } 480 }
424 481
425 // ----------------------------------------------------------------------------------------- 482 // ---------------------------------------------------------------------------------------------
426 483
427 SECTION("shutdown_timeout = <negative number>") 484 SECTION("shutdown_timeout = <negative number>")
428 { 485 {
429 L.requireFailure("require 'lanes'.configure{shutdown_timeout = -0.001}"); 486 L.requireFailure("require 'lanes'.configure{shutdown_timeout = -0.001}");
430 } 487 }
431 488
432 // ----------------------------------------------------------------------------------------- 489 // ---------------------------------------------------------------------------------------------
433 490
434 SECTION("shutdown_timeout = 0") 491 SECTION("shutdown_timeout = 0")
435 { 492 {
436 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 0}"); 493 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 0}");
437 } 494 }
438 495
439 // ----------------------------------------------------------------------------------------- 496 // ---------------------------------------------------------------------------------------------
440 497
441 SECTION("shutdown_timeout = 1s") 498 SECTION("shutdown_timeout = 1s")
442 { 499 {
443 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 1}"); 500 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 1}");
444 } 501 }
445 502
446 // ----------------------------------------------------------------------------------------- 503 // ---------------------------------------------------------------------------------------------
447 504
448 SECTION("shutdown_timeout = 3600s") 505 SECTION("shutdown_timeout = 3600s")
449 { 506 {
450 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 3600}"); 507 L.requireSuccess("require 'lanes'.configure{shutdown_timeout = 3600}");
451 } 508 }
452 509
453 // ----------------------------------------------------------------------------------------- 510 // ---------------------------------------------------------------------------------------------
454 511
455 SECTION("shutdown_timeout = <too long>") 512 SECTION("shutdown_timeout = <too long>")
456 { 513 {
457 L.requireFailure("require 'lanes'.configure{shutdown_timeout = 3600.001}"); 514 L.requireFailure("require 'lanes'.configure{shutdown_timeout = 3600.001}");
458 }
459 } 515 }
516}
517
518// #################################################################################################
519
520TEST_CASE("lanes.configure.strip_functions")
521{
522 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
460 523
461 // ---------------------------------------------------------------------------------------------
462 // strip_functions should be a boolean 524 // strip_functions should be a boolean
463 525
464 SECTION("strip_functions") 526 SECTION("strip_functions = <table>")
465 { 527 {
466 SECTION("strip_functions = <table>") 528 L.requireFailure("require 'lanes'.configure{strip_functions = {}}");
467 { 529 }
468 L.requireFailure("require 'lanes'.configure{strip_functions = {}}");
469 }
470 530
471 // ----------------------------------------------------------------------------------------- 531 // ---------------------------------------------------------------------------------------------
472 532
473 SECTION("strip_functions = <string>") 533 SECTION("strip_functions = <string>")
474 { 534 {
475 L.requireFailure("require 'lanes'.configure{strip_functions = 'gluh'}"); 535 L.requireFailure("require 'lanes'.configure{strip_functions = 'gluh'}");
476 } 536 }
477 537
478 // ----------------------------------------------------------------------------------------- 538 // ---------------------------------------------------------------------------------------------
479 539
480 SECTION("strip_functions = <number>") 540 SECTION("strip_functions = <number>")
481 { 541 {
482 L.requireFailure("require 'lanes'.configure{strip_functions = 1}"); 542 L.requireFailure("require 'lanes'.configure{strip_functions = 1}");
483 } 543 }
484 544
485 // ----------------------------------------------------------------------------------------- 545 // ---------------------------------------------------------------------------------------------
486 546
487 SECTION("strip_functions = <C function>") 547 SECTION("strip_functions = <C function>")
488 { 548 {
489 L.requireFailure("require 'lanes'.configure{strip_functions = print}"); 549 L.requireFailure("require 'lanes'.configure{strip_functions = print}");
490 } 550 }
491 551
492 // ----------------------------------------------------------------------------------------- 552 // ---------------------------------------------------------------------------------------------
493 553
494 SECTION("strip_functions = false") 554 SECTION("strip_functions = false")
495 { 555 {
496 L.requireSuccess("require 'lanes'.configure{strip_functions = false}"); 556 L.requireSuccess("require 'lanes'.configure{strip_functions = false}");
497 } 557 }
498 558
499 // ----------------------------------------------------------------------------------------- 559 // ---------------------------------------------------------------------------------------------
500 560
501 SECTION("strip_functions = true") 561 SECTION("strip_functions = true")
502 { 562 {
503 L.requireSuccess("require 'lanes'.configure{strip_functions = true}"); 563 L.requireSuccess("require 'lanes'.configure{strip_functions = true}");
504 }
505 } 564 }
565}
566
567// #################################################################################################
568
569TEST_CASE("lanes.configure.track_lanes")
570{
571 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
506 572
507 // ---------------------------------------------------------------------------------------------
508 // track_lanes should be a boolean 573 // track_lanes should be a boolean
509 574
510 SECTION("track_lanes") 575 SECTION("track_lanes = <table>")
511 { 576 {
512 SECTION("track_lanes = <table>") 577 L.requireFailure("require 'lanes'.configure{track_lanes = {}}");
513 { 578 }
514 L.requireFailure("require 'lanes'.configure{track_lanes = {}}");
515 }
516 579
517 // ----------------------------------------------------------------------------------------- 580 // ---------------------------------------------------------------------------------------------
518 581
519 SECTION("track_lanes = <string>") 582 SECTION("track_lanes = <string>")
520 { 583 {
521 L.requireFailure("require 'lanes'.configure{track_lanes = 'gluh'}"); 584 L.requireFailure("require 'lanes'.configure{track_lanes = 'gluh'}");
522 } 585 }
523 586
524 // ----------------------------------------------------------------------------------------- 587 // ---------------------------------------------------------------------------------------------
525 588
526 SECTION("track_lanes = <number>") 589 SECTION("track_lanes = <number>")
527 { 590 {
528 L.requireFailure("require 'lanes'.configure{track_lanes = 1}"); 591 L.requireFailure("require 'lanes'.configure{track_lanes = 1}");
529 } 592 }
530 593
531 // ----------------------------------------------------------------------------------------- 594 // ---------------------------------------------------------------------------------------------
532 595
533 SECTION("track_lanes = <C function>") 596 SECTION("track_lanes = <C function>")
534 { 597 {
535 L.requireFailure("require 'lanes'.configure{track_lanes = print}"); 598 L.requireFailure("require 'lanes'.configure{track_lanes = print}");
536 } 599 }
537 600
538 // ----------------------------------------------------------------------------------------- 601 // ---------------------------------------------------------------------------------------------
539 602
540 SECTION("track_lanes = false") 603 SECTION("track_lanes = false")
541 { 604 {
542 L.requireSuccess("require 'lanes'.configure{track_lanes = false}"); 605 L.requireSuccess("require 'lanes'.configure{track_lanes = false}");
543 } 606 }
544 607
545 // ----------------------------------------------------------------------------------------- 608 // ---------------------------------------------------------------------------------------------
546 609
547 SECTION("track_lanes = true") 610 SECTION("track_lanes = true")
548 { 611 {
549 L.requireSuccess("require 'lanes'.configure{track_lanes = true}"); 612 L.requireSuccess("require 'lanes'.configure{track_lanes = true}");
550 }
551 } 613 }
614}
615
616// #################################################################################################
617
618TEST_CASE("lanes.configure.verbose_errors")
619{
620 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
552 621
553 // ---------------------------------------------------------------------------------------------
554 // verbose_errors should be a boolean 622 // verbose_errors should be a boolean
555 623
556 SECTION("verbose_errors") 624 SECTION("verbose_errors = <table>")
557 { 625 {
558 SECTION("verbose_errors = <table>") 626 L.requireFailure("require 'lanes'.configure{verbose_errors = {}}");
559 { 627 }
560 L.requireFailure("require 'lanes'.configure{verbose_errors = {}}");
561 }
562 628
563 // ----------------------------------------------------------------------------------------- 629 // ---------------------------------------------------------------------------------------------
564 630
565 SECTION("verbose_errors = <string>") 631 SECTION("verbose_errors = <string>")
566 { 632 {
567 L.requireFailure("require 'lanes'.configure{verbose_errors = 'gluh'}"); 633 L.requireFailure("require 'lanes'.configure{verbose_errors = 'gluh'}");
568 } 634 }
569 635
570 // ----------------------------------------------------------------------------------------- 636 // ---------------------------------------------------------------------------------------------
571 637
572 SECTION("verbose_errors = <number>") 638 SECTION("verbose_errors = <number>")
573 { 639 {
574 L.requireFailure("require 'lanes'.configure{verbose_errors = 1}"); 640 L.requireFailure("require 'lanes'.configure{verbose_errors = 1}");
575 } 641 }
576 642
577 // ----------------------------------------------------------------------------------------- 643 // ---------------------------------------------------------------------------------------------
578 644
579 SECTION("verbose_errors = <C function>") 645 SECTION("verbose_errors = <C function>")
580 { 646 {
581 L.requireFailure("require 'lanes'.configure{verbose_errors = print}"); 647 L.requireFailure("require 'lanes'.configure{verbose_errors = print}");
582 } 648 }
583 649
584 // ----------------------------------------------------------------------------------------- 650 // ---------------------------------------------------------------------------------------------
585 651
586 SECTION("verbose_errors = false") 652 SECTION("verbose_errors = false")
587 { 653 {
588 L.requireSuccess("require 'lanes'.configure{verbose_errors = false}"); 654 L.requireSuccess("require 'lanes'.configure{verbose_errors = false}");
589 } 655 }
590 656
591 // ----------------------------------------------------------------------------------------- 657 // ---------------------------------------------------------------------------------------------
592 658
593 SECTION("verbose_errors = true") 659 SECTION("verbose_errors = true")
594 { 660 {
595 L.requireSuccess("require 'lanes'.configure{verbose_errors = true}"); 661 L.requireSuccess("require 'lanes'.configure{verbose_errors = true}");
596 }
597 } 662 }
663}
664
665// #################################################################################################
666
667TEST_CASE("lanes.configure.with_timers")
668{
669 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
598 670
599 // ---------------------------------------------------------------------------------------------
600 // with_timers should be a boolean 671 // with_timers should be a boolean
601 672
602 SECTION("with_timers") 673 SECTION("with_timers = <table>")
603 { 674 {
604 SECTION("with_timers = <table>") 675 L.requireFailure("require 'lanes'.configure{with_timers = {}}");
605 { 676 }
606 L.requireFailure("require 'lanes'.configure{with_timers = {}}");
607 }
608 677
609 // ----------------------------------------------------------------------------------------- 678 // ---------------------------------------------------------------------------------------------
610 679
611 SECTION("with_timers = <string>") 680 SECTION("with_timers = <string>")
612 { 681 {
613 L.requireFailure("require 'lanes'.configure{with_timers = 'gluh'}"); 682 L.requireFailure("require 'lanes'.configure{with_timers = 'gluh'}");
614 } 683 }
615 684
616 // ----------------------------------------------------------------------------------------- 685 // ---------------------------------------------------------------------------------------------
617 686
618 SECTION("with_timers = <number>") 687 SECTION("with_timers = <number>")
619 { 688 {
620 L.requireFailure("require 'lanes'.configure{with_timers = 1}"); 689 L.requireFailure("require 'lanes'.configure{with_timers = 1}");
621 } 690 }
622 691
623 // ----------------------------------------------------------------------------------------- 692 // ---------------------------------------------------------------------------------------------
624 693
625 SECTION("with_timers = <C function>") 694 SECTION("with_timers = <C function>")
626 { 695 {
627 L.requireFailure("require 'lanes'.configure{with_timers = print}"); 696 L.requireFailure("require 'lanes'.configure{with_timers = print}");
628 } 697 }
629 698
630 // ----------------------------------------------------------------------------------------- 699 // ---------------------------------------------------------------------------------------------
631 700
632 SECTION("with_timers = false") 701 SECTION("with_timers = false")
633 { 702 {
634 L.requireSuccess("require 'lanes'.configure{with_timers = false}"); 703 L.requireSuccess("require 'lanes'.configure{with_timers = false}");
635 } 704 }
636 705
637 // ----------------------------------------------------------------------------------------- 706 // ---------------------------------------------------------------------------------------------
638 707
639 SECTION("with_timers = true") 708 SECTION("with_timers = true")
640 { 709 {
641 L.requireSuccess("require 'lanes'.configure{with_timers = true}"); 710 L.requireSuccess("require 'lanes'.configure{with_timers = true}");
642 }
643 } 711 }
712}
713
714// #################################################################################################
715
716TEST_CASE("lanes.configure.unknown_setting")
717{
718 LuaState L{ LuaState::WithBaseLibs{ true }, LuaState::WithFixture{ false } };
644 719
645 // ---------------------------------------------------------------------------------------------
646 // any unknown setting should be rejected 720 // any unknown setting should be rejected
647 721
648 SECTION("unknown_setting") 722 SECTION("table setting")
649 { 723 {
650 SECTION("table setting") 724 L.requireFailure("require 'lanes'.configure{[{}] = {}}");
651 { 725 }
652 L.requireFailure("require 'lanes'.configure{[{}] = {}}");
653 }
654 726
655 // ----------------------------------------------------------------------------------------- 727 // ---------------------------------------------------------------------------------------------
656 728
657 SECTION("boolean setting") 729 SECTION("boolean setting")
658 { 730 {
659 L.requireFailure("require 'lanes'.configure{[true] = 'gluh'}"); 731 L.requireFailure("require 'lanes'.configure{[true] = 'gluh'}");
660 } 732 }
661 733
662 // ----------------------------------------------------------------------------------------- 734 // ---------------------------------------------------------------------------------------------
663 735
664 SECTION("function setting") 736 SECTION("function setting")
665 { 737 {
666 L.requireFailure("require 'lanes'.configure{[function() end] = 1}"); 738 L.requireFailure("require 'lanes'.configure{[function() end] = 1}");
667 } 739 }
668 740
669 // ----------------------------------------------------------------------------------------- 741 // ---------------------------------------------------------------------------------------------
670 742
671 SECTION("number setting") 743 SECTION("number setting")
672 { 744 {
673 L.requireFailure("require 'lanes'.configure{[1] = function() end}"); 745 L.requireFailure("require 'lanes'.configure{[1] = function() end}");
674 } 746 }
675 747
676 // ----------------------------------------------------------------------------------------- 748 // ---------------------------------------------------------------------------------------------
677 749
678 SECTION("unknown string setting") 750 SECTION("unknown string setting")
679 { 751 {
680 L.requireFailure("require 'lanes'.configure{['gluh'] = false}"); 752 L.requireFailure("require 'lanes'.configure{['gluh'] = false}");
681 }
682 } 753 }
683} 754}
684 755