コード例 #1
0
ファイル: runTests.py プロジェクト: jbsauvan/cms-bot
 def run(self):
     IBThreadBase.run(self)
     if platform.system() == 'Darwin':
         print 'unitTest> Skipping unit tests for MacOS'
         return
     if self.xType=='GPU':
       cmd = "cd "+self.startDir+"; scram b -f echo_cuda_USED_BY | tr ' ' '\\n' | grep '^self/' | cut -d/ -f2-3 > cuda_pkgs.txt; mv src src.full;"
       cmd = cmd+" for p in $(cat cuda_pkgs.txt); do mkdir -p src/${p} ; rsync -a src.full/${p}/ src/${p}/ ; done ; scram build -r echo_CXX"
       ret = runCmd(cmd)
       if ret != 0:
         print "ERROR when getting GPU unit-tests sources: cmd returned " + str(ret)
     skiptests=""
     if 'lxplus' in getHostName(): skiptests='SKIP_UNITTESTS=ExpressionEvaluatorUnitTest'
     TEST_PATH=os.environ['CMSSW_RELEASE_BASE']+"/test/"+os.environ['SCRAM_ARCH']
     err, cmd = getstatusoutput("cd "+self.startDir+";scram tool info cmssw 2>&1 | grep CMSSW_BASE= | sed 's|^CMSSW_BASE=||'")
     if cmd: TEST_PATH=TEST_PATH+":"+cmd+"/test/"+os.environ['SCRAM_ARCH']
     print TEST_PATH
     try:
         cmd = "cd "+self.startDir+"; touch nodelete.root nodelete.txt nodelete.log;  sed -i -e 's|testing.log; *$(CMD_rm)  *-f  *$($(1)_objdir)/testing.log;|testing.log;|;s|test $(1) had ERRORS\") *\&\&|test $(1) had ERRORS\" >> $($(1)_objdir)/testing.log) \&\&|' config/SCRAM/GMake/Makefile.rules; "
         cmd += " if which timeout 2>/dev/null; then TIMEOUT=timeout; fi ; "
         cmd += 'PATH='+TEST_PATH+':$PATH ${TIMEOUT+timeout 3h} scram b -f -k -j '+str(MachineCPUCount)+' unittests ' + skiptests + ' >unitTests1.log 2>&1 ; '
         cmd += 'touch nodelete.done; ls -l nodelete.*'
         print 'unitTest> Going to run '+cmd
         ret = runCmd(cmd)
         if ret != 0:
             print "ERROR when running unit-tests: cmd returned " + str(ret)
     except Exception, e :
         print "ERROR during runtests : caught exception: " + str(e)
         pass
