@@ -434,16 +434,28 @@ mod tests {
434
434
) ) ;
435
435
}
436
436
437
+ fn get_openblas_source ( ) -> PathBuf {
438
+ let openblas_src_root = PathBuf :: from ( env ! ( "CARGO_MANIFEST_DIR" ) ) . join ( "../openblas-src" ) ;
439
+ let openblas_version = "0.3.21" ;
440
+ let source = openblas_src_root. join ( format ! ( "OpenBLAS-{}" , openblas_version) ) ;
441
+ if !source. exists ( ) {
442
+ Command :: new ( "tar" )
443
+ . arg ( "xf" )
444
+ . arg ( format ! ( "OpenBLAS-{}.tar.gz" , openblas_version) )
445
+ . current_dir ( openblas_src_root)
446
+ . status ( )
447
+ . expect ( "tar command not found" ) ;
448
+ }
449
+ source
450
+ }
451
+
437
452
#[ ignore]
438
453
#[ test]
439
454
fn build_default ( ) {
440
455
let root = PathBuf :: from ( env ! ( "CARGO_MANIFEST_DIR" ) ) ;
441
456
let opt = Configure :: default ( ) ;
442
457
let _detail = opt
443
- . build (
444
- root. join ( "../openblas-src/source" ) ,
445
- root. join ( "test_build/build_default" ) ,
446
- )
458
+ . build ( get_openblas_source ( ) , root. join ( "test_build/build_default" ) )
447
459
. unwrap ( ) ;
448
460
}
449
461
@@ -455,7 +467,7 @@ mod tests {
455
467
opt. no_shared = true ;
456
468
let detail = opt
457
469
. build (
458
- root . join ( "../openblas-src/source" ) ,
470
+ get_openblas_source ( ) ,
459
471
root. join ( "test_build/build_no_shared" ) ,
460
472
)
461
473
. unwrap ( ) ;
@@ -470,7 +482,7 @@ mod tests {
470
482
opt. no_lapacke = true ;
471
483
let detail = opt
472
484
. build (
473
- root . join ( "../openblas-src/source" ) ,
485
+ get_openblas_source ( ) ,
474
486
root. join ( "test_build/build_no_lapacke" ) ,
475
487
)
476
488
. unwrap ( ) ;
@@ -486,10 +498,7 @@ mod tests {
486
498
let mut opt = Configure :: default ( ) ;
487
499
opt. use_openmp = true ;
488
500
let detail = opt
489
- . build (
490
- root. join ( "../openblas-src/source" ) ,
491
- root. join ( "test_build/build_openmp" ) ,
492
- )
501
+ . build ( get_openblas_source ( ) , root. join ( "test_build/build_openmp" ) )
493
502
. unwrap ( ) ;
494
503
assert ! ( detail. shared_lib. unwrap( ) . has_lib( "gomp" ) ) ;
495
504
}
0 commit comments