Index: tools/testing/dart/test_progress.dart |
diff --git a/tools/testing/dart/test_progress.dart b/tools/testing/dart/test_progress.dart |
index 7751d63677c5c0c49edb19336d21a68bf8944abd..d1af50c408c5fd3c8f0af620cdb3b4f9c0feca78 100644 |
--- a/tools/testing/dart/test_progress.dart |
+++ b/tools/testing/dart/test_progress.dart |
@@ -319,17 +319,20 @@ class UnexpectedCrashDumpArchiver extends EventListener { |
final archivedBinaries = new Set<String>(); |
void done(TestCase test) { |
- if (test.unexpectedOutput && test.result == Expectation.CRASH) { |
+ if (test.unexpectedOutput && |
+ test.result == Expectation.CRASH && |
+ test.lastCommandExecuted is ProcessCommand) { |
final name = "core.${test.lastCommandOutput.pid}"; |
final file = new File(name); |
final exists = file.existsSync(); |
if (exists) { |
+ final lastCommand = test.lastCommandExecuted as ProcessCommand; |
// We have a coredump for the process. This coredump will be archived by |
// CoreDumpArchiver (see tools/utils.py). For debugging purposes we |
// need to archive the crashed binary as well. To simplify the |
// archiving code we simply copy binaries into current folder next to |
// core dumps and name them `core.${mode}_${arch}_${binary_name}`. |
- final binName = test.lastCommandExecuted.executable; |
+ final binName = lastCommand.executable; |
final binFile = new File(binName); |
final binBaseName = new Path(binName).filename; |
if (archivedBinaries.contains(binBaseName)) { |