| 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 # This file contains a set of utilities functions used by other Python-based | 5 # This file contains a set of utilities functions used by other Python-based |
| 6 # scripts. | 6 # scripts. |
| 7 | 7 |
| 8 import commands | 8 import commands |
| 9 import datetime | 9 import datetime |
| 10 import json | 10 import json |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 """Execute a command in a subprocess.""" | 566 """Execute a command in a subprocess.""" |
| 567 print 'Executing: ' + ' '.join(cmd) | 567 print 'Executing: ' + ' '.join(cmd) |
| 568 pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, | 568 pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, |
| 569 shell=IsWindows()) | 569 shell=IsWindows()) |
| 570 output = pipe.communicate() | 570 output = pipe.communicate() |
| 571 if pipe.returncode != 0: | 571 if pipe.returncode != 0: |
| 572 raise Exception('Execution failed: ' + str(output)) | 572 raise Exception('Execution failed: ' + str(output)) |
| 573 return pipe.returncode, output | 573 return pipe.returncode, output |
| 574 | 574 |
| 575 | 575 |
| 576 def DartBinary(): | |
| 577 # TODO(24311): Replace all uses of this with CheckedInSdk[Fix]Executable(). | |
| 578 tools_dir = os.path.dirname(os.path.realpath(__file__)) | |
| 579 dart_binary_prefix = os.path.join(tools_dir, 'testing', 'bin') | |
| 580 if IsWindows(): | |
| 581 return os.path.join(dart_binary_prefix, 'windows', 'dart.exe') | |
| 582 else: | |
| 583 arch = GuessArchitecture() | |
| 584 system = GuessOS() | |
| 585 if arch == 'armv5te': | |
| 586 # TODO(zra): This binary does not exist, yet. Check one in once we have | |
| 587 # sufficient stability. | |
| 588 return os.path.join(dart_binary_prefix, system, 'dart-armv5te') | |
| 589 elif arch == 'armv6': | |
| 590 # TODO(zra): Ditto. | |
| 591 return os.path.join(dart_binary_prefix, system, 'dart-armv6') | |
| 592 elif arch == 'arm': | |
| 593 return os.path.join(dart_binary_prefix, system, 'dart-arm') | |
| 594 elif arch == 'arm64': | |
| 595 return os.path.join(dart_binary_prefix, system, 'dart-arm64') | |
| 596 elif arch == 'mips': | |
| 597 return os.path.join(dart_binary_prefix, system, 'dart-mips') | |
| 598 else: | |
| 599 return os.path.join(dart_binary_prefix, system, 'dart') | |
| 600 | |
| 601 | |
| 602 def DartSdkBinary(): | |
| 603 tools_dir = os.path.dirname(os.path.realpath(__file__)) | |
| 604 dart_binary_prefix = os.path.join(tools_dir, '..', 'sdk' , 'bin') | |
| 605 return os.path.join(dart_binary_prefix, 'dart') | |
| 606 | |
| 607 | |
| 608 # The checked-in SDKs are documented at | 576 # The checked-in SDKs are documented at |
| 609 # https://github.com/dart-lang/sdk/wiki/The-checked-in-SDK-in-tools | 577 # https://github.com/dart-lang/sdk/wiki/The-checked-in-SDK-in-tools |
| 610 def CheckedInSdkPath(): | 578 def CheckedInSdkPath(): |
| 611 # We don't use the normal macos, linux, win32 directory names here, instead, | 579 # We don't use the normal macos, linux, win32 directory names here, instead, |
| 612 # we use the names that the download_from_google_storage script uses. | 580 # we use the names that the download_from_google_storage script uses. |
| 613 osdict = {'Darwin':'mac', 'Linux':'linux', 'Windows':'win'} | 581 osdict = {'Darwin':'mac', 'Linux':'linux', 'Windows':'win'} |
| 614 system = platform.system() | 582 system = platform.system() |
| 615 try: | 583 try: |
| 616 osname = osdict[system] | 584 osname = osdict[system] |
| 617 except KeyError: | 585 except KeyError: |
| (...skipping 11 matching lines...) Expand all Loading... |
| 629 if IsWindows(): | 597 if IsWindows(): |
| 630 name = 'dart.exe' | 598 name = 'dart.exe' |
| 631 elif GuessOS() == 'linux': | 599 elif GuessOS() == 'linux': |
| 632 arch = GuessArchitecture() | 600 arch = GuessArchitecture() |
| 633 if arch == 'mips': | 601 if arch == 'mips': |
| 634 name = 'dart-mips' | 602 name = 'dart-mips' |
| 635 elif arch == 'arm': | 603 elif arch == 'arm': |
| 636 name = 'dart-arm' | 604 name = 'dart-arm' |
| 637 elif arch == 'arm64': | 605 elif arch == 'arm64': |
| 638 name = 'dart-arm64' | 606 name = 'dart-arm64' |
| 607 elif arch == 'armv5te': |
| 608 # TODO(zra): This binary does not exist, yet. Check one in once we have |
| 609 # sufficient stability. |
| 610 name = 'dart-armv5te' |
| 611 elif arch == 'armv6': |
| 612 # TODO(zra): Ditto. |
| 613 name = 'dart-armv6' |
| 639 return os.path.join(CheckedInSdkPath(), 'bin', name) | 614 return os.path.join(CheckedInSdkPath(), 'bin', name) |
| 640 | 615 |
| 641 | 616 |
| 642 def CheckedInSdkCheckExecutable(): | 617 def CheckedInSdkCheckExecutable(): |
| 643 executable = CheckedInSdkExecutable() | 618 executable = CheckedInSdkExecutable() |
| 644 canary_script = os.path.join(os.path.dirname(os.path.realpath(__file__)), | 619 canary_script = os.path.join(os.path.dirname(os.path.realpath(__file__)), |
| 645 'canary.dart') | 620 'canary.dart') |
| 646 try: | 621 try: |
| 647 with open(os.devnull, 'wb') as silent_sink: | 622 with open(os.devnull, 'wb') as silent_sink: |
| 648 if 0 == subprocess.call([executable, canary_script], stdout=silent_sink): | 623 if 0 == subprocess.call([executable, canary_script], stdout=silent_sink): |
| (...skipping 25 matching lines...) Expand all Loading... |
| 674 os.chdir(self._working_directory) | 649 os.chdir(self._working_directory) |
| 675 | 650 |
| 676 def __exit__(self, *_): | 651 def __exit__(self, *_): |
| 677 print "Enter directory = ", self._old_cwd | 652 print "Enter directory = ", self._old_cwd |
| 678 os.chdir(self._old_cwd) | 653 os.chdir(self._old_cwd) |
| 679 | 654 |
| 680 | 655 |
| 681 if __name__ == "__main__": | 656 if __name__ == "__main__": |
| 682 import sys | 657 import sys |
| 683 Main() | 658 Main() |
| OLD | NEW |