Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: tools/testing/dart/command_output.dart

Issue 2944163002: Remove unused PubCommand stuff. (Closed)
Patch Set: Merge branch 'master' into remove-pub-command Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/testing/dart/command.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:convert'; 5 import 'dart:convert';
6 // We need to use the 'io' prefix here, otherwise io.exitCode will shadow 6 // We need to use the 'io' prefix here, otherwise io.exitCode will shadow
7 // CommandOutput.exitCode in subclasses of CommandOutput. 7 // CommandOutput.exitCode in subclasses of CommandOutput.
8 import 'dart:io' as io; 8 import 'dart:io' as io;
9 9
10 import 'browser_controller.dart'; 10 import 'browser_controller.dart';
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 if (exitCode != 0) return Expectation.pass; 753 if (exitCode != 0) return Expectation.pass;
754 return Expectation.missingRuntimeError; 754 return Expectation.missingRuntimeError;
755 } 755 }
756 756
757 var outcome = exitCode == 0 ? Expectation.pass : Expectation.runtimeError; 757 var outcome = exitCode == 0 ? Expectation.pass : Expectation.runtimeError;
758 outcome = _negateOutcomeIfIncompleteAsyncTest(outcome, decodeUtf8(stdout)); 758 outcome = _negateOutcomeIfIncompleteAsyncTest(outcome, decodeUtf8(stdout));
759 return _negateOutcomeIfNegativeTest(outcome, testCase.isNegative); 759 return _negateOutcomeIfNegativeTest(outcome, testCase.isNegative);
760 } 760 }
761 } 761 }
762 762
763 class PubCommandOutput extends CommandOutput {
764 PubCommandOutput(PubCommand command, int exitCode, bool timedOut,
765 List<int> stdout, List<int> stderr, Duration time)
766 : super(command, exitCode, timedOut, stdout, stderr, time, false, 0);
767
768 Expectation result(TestCase testCase) {
769 // Handle crashes and timeouts first.
770 if (hasCrashed) return Expectation.crash;
771 if (hasTimedOut) return Expectation.timeout;
772 if (hasNonUtf8) return Expectation.nonUtf8Error;
773
774 if (exitCode == 0) {
775 return Expectation.pass;
776 } else if ((command as PubCommand).command == 'get') {
777 return Expectation.pubGetError;
778 } else {
779 return Expectation.fail;
780 }
781 }
782 }
783
784 class ScriptCommandOutput extends CommandOutput { 763 class ScriptCommandOutput extends CommandOutput {
785 final Expectation _result; 764 final Expectation _result;
786 765
787 ScriptCommandOutput(ScriptCommand command, this._result, 766 ScriptCommandOutput(ScriptCommand command, this._result,
788 String scriptExecutionInformation, Duration time) 767 String scriptExecutionInformation, Duration time)
789 : super(command, 0, false, [], [], time, false, 0) { 768 : super(command, 0, false, [], [], time, false, 0) {
790 var lines = scriptExecutionInformation.split("\n"); 769 var lines = scriptExecutionInformation.split("\n");
791 diagnostics.addAll(lines); 770 diagnostics.addAll(lines);
792 } 771 }
793 772
(...skipping 29 matching lines...) Expand all
823 if (command.displayName == 'precompiler' || 802 if (command.displayName == 'precompiler' ||
824 command.displayName == 'app_jit') { 803 command.displayName == 'app_jit') {
825 return new VMCommandOutput( 804 return new VMCommandOutput(
826 command, exitCode, timedOut, stdout, stderr, time, pid); 805 command, exitCode, timedOut, stdout, stderr, time, pid);
827 } 806 }
828 return new CompilationCommandOutput( 807 return new CompilationCommandOutput(
829 command, exitCode, timedOut, stdout, stderr, time, compilationSkipped); 808 command, exitCode, timedOut, stdout, stderr, time, compilationSkipped);
830 } else if (command is JSCommandlineCommand) { 809 } else if (command is JSCommandlineCommand) {
831 return new JSCommandLineOutput( 810 return new JSCommandLineOutput(
832 command, exitCode, timedOut, stdout, stderr, time); 811 command, exitCode, timedOut, stdout, stderr, time);
833 } else if (command is PubCommand) {
834 return new PubCommandOutput(
835 command, exitCode, timedOut, stdout, stderr, time);
836 } 812 }
837 813
838 return new CommandOutput(command, exitCode, timedOut, stdout, stderr, time, 814 return new CommandOutput(command, exitCode, timedOut, stdout, stderr, time,
839 compilationSkipped, pid); 815 compilationSkipped, pid);
840 } 816 }
841 817
842 class UnittestSuiteMessagesMixin { 818 class UnittestSuiteMessagesMixin {
843 bool _isAsyncTest(String testOutput) { 819 bool _isAsyncTest(String testOutput) {
844 return testOutput.contains("unittest-suite-wait-for-done"); 820 return testOutput.contains("unittest-suite-wait-for-done");
845 } 821 }
846 822
847 bool _isAsyncTestSuccessful(String testOutput) { 823 bool _isAsyncTestSuccessful(String testOutput) {
848 return testOutput.contains("unittest-suite-success"); 824 return testOutput.contains("unittest-suite-success");
849 } 825 }
850 826
851 Expectation _negateOutcomeIfIncompleteAsyncTest( 827 Expectation _negateOutcomeIfIncompleteAsyncTest(
852 Expectation outcome, String testOutput) { 828 Expectation outcome, String testOutput) {
853 // If this is an asynchronous test and the asynchronous operation didn't 829 // If this is an asynchronous test and the asynchronous operation didn't
854 // complete successfully, it's outcome is Expectation.FAIL. 830 // complete successfully, it's outcome is Expectation.FAIL.
855 // TODO: maybe we should introduce a AsyncIncomplete marker or so 831 // TODO: maybe we should introduce a AsyncIncomplete marker or so
856 if (outcome == Expectation.pass) { 832 if (outcome == Expectation.pass) {
857 if (_isAsyncTest(testOutput) && !_isAsyncTestSuccessful(testOutput)) { 833 if (_isAsyncTest(testOutput) && !_isAsyncTestSuccessful(testOutput)) {
858 return Expectation.fail; 834 return Expectation.fail;
859 } 835 }
860 } 836 }
861 return outcome; 837 return outcome;
862 } 838 }
863 } 839 }
OLDNEW
« no previous file with comments | « tools/testing/dart/command.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698