diff --git a/bootstrap/crontab.nightly b/bootstrap/crontab.nightly new file mode 100644 index 00000000..20287537 --- /dev/null +++ b/bootstrap/crontab.nightly @@ -0,0 +1,2 @@ +# Nightly build of Coriolis. +0 4 * * * ${HOME}/bin/socInstaller.py --nightly --rm-all --benchs > /dev/null 2>&1 diff --git a/bootstrap/socInstaller.py b/bootstrap/socInstaller.py index 30df34d1..3f3d7b19 100755 --- a/bootstrap/socInstaller.py +++ b/bootstrap/socInstaller.py @@ -34,6 +34,7 @@ try: import subprocess import socket import re + import bz2 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart @@ -337,6 +338,21 @@ class Configuration ( object ): if fd: fd.close() return + def compressLogs ( self ): + for log in self._logs.values(): + if not log: continue + + fd = open( log, 'r' ) + bzfd = bz2.BZ2File( log+'.bz2', 'w' ) + + for line in fd.readlines(): bzfd.write( line ) + + bzfd.close() + fd.close() + + os.unlink( log ) + return + class Report ( object ): @@ -500,6 +516,7 @@ try: Command( [ 'ssh', host, command ], fd ).execute() conf.closeLogs() + conf.success = True except ErrorMessage, e: @@ -518,4 +535,6 @@ if conf.doSendReport: report.attachLog( conf.logs['benchs'] ) report.send() +conf.compressLogs() + sys.exit( conf.rcode ) diff --git a/stratus1/src/stratus/st_instance.py b/stratus1/src/stratus/st_instance.py index 983f862b..9c6a0928 100644 --- a/stratus1/src/stratus/st_instance.py +++ b/stratus1/src/stratus/st_instance.py @@ -207,7 +207,8 @@ class Inst : if not self._st_cell._hur_cell : err = "\n[Stratus ERROR] HurricanePlug : Problem of hurricane cell.\nTry to contact Coriolis team.\n" raise Exception ( err ) - + + UpdateSession.open() inst = Instance.create ( self._st_cell._hur_cell , self._name , self._hur_masterCell @@ -345,7 +346,7 @@ class Inst : # Not for vdd/vss in case of utilisation of SetGlobal # The detection is done with vst driver in this case ... for plug in self._hur_instance.getUnconnectedPlugs(): - if plug.getMasterNet().getType() not in ( TypePOWER, TypeGROUND ) : + if plug.getMasterNet().getType() not in ( Net.Type.POWER, Net.Type.GROUND ) : name = str(plug.getMasterNet().getName()) chaine = re.search ( "(.*)\(", name ) if chaine : name = chaine.group(1) @@ -354,6 +355,8 @@ class Inst : err += ' (raw name: <%s>)\n' % str(plug.getMasterNet().getName()) raise Exception ( err ) + UpdateSession.close() + ############## ### Prints ### ############## diff --git a/stratus1/src/stratus/st_model.py b/stratus1/src/stratus/st_model.py index f4fc20de..32476d82 100644 --- a/stratus1/src/stratus/st_model.py +++ b/stratus1/src/stratus/st_model.py @@ -274,7 +274,7 @@ class Model : direction = net.getDirection() name = str(net.getName()) - if net.getType() in ( TypePOWER, TypeGROUND, TypeCLOCK ) : + if net.getType() in ( Net.Type.POWER, Net.Type.GROUND, Net.Type.CLOCK ) : found = True continue @@ -1199,7 +1199,7 @@ class Model : if plug_de_inst.getMasterNet().getDirection() == DirectionIN : # ignore vdd and vss type = plug_de_inst.getNet().getType() - if type not in ( TypePOWER, TypeGROUND ) : net_entree_inst.append ( plug_de_inst.getNet() ) + if type not in ( Net.Type.POWER, Net.Type.GROUND ) : net_entree_inst.append ( plug_de_inst.getNet() ) ### Deletion of te instance ### # If the instance has only one output