コード例 #2
0
 def run(self):
     IBThreadBase.run(self)
     if platform.system() == 'Darwin':
         print('unitTest> Skipping unit tests for MacOS')
         return
     if (self.xType == 'GPU') or ("_GPU_X" in os.environ["CMSSW_VERSION"]):
         cmd = "cd " + self.startDir + "; scram b -f echo_cuda_USED_BY | tr ' ' '\\n' | grep '^\\(self\\|cmssw\\)/' | cut -d/ -f2-3 > cuda_pkgs.txt; "
         cmd = cmd + " cat  cuda_pkgs.txt; mv src src.full;"
         cmd = cmd + " for p in $(cat cuda_pkgs.txt); do mkdir -p src/${p} ; rsync -a src.full/${p}/ src/${p}/ ; done ; scram build -r echo_CXX"
         ret = runCmd(cmd)
         if ret != 0:
             print("ERROR when getting GPU unit-tests sources: cmd returned " + str(ret))
     skiptests = ""
     if 'lxplus' in getHostName(): skiptests = 'SKIP_UNITTESTS=ExpressionEvaluatorUnitTest'
     TEST_PATH = os.environ['CMSSW_RELEASE_BASE'] + "/test/" + os.environ['SCRAM_ARCH']
     err, cmd = run_cmd(
         "cd " + self.startDir + ";scram tool info cmssw 2>&1 | grep CMSSW_BASE= | sed 's|^CMSSW_BASE=||'")
     if cmd: TEST_PATH = TEST_PATH + ":" + cmd + "/test/" + os.environ['SCRAM_ARCH']
     print(TEST_PATH)
     try:
         cmd = "cd " + self.startDir + "; touch nodelete.root nodelete.txt nodelete.log;  sed -i -e 's|testing.log; *$(CMD_rm)  *-f  *$($(1)_objdir)/testing.log;|testing.log;|;s|test $(1) had ERRORS\") *\&\&|test $(1) had ERRORS\" >> $($(1)_objdir)/testing.log) \&\&|' config/SCRAM/GMake/Makefile.rules; "
         cmd += " if which timeout 2>/dev/null; then TIMEOUT=timeout; fi ; "
         cmd += 'PATH=' + TEST_PATH + ':$PATH ${TIMEOUT+timeout 3h} scram b -f -k -j ' + str(MachineCPUCount) + ' unittests ' + skiptests + ' >unitTests1.log 2>&1 ; '
         cmd += 'touch nodelete.done; ls -l nodelete.*'
         print('unitTest> Going to run ' + cmd)
         ret = runCmd(cmd)
         if ret != 0:
             print("ERROR when running unit-tests: cmd returned " + str(ret))
     except Exception as e:
         print("ERROR during runtests : caught exception: " + str(e))
         pass
     try:
         testLog = self.startDir + '/tmp/' + os.environ['SCRAM_ARCH'] + '/src/'
         logFile = self.startDir + '/unitTests.log'
         runCmd('rm -f %s; touch %s' % (logFile, logFile))
         for packDir in glob.glob(testLog + '*/*'):
             pack = packDir.replace(testLog, '')
             runCmd("echo '>> Entering Package %s' >> %s" % (pack, logFile))
             packDir += '/test'
             if os.path.exists(packDir):
                 err, testFiles = run_cmd('find ' + packDir + ' -maxdepth 2 -mindepth 2 -name testing.log -type f')
                 for lFile in testFiles.strip().split('\n'):
                     if lFile: runCmd("cat %s >> %s" % (lFile, logFile))
             runCmd("echo '>> Leaving Package %s' >> %s" % (pack, logFile))
             runCmd("echo '>> Tests for package %s ran.' >> %s" % (pack, logFile))
     except Exception as e:
         pass
     self.checkTestLogs()
     self.logger.updateUnitTestLogs(self.xType)
     return
