Last active
August 29, 2015 14:13
-
-
Save yazug/244f0a2c79b69583814c to your computer and use it in GitHub Desktop.
Failed Build Configs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import os | |
always_on = [ | |
'minimal', | |
] | |
always_off = [ | |
'leapfetch', | |
] | |
other = [ | |
'debug', | |
'chrpath', | |
'ipv6', | |
'manbuild', | |
'nostrip', | |
'slow', | |
'profiling', | |
'libQgpsmm', | |
] | |
knobs = [ | |
'reconfigure', | |
'aivdm', | |
'ashtech', | |
'bluez', | |
'clientdebug', | |
'control_socket', | |
'controlsend', | |
'coveraging', | |
'dbus_export', | |
'earthmate', | |
'evermore', | |
'force_global', | |
'fury', | |
'fv18', | |
'garmin', | |
'garmintxt', | |
'geostar', | |
'gpsclock', | |
'itrax', | |
'libgpsmm', | |
'mtk3301', | |
'navcom', | |
'ncurses', | |
'netfeed', | |
'nmea0183', | |
'nmea2000', | |
'nofloats', | |
'ntpshm', | |
'ntrip', | |
'oceanserver', | |
'oldstyle', | |
'oncore', | |
'passthrough', | |
'pps', | |
'python', | |
'qt', | |
'rtcm104v2', | |
'rtcm104v3', | |
'shared', | |
'shm_export', | |
'sirf', | |
'socket_export', | |
'squelch', | |
'superstar2', | |
'systemd', | |
'timing', | |
'tnt', | |
'tripmate', | |
'tsip', | |
'ublox', | |
'usb', | |
] | |
import itertools | |
failed_configurations = [] | |
for i in range(0, len(knobs)): | |
jj = itertools.combinations(knobs, i) | |
for row in list(jj): | |
params = [] | |
for key in always_on: | |
params.append(key+"=on") | |
for key in always_off: | |
params.append(key+"=off") | |
for key in knobs: | |
if key in row: | |
params.append(key+"=on") | |
#print {'on_params': row, 'scons_params': params} | |
import subprocess | |
command = ['scons', '-j9'] | |
command.extend(params) | |
if os.path.exists('.scons-option-cache'): | |
os.remove('.scons-option-cache') | |
retval = subprocess.call(['scons', '-c']) | |
retval = subprocess.call(command) | |
if retval != 0: | |
failed_configurations.append(command) | |
print command | |
with open('failed_build_configs.txt', 'a') as failed_configs: | |
failed_configs.write(' '.join(command) + '\n') | |
for row in failed_configurations: | |
print ' '.join(row) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
scons -j9 minimal=on leapfetch=off garmin=on ntpshm=on
appears to possibly be a link issue but have to check actual failure