@@ -556,36 +556,96 @@ ignore = []
556
556
assert_eq ! ( & toml, & default_config) ;
557
557
}
558
558
559
- // FIXME(#2183): these tests cannot be run in parallel because they use env vars.
560
- // #[test]
561
- // fn test_as_not_nightly_channel() {
562
- // let mut config = Config::default();
563
- // assert_eq!(config.was_set().unstable_features(), false);
564
- // config.set().unstable_features(true);
565
- // assert_eq!(config.was_set().unstable_features(), false);
566
- // }
567
-
568
- // #[test]
569
- // fn test_as_nightly_channel() {
570
- // let v = ::std::env::var("CFG_RELEASE_CHANNEL").unwrap_or(String::from(""));
571
- // ::std::env::set_var("CFG_RELEASE_CHANNEL", "nightly");
572
- // let mut config = Config::default();
573
- // config.set().unstable_features(true);
574
- // assert_eq!(config.was_set().unstable_features(), false);
575
- // config.set().unstable_features(true);
576
- // assert_eq!(config.unstable_features(), true);
577
- // ::std::env::set_var("CFG_RELEASE_CHANNEL", v);
578
- // }
579
-
580
- // #[test]
581
- // fn test_unstable_from_toml() {
582
- // let mut config = Config::from_toml("unstable_features = true").unwrap();
583
- // assert_eq!(config.was_set().unstable_features(), false);
584
- // let v = ::std::env::var("CFG_RELEASE_CHANNEL").unwrap_or(String::from(""));
585
- // ::std::env::set_var("CFG_RELEASE_CHANNEL", "nightly");
586
- // config = Config::from_toml("unstable_features = true").unwrap();
587
- // assert_eq!(config.was_set().unstable_features(), true);
588
- // assert_eq!(config.unstable_features(), true);
589
- // ::std::env::set_var("CFG_RELEASE_CHANNEL", v);
590
- // }
559
+ mod unstable_features {
560
+ use super :: super :: * ;
561
+
562
+ #[ test]
563
+ fn test_default_not_nightly_channel ( ) {
564
+ if is_nightly_channel ! ( ) {
565
+ // This test requires non-nightly
566
+ return ;
567
+ }
568
+ let config = Config :: default ( ) ;
569
+ assert_eq ! ( config. unstable_features( ) , false ) ;
570
+ assert_eq ! ( config. was_set( ) . unstable_features( ) , false ) ;
571
+ }
572
+
573
+ #[ test]
574
+ fn test_default_nightly_channel ( ) {
575
+ if !is_nightly_channel ! ( ) {
576
+ // This test requires nightly
577
+ return ;
578
+ }
579
+ let config = Config :: default ( ) ;
580
+ assert_eq ! ( config. unstable_features( ) , false ) ;
581
+ }
582
+
583
+ #[ test]
584
+ fn test_from_toml_not_nightly ( ) {
585
+ if is_nightly_channel ! ( ) {
586
+ // This test requires non-nightly
587
+ return ;
588
+ }
589
+ let config = Config :: from_toml ( "unstable_features = true" , Path :: new ( "" ) ) . unwrap ( ) ;
590
+ assert_eq ! ( config. was_set( ) . unstable_features( ) , false ) ;
591
+ }
592
+
593
+ #[ test]
594
+ fn test_from_toml_nightly ( ) {
595
+ if !is_nightly_channel ! ( ) {
596
+ // This test requires non-nightly
597
+ return ;
598
+ }
599
+ let config = Config :: from_toml ( "unstable_features = true" , Path :: new ( "" ) ) . unwrap ( ) ;
600
+ assert_eq ! ( config. was_set( ) . unstable_features( ) , true ) ;
601
+ }
602
+
603
+ #[ test]
604
+ fn test_set_not_nightly_channel ( ) {
605
+ if is_nightly_channel ! ( ) {
606
+ // This test requires non-nightly
607
+ return ;
608
+ }
609
+ let mut config = Config :: default ( ) ;
610
+ assert_eq ! ( config. unstable_features( ) , false ) ;
611
+ config. set ( ) . unstable_features ( true ) ;
612
+ assert_eq ! ( config. unstable_features( ) , true ) ;
613
+ }
614
+
615
+ #[ test]
616
+ fn test_set_nightly_channel ( ) {
617
+ if !is_nightly_channel ! ( ) {
618
+ // This test requires nightly
619
+ return ;
620
+ }
621
+ let mut config = Config :: default ( ) ;
622
+ assert_eq ! ( config. unstable_features( ) , false ) ;
623
+ config. set ( ) . unstable_features ( true ) ;
624
+ assert_eq ! ( config. unstable_features( ) , true ) ;
625
+ }
626
+
627
+ #[ test]
628
+ fn test_override_not_nightly_channel ( ) {
629
+ if is_nightly_channel ! ( ) {
630
+ // This test requires non-nightly
631
+ return ;
632
+ }
633
+ let mut config = Config :: default ( ) ;
634
+ assert_eq ! ( config. unstable_features( ) , false ) ;
635
+ config. override_value ( "unstable_features" , "true" ) ;
636
+ assert_eq ! ( config. unstable_features( ) , true ) ;
637
+ }
638
+
639
+ #[ test]
640
+ fn test_override_nightly_channel ( ) {
641
+ if !is_nightly_channel ! ( ) {
642
+ // This test requires nightly
643
+ return ;
644
+ }
645
+ let mut config = Config :: default ( ) ;
646
+ assert_eq ! ( config. unstable_features( ) , false ) ;
647
+ config. override_value ( "unstable_features" , "true" ) ;
648
+ assert_eq ! ( config. unstable_features( ) , true ) ;
649
+ }
650
+ }
591
651
}
0 commit comments