| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|  | 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. | 
|  | 4 | 
|  | 5 /// A simple unit test library for running tests on the VM. | 
|  | 6 library unittest.vm_config; | 
|  | 7 | 
|  | 8 import 'dart:async'; | 
|  | 9 import 'dart:io'; | 
|  | 10 import 'unittest.dart'; | 
|  | 11 | 
|  | 12 class VMConfiguration extends SimpleConfiguration { | 
|  | 13   // Color constants used for generating messages. | 
|  | 14   final String GREEN_COLOR = '\u001b[32m'; | 
|  | 15   final String RED_COLOR = '\u001b[31m'; | 
|  | 16   final String MAGENTA_COLOR = '\u001b[35m'; | 
|  | 17   final String NO_COLOR = '\u001b[0m'; | 
|  | 18 | 
|  | 19   // We make this public so the user can turn it off if they want. | 
|  | 20   bool useColor; | 
|  | 21 | 
|  | 22   VMConfiguration() | 
|  | 23       : super(), | 
|  | 24         useColor = stdioType(stdout) == StdioType.TERMINAL; | 
|  | 25 | 
|  | 26   String formatResult(TestCase testCase) { | 
|  | 27     String result = super.formatResult(testCase); | 
|  | 28     if (useColor) { | 
|  | 29       if (testCase.result == PASS) { | 
|  | 30         return "${GREEN_COLOR}${result}${NO_COLOR}"; | 
|  | 31       } else if (testCase.result == FAIL) { | 
|  | 32         return "${RED_COLOR}${result}${NO_COLOR}"; | 
|  | 33       } else if (testCase.result == ERROR) { | 
|  | 34         return "${MAGENTA_COLOR}${result}${NO_COLOR}"; | 
|  | 35       } | 
|  | 36     } | 
|  | 37     return result; | 
|  | 38   } | 
|  | 39 | 
|  | 40   void onInit() { | 
|  | 41     super.onInit(); | 
|  | 42     filterStacks = formatStacks = true; | 
|  | 43   } | 
|  | 44 | 
|  | 45   void onDone(bool success) { | 
|  | 46     int status; | 
|  | 47     try { | 
|  | 48       super.onDone(success); | 
|  | 49       status = 0; | 
|  | 50     } catch (ex) { | 
|  | 51       // A non-zero exit code is used by the test infrastructure to detect | 
|  | 52       // failure. | 
|  | 53       status = 1; | 
|  | 54     } | 
|  | 55     Future.wait([stdout.close(), stderr.close()]).then((_) { | 
|  | 56       exit(status); | 
|  | 57     }); | 
|  | 58   } | 
|  | 59 } | 
|  | 60 | 
|  | 61 void useVMConfiguration() { | 
|  | 62   unittestConfiguration = _singleton; | 
|  | 63 } | 
|  | 64 | 
|  | 65 final _singleton = new VMConfiguration(); | 
| OLD | NEW | 
|---|