File tree 5 files changed +40
-3
lines changed
5 files changed +40
-3
lines changed Original file line number Diff line number Diff line change @@ -47,7 +47,8 @@ Available commands:
47
47
exec Execute any command.
48
48
fmt Run formatter.
49
49
pub Run pub.
50
- pubspec Update pubspec.yaml
50
+ pubspec Update pubspec.yaml.
51
+ test Run tests.
51
52
```
52
53
53
54
` pubspec ` has 3 subcommands:
Original file line number Diff line number Diff line change 1
1
import "dart:io" ;
2
2
3
3
import "package:args/command_runner.dart" ;
4
- import "package:multipack/package.dart" ;
5
4
import "package:multipack/commands.dart" ;
5
+ import "package:multipack/package.dart" ;
6
6
7
7
void main (List <String > arguments) async {
8
8
final dependencyGraph = await getPackageGraph (Directory .current);
@@ -51,6 +51,7 @@ void main(List<String> arguments) async {
51
51
runner.addCommand (AnalyzeCommand (orderedPackages));
52
52
runner.addCommand (ExecCommand (orderedPackages));
53
53
runner.addCommand (PubspecCommand (orderedPackages));
54
+ runner.addCommand (TestCommand (orderedPackages));
54
55
55
56
await runner.run (arguments);
56
57
}
Original file line number Diff line number Diff line change @@ -9,3 +9,4 @@ export "commands/fmt.dart";
9
9
export "commands/info.dart" ;
10
10
export "commands/pub.dart" ;
11
11
export "commands/pubspec.dart" ;
12
+ export "commands/test.dart" ;
Original file line number Diff line number Diff line change
1
+ import "dart:async" ;
2
+
3
+ import "package:multipack/commands/common.dart" ;
4
+ import "package:multipack/package.dart" ;
5
+
6
+ class TestCommand extends PassthroughCommand {
7
+ TestCommand (List <Package > packages)
8
+ : super (
9
+ "test" ,
10
+ "Run tests." ,
11
+ packages,
12
+ );
13
+
14
+ @override
15
+ FutureOr <int > runOnPackage (Package package) => package.test (
16
+ argResults.arguments,
17
+ nameWidth: nameWidth,
18
+ );
19
+ }
Original file line number Diff line number Diff line change @@ -3,10 +3,10 @@ library package;
3
3
4
4
import "dart:io" ;
5
5
6
+ import "package:ansicolor/ansicolor.dart" ;
6
7
import "package:directed_graph/directed_graph.dart" ;
7
8
import "package:meta/meta.dart" ;
8
9
import "package:pubspec/pubspec.dart" ;
9
- import "package:ansicolor/ansicolor.dart" ;
10
10
11
11
final mpPen = AnsiPen ()
12
12
..xterm (89 , bg: true )
@@ -137,6 +137,21 @@ class Package {
137
137
);
138
138
}
139
139
140
+ Future <int > test (
141
+ List <String > args, {
142
+ int nameWidth,
143
+ }) {
144
+ final executable = isFlutter ? "flutter" : "dart" ;
145
+
146
+ final arguments = isFlutter ? ["test" , ...args] : ["test" , ...args];
147
+
148
+ return run (
149
+ executable,
150
+ arguments,
151
+ nameWidth: nameWidth,
152
+ );
153
+ }
154
+
140
155
@override
141
156
String toString () => name;
142
157
}
You can’t perform that action at this time.
0 commit comments