@@ -119,19 +119,31 @@ fn main() -> Result<()> {
119
119
120
120
// Handle subcommands
121
121
match args. cmd {
122
- Commands :: Enable => {
123
- confirm_or_exit ( args. yes ) ;
122
+ Commands :: Enable => enable ( & system, selected, args. yes ) ,
123
+ Commands :: Disable => disable ( selected, args. yes ) ,
124
+ }
125
+ }
124
126
125
- info ! ( "Updating apt package cache" ) ;
126
- system. update_package_lists ( ) ?;
127
+ /// Enables selected experiments
128
+ fn enable < ' a > ( system : & ' a impl Worker , experiments : Vec < Experiment > , yes : bool ) -> Result < ( ) > {
129
+ confirm_or_exit ( yes) ;
127
130
128
- enable ( selected)
129
- }
130
- Commands :: Disable => {
131
- confirm_or_exit ( args. yes ) ;
132
- disable ( selected)
133
- }
131
+ info ! ( "Updating apt package cache" ) ;
132
+ system. update_package_lists ( ) ?;
133
+
134
+ for e in experiments. iter ( ) {
135
+ e. enable ( ) ?;
136
+ }
137
+ Ok ( ( ) )
138
+ }
139
+
140
+ // Disable selected experiments
141
+ fn disable ( experiments : Vec < Experiment < ' _ > > , yes : bool ) -> Result < ( ) > {
142
+ confirm_or_exit ( yes) ;
143
+ for e in experiments. iter ( ) {
144
+ e. disable ( ) ?;
134
145
}
146
+ Ok ( ( ) )
135
147
}
136
148
137
149
/// Get selected experiments from the command line arguments.
@@ -189,22 +201,6 @@ fn confirm_or_exit(yes: bool) {
189
201
}
190
202
}
191
203
192
- /// Enables selected experiments
193
- fn enable ( experiments : Vec < Experiment > ) -> Result < ( ) > {
194
- for e in experiments. iter ( ) {
195
- e. enable ( ) ?;
196
- }
197
- Ok ( ( ) )
198
- }
199
-
200
- // Disable selected experiments
201
- fn disable ( experiments : Vec < Experiment < ' _ > > ) -> Result < ( ) > {
202
- for e in experiments. iter ( ) {
203
- e. disable ( ) ?;
204
- }
205
- Ok ( ( ) )
206
- }
207
-
208
204
// Default experiments to enable if none are specified
209
205
fn default_experiments ( ) -> Vec < String > {
210
206
let mut defaults = vec ! [ "coreutils" . to_string( ) , "sudo-rs" . to_string( ) ] ;
0 commit comments