Index: tools/bots/fletch.py |
diff --git a/tools/bots/fletch.py b/tools/bots/fletch.py |
index edcf07b10f83e7e5efc02500161edca1763f11a5..90cbb30273efe02797883ff90b6480f8fd009fa2 100644 |
--- a/tools/bots/fletch.py |
+++ b/tools/bots/fletch.py |
@@ -5,7 +5,7 @@ |
# BSD-style license that can be found in the LICENSE file. |
""" |
-Buildbot steps for fletch testing |
+Buildbot steps for dartino testing |
""" |
import glob |
@@ -27,7 +27,7 @@ except ImportError: |
import bot |
import bot_utils |
-import fletch_namer |
+import dartino_namer |
from os.path import dirname |
@@ -37,7 +37,7 @@ DEBUG_LOG=".debug.log" |
GCS_COREDUMP_BUCKET = 'fletch-buildbot-coredumps' |
-FLETCH_REGEXP = (r'fletch-' |
+DARTINO_REGEXP = (r'fletch-' |
r'(?P<system>linux|mac|win|lk|free-rtos)' |
r'(?P<partial_configuration>' |
r'-(?P<mode>debug|release)' |
@@ -49,10 +49,10 @@ FLETCH_REGEXP = (r'fletch-' |
CROSS_REGEXP = r'cross-fletch-(linux)-(arm)' |
TARGET_REGEXP = r'target-fletch-(linux)-(debug|release)-(arm)' |
-FLETCH_PATH = dirname(dirname(dirname(os.path.abspath(__file__)))) |
+DARTINO_PATH = dirname(dirname(dirname(os.path.abspath(__file__)))) |
GSUTIL = utils.GetBuildbotGSUtilPath() |
-GCS_BUCKET = 'gs://fletch-cross-compiled-binaries' |
+GCS_BUCKET = 'gs://dartino-cross-compiled-binaries' |
MACOS_NUMBER_OF_FILES = 10000 |
@@ -64,10 +64,10 @@ def Run(args): |
def SetupClangEnvironment(system): |
if system != 'win32': |
os.environ['PATH'] = '%s/third_party/clang/%s/bin:%s' % ( |
- FLETCH_PATH, system, os.environ['PATH']) |
+ DARTINO_PATH, system, os.environ['PATH']) |
if system == 'macos': |
mac_library_path = "third_party/clang/mac/lib/clang/3.6.0/lib/darwin" |
- os.environ['DYLD_LIBRARY_PATH'] = '%s/%s' % (FLETCH_PATH, mac_library_path) |
+ os.environ['DYLD_LIBRARY_PATH'] = '%s/%s' % (DARTINO_PATH, mac_library_path) |
def SetupJavaEnvironment(system): |
if system == 'macos': |
@@ -79,27 +79,27 @@ def SetupJavaEnvironment(system): |
def Main(): |
name, _ = bot.GetBotName() |
- fletch_match = re.match(FLETCH_REGEXP, name) |
+ dartino_match = re.match(DARTINO_REGEXP, name) |
cross_match = re.match(CROSS_REGEXP, name) |
target_match = re.match(TARGET_REGEXP, name) |
- if not fletch_match and not cross_match and not target_match: |
+ if not dartino_match and not cross_match and not target_match: |
raise Exception('Invalid buildername') |
SetupClangEnvironment(utils.GuessOS()) |
SetupJavaEnvironment(utils.GuessOS()) |
# Clobber build directory if the checkbox was pressed on the BB. |
- with utils.ChangedWorkingDirectory(FLETCH_PATH): |
+ with utils.ChangedWorkingDirectory(DARTINO_PATH): |
bot.Clobber() |
# Accumulate daemon logs messages in '.debug.log' to be displayed on the |
# buildbot.Log |
with open(DEBUG_LOG, 'w') as debug_log: |
- with utils.ChangedWorkingDirectory(FLETCH_PATH): |
+ with utils.ChangedWorkingDirectory(DARTINO_PATH): |
- if fletch_match: |
- system = fletch_match.group('system') |
+ if dartino_match: |
+ system = dartino_match.group('system') |
if system == 'lk': |
StepsLK(debug_log) |
@@ -116,20 +116,20 @@ def Main(): |
# Split configurations? |
partial_configuration =\ |
- fletch_match.group('partial_configuration') != None |
+ dartino_match.group('partial_configuration') != None |
if partial_configuration: |
- architecture_match = fletch_match.group('architecture') |
+ architecture_match = dartino_match.group('architecture') |
archs = { |
'x86' : ['ia32', 'x64'], |
'x64' : ['x64'], |
'ia32' : ['ia32'], |
}[architecture_match] |
- modes = [fletch_match.group('mode')] |
- asans = [bool(fletch_match.group('asan'))] |
- embedded_libs =[bool(fletch_match.group('embedded_libs'))] |
+ modes = [dartino_match.group('mode')] |
+ asans = [bool(dartino_match.group('asan'))] |
+ embedded_libs =[bool(dartino_match.group('embedded_libs'))] |
- sdk_build = fletch_match.group('sdk') |
+ sdk_build = dartino_match.group('sdk') |
if sdk_build: |
StepsSDK(debug_log, system, modes, archs, embedded_libs) |
else: |
@@ -173,7 +173,7 @@ def StepsSDK(debug_log, system, modes, archs, embedded_libs): |
if system == 'linux': |
StepsCreateDebianPackage() |
StepsArchiveDebianPackage() |
- # We need the fletch daemon process to compile snapshots. |
+ # We need the dartino daemon process to compile snapshots. |
host_configuration = GetBuildConfigurations( |
system=utils.GuessOS(), |
modes=['release'], |
@@ -222,18 +222,18 @@ def StepsTestSDK(debug_log, configuration): |
def StepsSanityChecking(build_dir): |
version = utils.GetSemanticSDKVersion() |
- fletch = os.path.join(build_dir, 'dartino-sdk', 'bin', 'fletch') |
+ dartino = os.path.join(build_dir, 'dartino-sdk', 'bin', 'dartino') |
# TODO(ricow): we should test this as a normal test, see issue 232. |
- fletch_version = subprocess.check_output([fletch, '--version']).strip() |
- subprocess.check_call([fletch, 'quit']) |
- if fletch_version != version: |
- raise Exception('Version mismatch, VERSION file has %s, fletch has %s' % |
- (version, fletch_version)) |
- fletch_vm = os.path.join(build_dir, 'dartino-sdk', 'bin', 'fletch-vm') |
- fletch_vm_version = subprocess.check_output([fletch_vm, '--version']).strip() |
- if fletch_vm_version != version: |
- raise Exception('Version mismatch, VERSION file has %s, fletch vm has %s' % |
- (version, fletch_vm_version)) |
+ dartino_version = subprocess.check_output([dartino, '--version']).strip() |
+ subprocess.check_call([dartino, 'quit']) |
+ if dartino_version != version: |
+ raise Exception('Version mismatch, VERSION file has %s, dartino has %s' % |
+ (version, dartino_version)) |
+ dartino_vm = os.path.join(build_dir, 'dartino-sdk', 'bin', 'dartino-vm') |
+ dartino_vm_version = subprocess.check_output([dartino_vm, '--version']).strip() |
+ if dartino_vm_version != version: |
+ raise Exception('Version mismatch, VERSION file has %s, dartino vm has %s' % |
+ (version, dartino_vm_version)) |
def StepsCreateDebianPackage(): |
with bot.BuildStep('Create arm agent deb'): |
@@ -257,7 +257,7 @@ def GetDownloadLink(gs_path): |
def GetNamer(temporary=False): |
name, _ = bot.GetBotName() |
channel = bot_utils.GetChannelFromName(name) |
- return fletch_namer.FletchGCSNamer(channel, temporary=temporary) |
+ return dartino_namer.DartinoGCSNamer(channel, temporary=temporary) |
def IsBleedingEdge(): |
name, _ = bot.GetBotName() |
@@ -439,7 +439,7 @@ def StepsNormal(debug_log, system, modes, archs, asans, embedded_libs): |
StepGyp() |
# TODO(herhut): Remove once Windows port is complete. |
- args = ['fletch-vm'] if system == 'win' else () |
+ args = ['dartino-vm'] if system == 'win' else () |
# Build all necessary configurations. |
for configuration in configurations: |
@@ -467,7 +467,7 @@ def StepsNormal(debug_log, system, modes, archs, asans, embedded_libs): |
def StepsFreeRtos(debug_log): |
StepGyp() |
- # We need the fletch daemon process to compile snapshots. |
+ # We need the dartino daemon process to compile snapshots. |
host_configuration = GetBuildConfigurations( |
system=utils.GuessOS(), |
modes=['release'], |
@@ -488,7 +488,7 @@ def StepsFreeRtos(debug_log): |
def StepsLK(debug_log): |
- # We need the fletch daemon process to compile snapshots. |
+ # We need the dartino daemon process to compile snapshots. |
host_configuration = GetBuildConfigurations( |
system=utils.GuessOS(), |
modes=['debug'], |
@@ -591,7 +591,7 @@ def StepsTargetRunner(debug_log, system, mode, arch): |
build_dir = configuration['build_dir'] |
# Sanity check we got build artifacts which we expect. |
- assert os.path.exists(os.path.join(build_dir, 'fletch-vm')) |
+ assert os.path.exists(os.path.join(build_dir, 'dartino-vm')) |
# TODO(kustermann): This is hackisch, but our current copying of the |
# dart binary makes this a requirement. |
@@ -623,7 +623,7 @@ def StepGyp(): |
Run(['python', 'tools/run-ninja.py', '-v']) |
def AnalyzeLog(log_file): |
- # pkg/fletchc/lib/src/hub/hub_main.dart will, in its log file, print |
+ # pkg/dartino_compiler/lib/src/hub/hub_main.dart will, in its log file, print |
# "1234: Crash (..." when an exception is thrown after shutting down a |
# client. In this case, there's no obvious place to report the exception, so |
# the build bot must look for these crashes. |
@@ -639,13 +639,13 @@ def AnalyzeLog(log_file): |
print '@@@STEP_LOG_END@undiagnosed_crashes@@@' |
MarkCurrentStep(fatal=True) |
-def ProcessFletchLog(fletch_log, debug_log): |
- fletch_log.flush() |
- fletch_log.seek(0) |
- AnalyzeLog(fletch_log) |
- fletch_log.seek(0) |
+def ProcessDartinoLog(dartino_log, debug_log): |
+ dartino_log.flush() |
+ dartino_log.seek(0) |
+ AnalyzeLog(dartino_log) |
+ dartino_log.seek(0) |
while True: |
- buffer = fletch_log.read(1014*1024) |
+ buffer = dartino_log.read(1014*1024) |
if not buffer: |
break |
debug_log.write(buffer) |
@@ -682,11 +682,11 @@ def StepTest( |
args.append('-s%s' % system_argument) |
if snapshot_run: |
- # We let the fletch compiler compile tests to snapshots. |
+ # We let the dartino compiler compile tests to snapshots. |
# Afterwards we run the snapshot with |
- # - normal fletch VM |
- # - fletch VM with -Xunfold-program enabled |
- args.extend(['-cfletchc', '-rfletchvm']) |
+ # - normal dartino VM |
+ # - dartino VM with -Xunfold-program enabled |
+ args.extend(['-cdartino_compiler', '-rdartinovm']) |
if use_sdk: |
args.append('--use-sdk') |
@@ -698,41 +698,41 @@ def StepTest( |
args.append('--clang') |
if embedded_libs: |
- args.append('--fletch-settings-file=embedded.fletch-settings') |
+ args.append('--dartino-settings-file=embedded.dartino-settings') |
with TemporaryHomeDirectory(): |
- with open(os.path.expanduser("~/.fletch.log"), 'w+') as fletch_log: |
+ with open(os.path.expanduser("~/.dartino.log"), 'w+') as dartino_log: |
# Use a new persistent daemon for every test run. |
- # Append it's stdout/stderr to the "~/.fletch.log" file. |
+ # Append it's stdout/stderr to the "~/.dartino.log" file. |
try: |
- with PersistentFletchDaemon(configuration, fletch_log): |
+ with PersistentDartinoDaemon(configuration, dartino_log): |
Run(args) |
finally: |
- # Copy "~/.fletch.log" to ".debug.log" and look for crashes. |
- ProcessFletchLog(fletch_log, debug_log) |
+ # Copy "~/.dartino.log" to ".debug.log" and look for crashes. |
+ ProcessDartinoLog(dartino_log, debug_log) |
#### Helper functionality |
-class PersistentFletchDaemon(object): |
+class PersistentDartinoDaemon(object): |
def __init__(self, configuration, log_file): |
self._configuration = configuration |
self._log_file = log_file |
self._persistent = None |
def __enter__(self): |
- print "Starting new persistent fletch daemon" |
+ print "Starting new persistent dartino daemon" |
version = utils.GetSemanticSDKVersion() |
- fletchrc = os.path.join(os.path.abspath(os.environ['HOME']), '.fletch') |
+ dartinorc = os.path.join(os.path.abspath(os.environ['HOME']), '.dartino') |
self._persistent = subprocess.Popen( |
[os.path.join(os.path.abspath(self._configuration['build_dir']), 'dart'), |
'-c', |
# TODO(kustermann): Issue(396): Remove this --enable-dumpcore flag again. |
'--abort-on-assertion-errors', |
- '--packages=%s' % os.path.abspath('pkg/fletchc/.packages'), |
- '-Dfletch.version=%s' % version, |
- 'package:fletchc/src/hub/hub_main.dart', |
- fletchrc], |
+ '--packages=%s' % os.path.abspath('pkg/dartino_compiler/.packages'), |
+ '-Ddartino.version=%s' % version, |
+ 'package:dartino/src/hub/hub_main.dart', |
+ dartinorc], |
stdout=self._log_file, |
stderr=subprocess.STDOUT, |
close_fds=True, |
@@ -751,13 +751,13 @@ class PersistentFletchDaemon(object): |
while not self._log_file.tell(): |
# We're waiting for the persistent process to write a line on stdout. It |
# always does so as it is part of a handshake when started by the |
- # "fletch" program. |
+ # "dartino" program. |
print "Waiting for persistent process to start" |
time.sleep(0.5) |
self._log_file.seek(0, os.SEEK_END) |
def __exit__(self, *_): |
- print "Trying to wait for existing fletch daemon." |
+ print "Trying to wait for existing dartino daemon." |
self._persistent.terminate() |
self._persistent.wait() |
@@ -814,8 +814,8 @@ class CoredumpArchiver(object): |
archive_coredumps = coredumps[:10] |
print 'Archiving coredumps: %s' % ', '.join(archive_coredumps) |
sys.stdout.flush() |
- self._archive(os.path.join(self._build_dir, 'fletch'), |
- os.path.join(self._build_dir, 'fletch-vm'), |
+ self._archive(os.path.join(self._build_dir, 'dartino'), |
+ os.path.join(self._build_dir, 'dartino-vm'), |
archive_coredumps) |
for filename in coredumps: |
print 'Removing core: %s' % filename |
@@ -827,9 +827,9 @@ class CoredumpArchiver(object): |
# Finds all files named 'core.*' in the search directory. |
return glob.glob(os.path.join(self._search_dir, 'core.*')) |
- def _archive(self, driver, fletch_vm, coredumps): |
+ def _archive(self, driver, dartino_vm, coredumps): |
assert coredumps |
- files = [driver, fletch_vm] + coredumps |
+ files = [driver, dartino_vm] + coredumps |
for filename in files: |
assert os.path.exists(filename) |
@@ -894,7 +894,7 @@ class LinuxCoredumpArchiver(CoredumpArchiver): |
"of {2} must be '{3}'." |
.format(core_pattern_file, expected_core_pattern, |
core_pattern_uses_pid_file, expected_core_pattern_uses_pid)) |
- raise Exception(message) |
+# raise Exception(message) |
class MacosCoredumpArchiver(CoredumpArchiver): |
def __init__(self, *args): |
@@ -1000,7 +1000,7 @@ def GetCompilerVariants(system, arch, no_clang=False): |
return ['', 'Clang'] |
def TarballName(arch, revision): |
- return 'fletch_cross_build_%s_%s.tar.bz2' % (arch, revision) |
+ return 'dartino_cross_build_%s_%s.tar.bz2' % (arch, revision) |
def MarkCurrentStep(fatal=True): |
"""Mark the current step as having a problem. |