OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 /** | 5 /** |
6 * Classes and methods for executing tests. | 6 * Classes and methods for executing tests. |
7 * | 7 * |
8 * This module includes: | 8 * This module includes: |
9 * - Managing parallel execution of tests, including timeout checks. | 9 * - Managing parallel execution of tests, including timeout checks. |
10 * - Evaluating the output of each test as pass/fail/crash/timeout. | 10 * - Evaluating the output of each test as pass/fail/crash/timeout. |
(...skipping 1896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1907 } else if (io.Platform.isMacOS) { | 1907 } else if (io.Platform.isMacOS) { |
1908 // Try to print stack traces of the timed out process. | 1908 // Try to print stack traces of the timed out process. |
1909 // `sample` is a sampling profiler but we ask it sample for 1 | 1909 // `sample` is a sampling profiler but we ask it sample for 1 |
1910 // second with a 4 second delay between samples so that we only | 1910 // second with a 4 second delay between samples so that we only |
1911 // sample the threads once. | 1911 // sample the threads once. |
1912 executable = '/usr/bin/sample'; | 1912 executable = '/usr/bin/sample'; |
1913 arguments = ['${process.pid}', '1', '4000', '-mayDie']; | 1913 arguments = ['${process.pid}', '1', '4000', '-mayDie']; |
1914 } else if (io.Platform.isWindows) { | 1914 } else if (io.Platform.isWindows) { |
1915 bool is_x64 = command.executable.contains("X64") || | 1915 bool is_x64 = command.executable.contains("X64") || |
1916 command.executable.contains("SIMARM64"); | 1916 command.executable.contains("SIMARM64"); |
1917 executable = configuration['win_sdk_path'] + | 1917 var win_sdk_path = configuration['win_sdk_path']; |
1918 "\\Debuggers\\" + (is_x64 ? "x64" : "x86") + "\\cdb.exe"; | 1918 if (win_sdk_path != null) { |
1919 diagnostics.add("Using $executable to print stack traces"); | 1919 executable = win_sdk_path + |
1920 arguments = ['-p', '${process.pid}', '-c', '!uniqstack;qd']; | 1920 "\\Debuggers\\" + (is_x64 ? "x64" : "x86") + "\\cdb.exe"; |
| 1921 diagnostics.add("Using $executable to print stack traces"); |
| 1922 arguments = ['-p', '${process.pid}', '-c', '!uniqstack;qd']; |
| 1923 } else { |
| 1924 diagnostics.add("win_sdk path not found"); |
| 1925 } |
1921 } | 1926 } |
1922 | 1927 |
1923 if (executable != null) { | 1928 if (executable != null) { |
1924 try { | 1929 try { |
1925 var result = await io.Process.run(executable, arguments); | 1930 var result = await io.Process.run(executable, arguments); |
1926 diagnostics.addAll(result.stdout.split('\n')); | 1931 diagnostics.addAll(result.stdout.split('\n')); |
1927 diagnostics.addAll(result.stderr.split('\n')); | 1932 diagnostics.addAll(result.stderr.split('\n')); |
1928 } catch (error) { | 1933 } catch (error) { |
1929 diagnostics.add("Unable to capture stack traces: $error"); | 1934 diagnostics.add("Unable to capture stack traces: $error"); |
1930 } | 1935 } |
(...skipping 1323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3254 } | 3259 } |
3255 } | 3260 } |
3256 | 3261 |
3257 void eventAllTestsDone() { | 3262 void eventAllTestsDone() { |
3258 for (var listener in _eventListener) { | 3263 for (var listener in _eventListener) { |
3259 listener.allDone(); | 3264 listener.allDone(); |
3260 } | 3265 } |
3261 _allDone(); | 3266 _allDone(); |
3262 } | 3267 } |
3263 } | 3268 } |
OLD | NEW |