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
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
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
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