@@ -83,9 +83,36 @@ version = "{}"
83
83
}
84
84
85
85
#[ test]
86
+ /// This is the primary smoke test testing the full end to end behaviour of the
87
+ /// installation code path: everything that is output, the proxy installation,
88
+ /// status of the proxies.
86
89
fn install_bins_to_cargo_home ( ) {
87
90
setup ( & |config| {
88
- expect_ok ( config, & [ "rustup-init" , "-y" ] ) ;
91
+ expect_ok_contains (
92
+ config,
93
+ & [ "rustup-init" , "-y" ] ,
94
+ for_host ! (
95
+ r"
96
+ stable-{0} installed - 1.1.0 (hash-stable-1.1.0)
97
+
98
+ "
99
+ ) ,
100
+ for_host ! (
101
+ r"info: syncing channel updates for 'stable-{0}'
102
+ info: latest update on 2015-01-02, rust version 1.1.0 (hash-stable-1.1.0)
103
+ info: downloading component 'cargo'
104
+ info: downloading component 'rust-docs'
105
+ info: downloading component 'rust-std'
106
+ info: downloading component 'rustc'
107
+ info: installing component 'cargo'
108
+ info: Defaulting to 500.0 MiB unpack ram
109
+ info: installing component 'rust-docs'
110
+ info: installing component 'rust-std'
111
+ info: installing component 'rustc'
112
+ info: default toolchain set to 'stable-{0}'
113
+ "
114
+ ) ,
115
+ ) ;
89
116
let rustup = config. cargodir . join ( & format ! ( "bin/rustup{}" , EXE_SUFFIX ) ) ;
90
117
let rustc = config. cargodir . join ( & format ! ( "bin/rustc{}" , EXE_SUFFIX ) ) ;
91
118
let rustdoc = config. cargodir . join ( & format ! ( "bin/rustdoc{}" , EXE_SUFFIX ) ) ;
@@ -94,12 +121,25 @@ fn install_bins_to_cargo_home() {
94
121
. cargodir
95
122
. join ( & format ! ( "bin/rust-lldb{}" , EXE_SUFFIX ) ) ;
96
123
let rust_gdb = config. cargodir . join ( & format ! ( "bin/rust-gdb{}" , EXE_SUFFIX ) ) ;
97
- assert ! ( rustup. exists( ) ) ;
98
- assert ! ( rustc. exists( ) ) ;
99
- assert ! ( rustdoc. exists( ) ) ;
100
- assert ! ( cargo. exists( ) ) ;
101
- assert ! ( rust_lldb. exists( ) ) ;
102
- assert ! ( rust_gdb. exists( ) ) ;
124
+ #[ cfg( windows) ]
125
+ fn check ( path : & Path ) {
126
+ assert ! ( path. exists( ) ) ;
127
+ }
128
+ #[ cfg( not( windows) ) ]
129
+ fn check ( path : & Path ) {
130
+ fn is_exe ( path : & Path ) -> bool {
131
+ use std:: os:: unix:: fs:: MetadataExt ;
132
+ let mode = path. metadata ( ) . unwrap ( ) . mode ( ) ;
133
+ mode & 0o777 == 0o755
134
+ }
135
+ assert ! ( is_exe( path) ) ;
136
+ }
137
+ check ( & rustup) ;
138
+ check ( & rustc) ;
139
+ check ( & rustdoc) ;
140
+ check ( & cargo) ;
141
+ check ( & rust_lldb) ;
142
+ check ( & rust_gdb) ;
103
143
} ) ;
104
144
}
105
145
@@ -113,35 +153,6 @@ fn install_twice() {
113
153
} ) ;
114
154
}
115
155
116
- #[ test]
117
- #[ cfg( unix) ]
118
- fn bins_are_executable ( ) {
119
- setup ( & |config| {
120
- expect_ok ( config, & [ "rustup-init" , "-y" ] ) ;
121
- let rustup = config. cargodir . join ( & format ! ( "bin/rustup{}" , EXE_SUFFIX ) ) ;
122
- let rustc = config. cargodir . join ( & format ! ( "bin/rustc{}" , EXE_SUFFIX ) ) ;
123
- let rustdoc = config. cargodir . join ( & format ! ( "bin/rustdoc{}" , EXE_SUFFIX ) ) ;
124
- let cargo = config. cargodir . join ( & format ! ( "bin/cargo{}" , EXE_SUFFIX ) ) ;
125
- let rust_lldb = config
126
- . cargodir
127
- . join ( & format ! ( "bin/rust-lldb{}" , EXE_SUFFIX ) ) ;
128
- let rust_gdb = config. cargodir . join ( & format ! ( "bin/rust-gdb{}" , EXE_SUFFIX ) ) ;
129
- assert ! ( is_exe( & rustup) ) ;
130
- assert ! ( is_exe( & rustc) ) ;
131
- assert ! ( is_exe( & rustdoc) ) ;
132
- assert ! ( is_exe( & cargo) ) ;
133
- assert ! ( is_exe( & rust_lldb) ) ;
134
- assert ! ( is_exe( & rust_gdb) ) ;
135
- } ) ;
136
-
137
- fn is_exe ( path : & Path ) -> bool {
138
- use std:: os:: unix:: fs:: MetadataExt ;
139
- let mode = path. metadata ( ) . unwrap ( ) . mode ( ) ;
140
-
141
- mode & 0o777 == 0o755
142
- }
143
- }
144
-
145
156
#[ test]
146
157
fn install_creates_cargo_home ( ) {
147
158
setup ( & |config| {
@@ -820,37 +831,6 @@ fn as_rustup_setup() {
820
831
} ) ;
821
832
}
822
833
823
- #[ test]
824
- fn first_install_exact ( ) {
825
- setup ( & |config| {
826
- expect_ok_contains (
827
- config,
828
- & [ "rustup-init" , "-y" ] ,
829
- for_host ! (
830
- r"
831
- stable-{0} installed - 1.1.0 (hash-stable-1.1.0)
832
-
833
- "
834
- ) ,
835
- for_host ! (
836
- r"info: syncing channel updates for 'stable-{0}'
837
- info: latest update on 2015-01-02, rust version 1.1.0 (hash-stable-1.1.0)
838
- info: downloading component 'cargo'
839
- info: downloading component 'rust-docs'
840
- info: downloading component 'rust-std'
841
- info: downloading component 'rustc'
842
- info: installing component 'cargo'
843
- info: Defaulting to 500.0 MiB unpack ram
844
- info: installing component 'rust-docs'
845
- info: installing component 'rust-std'
846
- info: installing component 'rustc'
847
- info: default toolchain set to 'stable-{0}'
848
- "
849
- ) ,
850
- ) ;
851
- } ) ;
852
- }
853
-
854
834
#[ test]
855
835
fn reinstall_exact ( ) {
856
836
setup ( & |config| {
0 commit comments