@@ -219,7 +219,7 @@ impl CrateDetails {
219219 }
220220
221221 // retrieve last successful build if build failed
222- if crate_details. build_status == false {
222+ if ! crate_details. build_status {
223223 let rows = conn. query (
224224 "SELECT version
225225 FROM releases
@@ -278,21 +278,21 @@ mod tests {
278278 use super :: * ;
279279 use failure:: Error ;
280280
281- #[ test]
282- fn test_last_successful_build ( ) {
283- fn last_successful_build_equals (
284- conn : & Connection ,
285- package : & str ,
286- version : & str ,
287- expected_last_successful_build : Option < String >
288- ) -> Result < bool , Error > {
281+ fn last_successful_build_equals (
282+ conn : & Connection ,
283+ package : & str ,
284+ version : & str ,
285+ expected_last_successful_build : Option < String >
286+ ) -> Result < bool , Error > {
289287
290- let details = CrateDetails :: new ( conn, package, version)
291- . ok_or ( failure:: err_msg ( "could not fetch crate details" ) ) ?;
288+ let details = CrateDetails :: new ( conn, package, version)
289+ . ok_or ( failure:: err_msg ( "could not fetch crate details" ) ) ?;
292290
293- Ok ( details. last_successful_build == expected_last_successful_build)
294- } ;
291+ Ok ( details. last_successful_build == expected_last_successful_build)
292+ }
295293
294+ #[ test]
295+ fn test_last_successful_build ( ) {
296296 crate :: test:: with_database ( |db| {
297297 // Create some releases in the database, of which the last release failed to build
298298 db. fake_release ( )
@@ -316,4 +316,26 @@ mod tests {
316316 Ok ( ( ) )
317317 } ) ;
318318 }
319+
320+ #[ test]
321+ fn test_last_successful_build_but_none_succeeded ( ) {
322+ crate :: test:: with_database ( |db| {
323+ // Create some releases in the database, of which all failed to build
324+ db. fake_release ( )
325+ . name ( "foo" )
326+ . version ( "0.0.1" )
327+ . build_result_successful ( false )
328+ . create ( ) ?;
329+ db. fake_release ( )
330+ . name ( "foo" )
331+ . version ( "0.0.2" )
332+ . build_result_successful ( false )
333+ . create ( ) ?;
334+
335+ assert ! ( last_successful_build_equals( & db. conn( ) , "foo" , "0.0.1" , None ) ?) ;
336+ assert ! ( last_successful_build_equals( & db. conn( ) , "foo" , "0.0.2" , None ) ?) ;
337+
338+ Ok ( ( ) )
339+ } ) ;
340+ }
319341}
0 commit comments