コード例 #3
0
ファイル: runTests.py プロジェクト: cms-sw/cms-bot
 def run(self):
     IBThreadBase.run(self)
     if platform.system() == 'Darwin':
         print('unitTest> Skipping unit tests for MacOS')
         return
     if self.xType == 'GPU':
         cmd = "cd " + self.startDir + "; scram b -f echo_cuda_USED_BY | tr ' ' '\\n' | grep '^self/' | cut -d/ -f2-3 > cuda_pkgs.txt; mv src src.full;"
         cmd = cmd + " for p in $(cat cuda_pkgs.txt); do mkdir -p src/${p} ; rsync -a src.full/${p}/ src/${p}/ ; done ; scram build -r echo_CXX"
         ret = runCmd(cmd)
         if ret != 0:
             print("ERROR when getting GPU unit-tests sources: cmd returned " + str(ret))
     skiptests = ""
     if 'lxplus' in getHostName(): skiptests = 'SKIP_UNITTESTS=ExpressionEvaluatorUnitTest'
     TEST_PATH = os.environ['CMSSW_RELEASE_BASE'] + "/test/" + os.environ['SCRAM_ARCH']
     err, cmd = run_cmd(
         "cd " + self.startDir + ";scram tool info cmssw 2>&1 | grep CMSSW_BASE= | sed 's|^CMSSW_BASE=||'")
     if cmd: TEST_PATH = TEST_PATH + ":" + cmd + "/test/" + os.environ['SCRAM_ARCH']
     print(TEST_PATH)
     try:
         cmd = "cd " + self.startDir + "; touch nodelete.root nodelete.txt nodelete.log;  sed -i -e 's|testing.log; *$(CMD_rm)  *-f  *$($(1)_objdir)/testing.log;|testing.log;|;s|test $(1) had ERRORS\") *\&\&|test $(1) had ERRORS\" >> $($(1)_objdir)/testing.log) \&\&|' config/SCRAM/GMake/Makefile.rules; "
         cmd += " if which timeout 2>/dev/null; then TIMEOUT=timeout; fi ; "
         cmd += 'PATH=' + TEST_PATH + ':$PATH ${TIMEOUT+timeout 3h} scram b -f -k -j ' + str(
             MachineCPUCount) + ' unittests ' + skiptests + ' >unitTests1.log 2>&1 ; '
         cmd += 'touch nodelete.done; ls -l nodelete.*'
         print('unitTest> Going to run ' + cmd)
         ret = runCmd(cmd)
         if ret != 0:
             print("ERROR when running unit-tests: cmd returned " + str(ret))
     except Exception as e:
         print("ERROR during runtests : caught exception: " + str(e))
         pass
     try:
         testLog = self.startDir + '/tmp/' + os.environ['SCRAM_ARCH'] + '/src/'
         logFile = self.startDir + '/unitTests.log'
         runCmd('rm -f %s; touch %s' % (logFile, logFile))
         for packDir in glob.glob(testLog + '*/*'):
             pack = packDir.replace(testLog, '')
             runCmd("echo '>> Entering Package %s' >> %s" % (pack, logFile))
             packDir += '/test'
             if os.path.exists(packDir):
                 err, testFiles = run_cmd('find ' + packDir + ' -maxdepth 2 -mindepth 2 -name testing.log -type f')
                 for lFile in testFiles.strip().split('\n'):
                     if lFile: runCmd("cat %s >> %s" % (lFile, logFile))
             runCmd("echo '>> Leaving Package %s' >> %s" % (pack, logFile))
             runCmd("echo '>> Tests for package %s ran.' >> %s" % (pack, logFile))
     except Exception as e:
         pass
     self.checkTestLogs()
     self.logger.updateUnitTestLogs(self.xType)
     return
コード例 #4
0
 def run(self):
     IBThreadBase.run(self)
     if platform.system() == 'Darwin':
         print 'unitTest> Skipping unit tests for MacOS'
         return
     skiptests=""
     if 'lxplus' in getHostName(): skiptests='SKIP_UNITTESTS=ExpressionEvaluatorUnitTest'
     TEST_PATH=os.environ['CMSSW_RELEASE_BASE']+"/test/"+os.environ['SCRAM_ARCH']
     err, cmd = getstatusoutput("cd "+self.startDir+";scram tool info cmssw 2>&1 | grep CMSSW_BASE= | sed 's|^CMSSW_BASE=||'")
     if cmd: TEST_PATH=TEST_PATH+":"+cmd+"/test/"+os.environ['SCRAM_ARCH']
     print TEST_PATH
     try:
         cmd = "cd "+self.startDir+"; sed -i -e 's|testing.log; *$(CMD_rm)  *-f  *$($(1)_objdir)/testing.log;|testing.log;|;s|test $(1) had ERRORS\") *\&\&|test $(1) had ERRORS\" >> $($(1)_objdir)/testing.log) \&\&|' config/SCRAM/GMake/Makefile.rules; "
         cmd += " if which timeout 2>/dev/null; then TIMEOUT=timeout; fi ; "
         cmd += 'PATH='+TEST_PATH+':$PATH ${TIMEOUT+timeout 3h} scram b -f -k -j '+str(MachineCPUCount)+' unittests ' + skiptests + ' >unitTests1.log 2>&1 '
         print 'unitTest> Going to run '+cmd
         ret = runCmd(cmd)
         if ret != 0:
             print "ERROR when running unit-tests: cmd returned " + str(ret)
     except Exception, e :
         print "ERROR during runtests : caught exception: " + str(e)
         pass