Commit a39db50 1 parent 3fdfe9d commit a39db50 Copy full SHA for a39db50
File tree 2 files changed +40
-2
lines changed
extensions/scarb-cairo-test
2 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -66,9 +66,11 @@ fn main() -> Result<()> {
66
66
let metadata = MetadataCommand :: new ( ) . inherit_stderr ( ) . exec ( ) ?;
67
67
68
68
check_scarb_version ( & metadata) ;
69
- check_cairo_test_plugin ( & metadata) ;
70
69
71
70
let matched = args. packages_filter . match_many ( & metadata) ?;
71
+ let matched_ids = matched. iter ( ) . map ( |p| p. id . clone ( ) ) . collect :: < Vec < _ > > ( ) ;
72
+ check_cairo_test_plugin ( & metadata, & matched_ids) ;
73
+
72
74
let filter = PackagesFilter :: generate_for :: < Metadata > ( matched. iter ( ) ) ;
73
75
let test_kind = args. test_kind . unwrap_or_default ( ) ;
74
76
let target_names = matched
@@ -214,7 +216,7 @@ fn check_scarb_version(metadata: &Metadata) {
214
216
}
215
217
}
216
218
217
- fn check_cairo_test_plugin ( metadata : & Metadata ) {
219
+ fn check_cairo_test_plugin ( metadata : & Metadata , packages : & [ PackageId ] ) {
218
220
let app_version = env ! ( "CARGO_PKG_VERSION" ) . to_string ( ) ;
219
221
let warn = || {
220
222
println ! (
@@ -249,6 +251,9 @@ fn check_cairo_test_plugin(metadata: &Metadata) {
249
251
if cu. target . kind != "test" {
250
252
continue ;
251
253
}
254
+ if !packages. contains ( & cu. package ) {
255
+ continue ;
256
+ }
252
257
if !cu
253
258
. cairo_plugins
254
259
. iter ( )
Original file line number Diff line number Diff line change
1
+ use assert_fs:: prelude:: PathChild ;
1
2
use assert_fs:: TempDir ;
2
3
use indoc:: { formatdoc, indoc} ;
3
4
use scarb_test_support:: command:: Scarb ;
4
5
use scarb_test_support:: project_builder:: ProjectBuilder ;
6
+ use scarb_test_support:: workspace_builder:: WorkspaceBuilder ;
5
7
6
8
#[ test]
7
9
fn can_test_without_gas ( ) {
@@ -289,6 +291,37 @@ fn warn_if_cairo_test_plugin_missing() {
289
291
"# } ) ;
290
292
}
291
293
294
+ #[ test]
295
+ fn do_not_warn_on_non_tested_package ( ) {
296
+ let t = TempDir :: new ( ) . unwrap ( ) ;
297
+ let pkg1 = t. child ( "first" ) ;
298
+ ProjectBuilder :: start ( ) . name ( "first" ) . build ( & pkg1) ;
299
+ let pkg2 = t. child ( "second" ) ;
300
+ ProjectBuilder :: start ( )
301
+ . name ( "second" )
302
+ . dep_cairo_test ( )
303
+ . build ( & pkg2) ;
304
+ WorkspaceBuilder :: start ( )
305
+ . add_member ( "first" )
306
+ . add_member ( "second" )
307
+ . build ( & t) ;
308
+ Scarb :: quick_snapbox ( )
309
+ . arg ( "cairo-test" )
310
+ . arg ( "--package" )
311
+ . arg ( "second" )
312
+ . current_dir ( & t)
313
+ . assert ( )
314
+ . success ( )
315
+ . stdout_matches ( indoc ! { r#"
316
+ [..]Compiling test(second_unittest) second v1.0.0 ([..]Scarb.toml)
317
+ [..]Finished `dev` profile target(s) in [..]
318
+ testing second ...
319
+ running 0 tests
320
+ test result: ok. 0 passed; 0 failed; 0 ignored; 0 filtered out;
321
+
322
+ "# } ) ;
323
+ }
324
+
292
325
#[ test]
293
326
fn can_choose_test_kind_to_run ( ) {
294
327
let t = TempDir :: new ( ) . unwrap ( ) ;
You can’t perform that action at this time.
0 commit comments