@@ -405,6 +405,8 @@ mod test {
405405 use super :: * ;
406406 use std:: str;
407407
408+ use rustfmt_config_proc_macro:: { nightly_only_test, stable_only_test} ;
409+
408410 #[ allow( dead_code) ]
409411 mod mock {
410412 use super :: super :: * ;
@@ -525,21 +527,17 @@ mod test {
525527 assert ! ( config. license_template. is_none( ) ) ;
526528 }
527529
530+ #[ nightly_only_test]
528531 #[ test]
529532 fn test_valid_license_template_path ( ) {
530- if !crate :: is_nightly_channel!( ) {
531- return ;
532- }
533533 let toml = r#"license_template_path = "tests/license-template/lt.txt""# ;
534534 let config = Config :: from_toml ( toml, Path :: new ( "" ) ) . unwrap ( ) ;
535535 assert ! ( config. license_template. is_some( ) ) ;
536536 }
537537
538+ #[ nightly_only_test]
538539 #[ test]
539540 fn test_override_existing_license_with_no_license ( ) {
540- if !crate :: is_nightly_channel!( ) {
541- return ;
542- }
543541 let toml = r#"license_template_path = "tests/license-template/lt.txt""# ;
544542 let mut config = Config :: from_toml ( toml, Path :: new ( "" ) ) . unwrap ( ) ;
545543 assert ! ( config. license_template. is_some( ) ) ;
@@ -634,48 +632,42 @@ make_backup = false
634632 assert_eq ! ( & toml, & default_config) ;
635633 }
636634
637- // FIXME(#2183): these tests cannot be run in parallel because they use env vars.
638- // #[test]
639- // fn test_as_not_nightly_channel() {
640- // let mut config = Config::default();
641- // assert_eq!(config.was_set().unstable_features(), false);
642- // config.set().unstable_features(true);
643- // assert_eq!(config.was_set().unstable_features(), false);
644- // }
645-
646- // #[test]
647- // fn test_as_nightly_channel() {
648- // let v = ::std::env::var("CFG_RELEASE_CHANNEL").unwrap_or(String::from(""));
649- // ::std::env::set_var("CFG_RELEASE_CHANNEL", "nightly");
650- // let mut config = Config::default();
651- // config.set().unstable_features(true);
652- // assert_eq!(config.was_set().unstable_features(), false);
653- // config.set().unstable_features(true);
654- // assert_eq!(config.unstable_features(), true);
655- // ::std::env::set_var("CFG_RELEASE_CHANNEL", v);
656- // }
657-
658- // #[test]
659- // fn test_unstable_from_toml() {
660- // let mut config = Config::from_toml("unstable_features = true").unwrap();
661- // assert_eq!(config.was_set().unstable_features(), false);
662- // let v = ::std::env::var("CFG_RELEASE_CHANNEL").unwrap_or(String::from(""));
663- // ::std::env::set_var("CFG_RELEASE_CHANNEL", "nightly");
664- // config = Config::from_toml("unstable_features = true").unwrap();
665- // assert_eq!(config.was_set().unstable_features(), true);
666- // assert_eq!(config.unstable_features(), true);
667- // ::std::env::set_var("CFG_RELEASE_CHANNEL", v);
668- // }
635+ #[ stable_only_test]
636+ #[ test]
637+ fn test_as_not_nightly_channel ( ) {
638+ let mut config = Config :: default ( ) ;
639+ assert_eq ! ( config. was_set( ) . unstable_features( ) , false ) ;
640+ config. set ( ) . unstable_features ( true ) ;
641+ assert_eq ! ( config. was_set( ) . unstable_features( ) , false ) ;
642+ }
643+
644+ #[ nightly_only_test]
645+ #[ test]
646+ fn test_as_nightly_channel ( ) {
647+ let mut config = Config :: default ( ) ;
648+ config. set ( ) . unstable_features ( true ) ;
649+ // When we don't set the config from toml or command line options it
650+ // doesn't get marked as set by the user.
651+ assert_eq ! ( config. was_set( ) . unstable_features( ) , false ) ;
652+ config. set ( ) . unstable_features ( true ) ;
653+ assert_eq ! ( config. unstable_features( ) , true ) ;
654+ }
655+
656+ #[ nightly_only_test]
657+ #[ test]
658+ fn test_unstable_from_toml ( ) {
659+ let config = Config :: from_toml ( "unstable_features = true" , Path :: new ( "" ) ) . unwrap ( ) ;
660+ assert_eq ! ( config. was_set( ) . unstable_features( ) , true ) ;
661+ assert_eq ! ( config. unstable_features( ) , true ) ;
662+ }
669663
670664 #[ cfg( test) ]
671665 mod deprecated_option_merge_imports {
672666 use super :: * ;
673667
668+ #[ nightly_only_test]
674669 #[ test]
675670 fn test_old_option_set ( ) {
676- if !crate :: is_nightly_channel!( ) {
677- return ;
678- }
679671 let toml = r#"
680672 unstable_features = true
681673 merge_imports = true
@@ -684,11 +676,9 @@ make_backup = false
684676 assert_eq ! ( config. imports_granularity( ) , ImportGranularity :: Crate ) ;
685677 }
686678
679+ #[ nightly_only_test]
687680 #[ test]
688681 fn test_both_set ( ) {
689- if !crate :: is_nightly_channel!( ) {
690- return ;
691- }
692682 let toml = r#"
693683 unstable_features = true
694684 merge_imports = true
@@ -698,11 +688,9 @@ make_backup = false
698688 assert_eq ! ( config. imports_granularity( ) , ImportGranularity :: Preserve ) ;
699689 }
700690
691+ #[ nightly_only_test]
701692 #[ test]
702693 fn test_new_overridden ( ) {
703- if !crate :: is_nightly_channel!( ) {
704- return ;
705- }
706694 let toml = r#"
707695 unstable_features = true
708696 merge_imports = true
@@ -712,11 +700,9 @@ make_backup = false
712700 assert_eq ! ( config. imports_granularity( ) , ImportGranularity :: Preserve ) ;
713701 }
714702
703+ #[ nightly_only_test]
715704 #[ test]
716705 fn test_old_overridden ( ) {
717- if !crate :: is_nightly_channel!( ) {
718- return ;
719- }
720706 let toml = r#"
721707 unstable_features = true
722708 imports_granularity = "Module"
0 commit comments