예제 #1
0
    def testCrash(self):
        filename = "./testFiles/slha/gluino_squarks.slha"
        ctr=0
        crash_file = None
        self.cleanUp()
        runMain(filename, timeout=1, suppressStdout=True,
                                   inifile= "timeout.ini" )
        """
        try:
            ## trying to sync!!
            import ctypes
            libc = ctypes.CDLL("libc.so.6")
            libc.sync()
        except(OSError,AttributeError,ImportError) as e:
            print ( "This shouldnt throw %s" % e )
            # pass
        """
        time.sleep(.2)
        for f in os.listdir("."):
            if ".crash" in f:
                crash_file = f
                ctr+=1
        self.assertEqual( ctr, 1 )
        inp, par = crashReport.readCrashReportFile(crash_file)

        with open(filename) as f:
            with open(inp) as g:
                self.assertEqual(f.readlines(), g.readlines())
        with open("timeout.ini") as f:
            with open(par) as g:
                self.assertEqual( f.readlines(), g.readlines())
        self.cleanUp()
예제 #2
0
 def testMultipleFiles( self ):
     out = join( iDir(), "test/unitTestOutput")
     for i in os.listdir( out ):
         if i[-8:]==".smodels":
             os.unlink( os.path.join ( out, i ))
     dirname = "./testFiles/slha/"
     runMain(dirname)
     nout = len([i for i in glob.iglob("unitTestOutput/*smodels") if not "~" in i])
     nin = len([i for i in glob.iglob("%s/*slha" % dirname) if not "~" in i])
     if nout != nin:
         logger.error("Number of output file (%d) differ from number of input files (%d)" % (nout, nin))
     self.assertTrue( nout == nin )
예제 #3
0
 def testTimeout(self):
     try:
         filename = "./testFiles/slha/complicated.slha"
         t0=time.time()
         runMain(filename, timeout=1, suppressStdout=True,
                              development=True, inifile = "timeout.ini" )
         print ( "should never get here. time spent:%.1fs " % ( time.time()-t0 ) )
         self.assertTrue ( False )
     except NoTime:
         self.assertTrue  ( True )
     except Exception as e:
         print ( "wrong exception %s %s" % ( type(e), e ) )
         self.assertTrue ( False )
예제 #4
0
 def testMultipleFiles( self ):
     out = "./unitTestOutput"
     for i in os.listdir( out ):
         if i[-8:]==".smodels":
             os.unlink(os.path.join(out, i))
     dirname = "./testFiles/slha/"
     runMain(dirname)
     nout = len([i for i in glob.iglob("unitTestOutput/*smodels") if not "~" in i])
     nin = len([i for i in glob.iglob("%s/*slha" % dirname) if not "~" in i])
     if nout != nin:
         logger.error("Number of output file(%d) differ from number of input files(%d)" %
                       (nout, nin))
     self.assertEqual(nout,nin)
예제 #5
0
 def testGoodFile(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename)
     if self.definingRun:
         logger.error ( "This is a definition run! Know what youre doing!" )
         default = "gluino_squarks_default.py"
         cmd = "cat %s | sed -e 's/smodelsOutput/smodelsOutputDefault/' > %s" % ( outputfile, default )
         a = subprocess.getoutput ( cmd )
     smodelsOutput = importModule ( outputfile )
     from gluino_squarks_default import smodelsOutputDefault
     ignoreFields = ['input file','smodels version', 'ncpus', 'Element', 'database version', 'Total missed xsec',
                         'Missed xsec long-lived', 'Missed xsec displaced', 'Missed xsec MET', 'Total outside grid xsec',
                         'Total xsec for missing topologies (fb)','Total xsec for missing topologies with displaced decays (fb)',
                         'Total xsec for missing topologies with prompt decays (fb)',
                         'Total xsec for topologies outside the grid (fb)']
     smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                 key=lambda res: res['r'], reverse=True)
     equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                        ignore=ignoreFields, fname = outputfile )
     for i in [ './output.py', './output.pyc' ]:
         if os.path.exists( i ): os.remove( i )
     if not equals:
         p = outputfile.find ( "unitTestOutput" )
         fname = outputfile
         if p > 0:
             fname = fname[p:]
         print ( "[testRunSModelS] %s != %s" % \
                 ( fname, "gluino_squarks_default.py" ) )
     self.assertTrue(equals)
     self.removeOutputs( outputfile )
예제 #6
0
 def testGoodFileWithModelFromSLHA(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,inifile='testParametersB.ini')
     smodelsOutput = importModule ( outputfile )
     from gluino_squarks_default import smodelsOutputDefault
     ignoreFields = ['input file','smodels version', 'ncpus', 'Element', 'database version', 'Total missed xsec',
                         'Missed xsec long-lived', 'Missed xsec displaced', 'Missed xsec MET', 'Total outside grid xsec',
                         'Total xsec for missing topologies (fb)','Total xsec for missing topologies with displaced decays (fb)',
                         'Total xsec for missing topologies with prompt decays (fb)',
                         'Total xsec for topologies outside the grid (fb)']
     smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                 key=lambda res: res['r'], reverse=True)
     equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                        ignore=ignoreFields, fname = outputfile )
     for i in [ './output.py', './output.pyc' ]:
         if os.path.exists( i ): os.remove( i )
     if not equals:
         p = outputfile.find ( "unitTestOutput" )
         fname = outputfile
         if p > 0:
             fname = fname[p:]
         print ( "[testRunSModelS] %s != %s" % \
                 ( fname, "gluino_squarks_default.py" ) )
     self.assertTrue(equals)
     self.removeOutputs( outputfile )
예제 #7
0
    def testGoodFile13(self):

        filename = "./testFiles/slha/simplyGluino.slha"
        outputfile = runMain(filename,suppressStdout = True )
        if self.definingRun:
            logger.error ( "This is a definition run! Know what youre doing!" )
            default = "simplyGluino_default.py"
            cmd = "cat %s | sed -e 's/smodelsOutput/smodelsOutputDefault/' > %s" % ( outputfile, default )
            a = subprocess.getoutput ( cmd )
        smodelsOutput = importModule ( outputfile )
        from simplyGluino_default import smodelsOutputDefault
        ignoreFields = ['input file','smodels version', 'ncpus', 'Element', 'database version', 'Total missed xsec',
                            'Missed xsec long-lived', 'Missed xsec displaced', 'Missed xsec MET', 'Total outside grid xsec',
                            'Total xsec for missing topologies (fb)','Total xsec for missing topologies with displaced decays (fb)',
                            'Total xsec for missing topologies with prompt decays (fb)',
                            'Total xsec for topologies outside the grid (fb)']
        smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                    key=lambda res: res['r'], reverse=True)
        equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.08,
                           ignore=ignoreFields, fname = outputfile )
        if not equals:
            e =  "output13.py != simplyGluino_default.py"
            logger.error( e )
            # raise AssertionError( e )

        self.assertTrue(equals)

        ## test went through, so remove the output files
        self.removeOutputs( outputfile )
예제 #8
0
 def timeoutRun(self):
     filename = "./testFiles/slha/complicated.slha"
     outputfile = runMain(filename,
                          timeout=1,
                          suppressStdout=True,
                          development=True,
                          inifile="timeout.ini")
예제 #9
0
 def testCrash(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     ctr=0
     crash_file = None
     self.cleanUp()
     outputfile = runMain(filename, timeout=1, suppressStdout=True,
                                inifile= "timeout.ini" )
     try:
         ## trying to sync!!
         import ctypes
         libc = ctypes.CDLL("libc.so.6")
         libc.sync()
     except (OSError,AttributeError,ImportError) as e:
         pass
     time.sleep(.1)
     for f in os.listdir("."):
         if ".crash" in f:
             crash_file = f
             ctr+=1
     self.assertEqual ( ctr, 1 )
     inp, par = crashReport.readCrashReportFile(crash_file)
  
     with open(filename) as f:
         with open(inp) as g:
             self.assertEqual(f.readlines(), g.readlines())
     with open("timeout.ini") as f:
         with open(par) as g:
            self.assertEqual( f.readlines(), g.readlines())
     self.cleanUp()
예제 #10
0
 def testCombinedResult(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,
                          inifile="testParameters_agg.ini",
                          suppressStdout=True)
     smodelsOutput = importModule(outputfile)
     from gluino_squarks_default_agg import smodelsOutputDefault
     ignoreFields = [
         'input file', 'smodels version', 'ncpus', 'Element',
         'database version', 'Total missed xsec', 'Missed xsec long-lived',
         'Missed xsec displaced', 'Missed xsec MET',
         'Total outside grid xsec',
         'Total xsec for missing topologies (fb)',
         'Total xsec for missing topologies with displaced decays (fb)',
         'Total xsec for missing topologies with prompt decays (fb)',
         'Total xsec for topologies outside the grid (fb)'
     ]
     smodelsOutputDefault['ExptRes'] = sorted(
         smodelsOutputDefault['ExptRes'],
         key=lambda res: res['r'],
         reverse=True)
     equals = equalObjs(smodelsOutput,
                        smodelsOutputDefault,
                        allowedDiff=0.02,
                        ignore=ignoreFields,
                        fname=outputfile)
     if equals != True:
         logger.error("%s differs from %s!" %
                      ("gluino_squarks_default_agg.py", outputfile))
     self.assertTrue(equals)
     for i in [outputfile, outputfile.replace(".py", ".pyc")]:
         if os.path.exists(i):
             os.remove(i)
예제 #11
0
 def testCombinedResult(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,
                          inifile="testParameters_agg.ini",
                          suppressStdout=True)
     with open(outputfile, 'rb') as fp:  ## imports file with dots in name
         output_module = imp.load_module("output", fp, outputfile,
                                         ('.py', 'rb', imp.PY_SOURCE))
         smodelsOutput = output_module.smodelsOutput
         from gluino_squarks_default_agg import smodelsOutputDefault
         ignoreFields = [
             'input file', 'smodels version', 'ncpus', 'database version'
         ]
         smodelsOutputDefault['ExptRes'] = sorted(
             smodelsOutputDefault['ExptRes'],
             key=lambda res: res['r'],
             reverse=True)
         equals = equalObjs(smodelsOutput,
                            smodelsOutputDefault,
                            allowedDiff=0.02,
                            ignore=ignoreFields)
         if equals != True:
             logger.error("%s differs from %s!" %
                          ("gluino_squarks_default_agg.py", outputfile))
         self.assertTrue(equals)
     for i in [outputfile, outputfile.replace(".py", ".pyc")]:
         if os.path.exists(i):
             os.remove(i)
예제 #12
0
 def testRuntimeImport(self):
     filename = "./testFiles/slha/idm_example.slha"
     runtime.modelFile = 'idm'
     reload(particlesLoader)
     outputfile = runMain(filename,
                          inifile='testParameters_noModel.ini',
                          suppressStdout=True)
     with open(outputfile, 'rb') as fp:  ## imports file with dots in name
         output_module = imp.load_module("output", fp, outputfile,
                                         ('.py', 'rb', imp.PY_SOURCE))
         smodelsOutput = output_module.smodelsOutput
     from idm_example_default import smodelsOutputDefault
     ignoreFields = [
         'input file', 'smodels version', 'ncpus', 'database version'
     ]
     smodelsOutputDefault['ExptRes'] = sorted(
         smodelsOutputDefault['ExptRes'],
         key=lambda res: res['r'],
         reverse=True)
     equals = equalObjs(smodelsOutput,
                        smodelsOutputDefault,
                        allowedDiff=0.02,
                        ignore=ignoreFields)
     self.assertTrue(equals)
     self.removeOutputs(outputfile)
예제 #13
0
    def testGoodFile13(self):

        filename = "./testFiles/slha/simplyGluino.slha"
        outputfile = runMain(filename, suppressStdout=True)
        with open(outputfile, 'rb') as fp:  ## imports file with dots in name
            output_module = imp.load_module("output", fp, outputfile,
                                            ('.py', 'rb', imp.PY_SOURCE))
            smodelsOutput = output_module.smodelsOutput
        from simplyGluino_default import smodelsOutputDefault
        ignoreFields = [
            'input file', 'smodels version', 'ncpus', 'Element',
            'database version'
        ]
        smodelsOutputDefault['ExptRes'] = sorted(
            smodelsOutputDefault['ExptRes'],
            key=lambda res: res['r'],
            reverse=True)
        equals = equalObjs(smodelsOutput,
                           smodelsOutputDefault,
                           allowedDiff=0.02,
                           ignore=ignoreFields)
        if not equals:
            e = "output13.py and simplyGluino_default.py differ!"
            logger.error(e)
            # raise AssertionError ( e )

        self.assertTrue(equals)

        ## test went through, so remove the output files
        self.removeOutputs(outputfile)
예제 #14
0
 def testRuntimeImport(self):
     filename = "./testFiles/slha/idm_example.slha"
     runtime.modelFile = 'idm'
     reload(particlesLoader)
     outputfile = runMain(filename,inifile='testParameters_noModel.ini',suppressStdout=True)
     if self.definingRun:
         logger.error ( "This is a definition run! Know what youre doing!" )
         default = "idm_example_defaultB.py"
         cmd = "cat %s | sed -e 's/smodelsOutput/smodelsOutputDefault/' > %s" % ( outputfile, default )
         a = subprocess.getoutput ( cmd )
     smodelsOutput = importModule ( outputfile )
     from idm_example_defaultB import smodelsOutputDefault
     ignoreFields = ['input file','smodels version', 'ncpus', 'Element',
                 'database version', 'Total missed xsec',
                 'Missed xsec long-lived', 'Missed xsec displaced',
                 'Missed xsec MET', 'Total outside grid xsec',
                 'Total xsec for missing topologies (fb)',
                 'Total xsec for missing topologies with displaced decays (fb)',
                 'Total xsec for missing topologies with prompt decays (fb)',
                 'Total xsec for topologies outside the grid (fb)']
     smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                 key=lambda res: res['r'], reverse=True)
     equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.1,
                        ignore=ignoreFields, fname = outputfile )
     self.assertTrue(equals)
     self.removeOutputs(outputfile)
예제 #15
0
 def testBadFile(self):
     # since 112 we skip non-existing slha files!
     filename = "./testFiles/slha/I_dont_exist.slha"
     of = "unitTestOutput/I_dont_exist.slha.py"
     self.removeOutputs(of)
     outputfile = runMain(filename)
     self.assertTrue(of in outputfile)
     self.assertTrue(not os.path.exists(outputfile))
예제 #16
0
 def testBadFile(self):
     # since 112 we skip non-existing slha files!
     filename = "./testFiles/slha/I_dont_exist.slha"
     of="unitTestOutput/I_dont_exist.slha.py"
     self.removeOutputs ( of )
     outputfile = runMain(filename  )
     self.assertTrue ( of in outputfile )
     self.assertTrue ( not os.path.exists ( outputfile ) )
예제 #17
0
 def testWrongModel(self):
     runtime.modelFile = 'mssm'
     reload(particlesLoader)
     filename = "./testFiles/slha/idm_example.slha"
     outputfile = runMain(filename,suppressStdout=True)
     smodelsOutput = importModule ( outputfile )
     self.assertTrue(smodelsOutput['OutputStatus']['decomposition status'] < 0)
     self.removeOutputs(outputfile)
예제 #18
0
    def testCompare(self):
        warnings.simplefilter("ignore", ResourceWarning)
        from simplyGluino_default import smodelsOutputDefault
        filename = "./testFiles/slha/simplyGluino.slha"
        port = random.choice(range(31700, 42000))
        # port = 31744
        dbfile = "database/db30.pcl"
        dbfile = "unittest"

        startserver = f"../smodels/tools/smodelsTools.py proxydb -p {port} -i {dbfile} -o ./proxy.pcl -r -v error"
        cmd = startserver.split(" ")
        # print ( "starting server %s" % startserver )
        myenv = os.environ.copy()
        pp = ""
        if "PYTHONPATH" in myenv:
            pp = ":" + myenv["PYTHONPATH"]
        myenv["PYTHONPATH"] = "../" + pp
        subprocess.Popen(cmd, env=myenv)

        time.sleep(3)

        db = Database("./proxy.pcl")
        outputfile = runMain(filename,
                             suppressStdout=True,
                             overridedatabase=db)
        smodelsOutput = importModule(outputfile)

        client = DatabaseClient(port=port, verbose="warn")
        client.send_shutdown()

        ignoreFields = [
            'input file', 'smodels version', 'ncpus', 'Element',
            'database version', 'Total missed xsec', 'Missed xsec long-lived',
            'Missed xsec displaced', 'Missed xsec MET',
            'Total outside grid xsec',
            'Total xsec for missing topologies (fb)',
            'Total xsec for missing topologies with displaced decays (fb)',
            'Total xsec for missing topologies with prompt decays (fb)',
            'Total xsec for topologies outside the grid (fb)'
        ]
        smodelsOutputDefault['ExptRes'] = sorted(
            smodelsOutputDefault['ExptRes'],
            key=lambda res: res['r'],
            reverse=True)
        equals = equalObjs(smodelsOutput,
                           smodelsOutputDefault,
                           allowedDiff=0.08,
                           ignore=ignoreFields,
                           fname=outputfile)
        if not equals:
            e = "simplyGluino.py != simplyGluino_default.py"
            logger.error(e)
            # raise AssertionError( e )

        self.assertTrue(equals)
        self.removeOutputs(outputfile)
예제 #19
0
 def testWrongModel(self):
     runtime.modelFile = 'mssm'
     reload(particlesLoader)
     filename = "./testFiles/slha/idm_example.slha"
     outputfile = runMain(filename,suppressStdout=True)
     with open( outputfile, 'rb') as fp: ## imports file with dots in name
         output_module = imp.load_module("output",fp,outputfile, ('.py', 'rb', imp.PY_SOURCE) )
         smodelsOutput = output_module.smodelsOutput
     self.assertTrue(smodelsOutput['OutputStatus']['decomposition status'] < 0)  
     self.removeOutputs(outputfile)
예제 #20
0
 def defineTest(self):
     """ define the current output as the default output.
     Use with care! """
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,
                          inifile="testParameters_agg.ini",
                          suppressStdout=True)
     smodelsOutput = importModule(outputfile)
     f = open("gluino_squarks_default_agg.py", "w")
     f.write("smodelsOutputDefault = %s\n" % smodelsOutput)
     f.close()
예제 #21
0
    def testPyhfCombination(self):
        filename = "./testFiles/slha/T6bbHH_pyhf.slha"
        inifile = "./testParameters_pyhf.ini"
        outputfile = runMain(filename, inifile=inifile, suppressStdout = True)
        smodelsOutput = importModule ( outputfile )
        from T6bbHH_pyhf_default import smodelsOutputDefault
        ignoreFields = ['input file','smodels version', 'ncpus', 'database version']
        equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                           ignore=ignoreFields, fname=outputfile,
	                         fname2 = "T6bbHH_pyhf_default.py" )
        self.assertTrue(equals)
예제 #22
0
 def defineTest(self):
     """ define the current output as the default output.
     Use with care! """
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,inifile="testParameters_agg.ini", suppressStdout=True )
     with open( outputfile, 'rb') as fp: ## imports file with dots in name
         output_module = imp.load_module("output",fp,outputfile, 
                                         ('.py', 'rb', imp.PY_SOURCE) )
     smodelsOutput = output_module.smodelsOutput
     f=open("gluino_squarks_default_agg.py","w")
     f.write ( "smodelsOutputDefault = %s\n" % smodelsOutput )
     f.close()
예제 #23
0
 def testWrongModel(self):
     runtime.modelFile = 'mssm'
     reload(particlesLoader)
     filename = "./testFiles/slha/idm_example.slha"
     outputfile = runMain(filename, suppressStdout=True)
     with open(outputfile, 'rb') as fp:  ## imports file with dots in name
         output_module = imp.load_module("output", fp, outputfile,
                                         ('.py', 'rb', imp.PY_SOURCE))
         smodelsOutput = output_module.smodelsOutput
     self.assertTrue(
         smodelsOutput['OutputStatus']['decomposition status'] < 0)
     self.removeOutputs(outputfile)
예제 #24
0
 def testParameterFile(self):
     filename = "./testFiles/slha/idm_example.slha"
     outputfile = runMain(filename,inifile='testParameters_idm.ini',suppressStdout=True)        
     with open( outputfile, 'rb') as fp: ## imports file with dots in name
         output_module = imp.load_module("output",fp,outputfile, ('.py', 'rb', imp.PY_SOURCE) )
         smodelsOutput = output_module.smodelsOutput
     from idm_example_default import smodelsOutputDefault
     ignoreFields = ['input file','smodels version', 'ncpus', 'database version']
     smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                 key=lambda res: res['r'], reverse=True)
     equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                        ignore=ignoreFields)
     self.assertTrue(equals)
     self.removeOutputs(outputfile)
예제 #25
0
 def defineTest(self):
     """ define the current output as the default output.
     Use with care! """
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,
                          inifile="testParameters_agg.ini",
                          suppressStdout=True)
     with open(outputfile, 'rb') as fp:  ## imports file with dots in name
         output_module = imp.load_module("output", fp, outputfile,
                                         ('.py', 'rb', imp.PY_SOURCE))
     smodelsOutput = output_module.smodelsOutput
     f = open("gluino_squarks_default_agg.py", "w")
     f.write("smodelsOutputDefault = %s\n" % smodelsOutput)
     f.close()
예제 #26
0
    def testModelFromSLHA(self):
        filename = "./testFiles/slha/idm_example.slha"
        #Test the case where the BSM particles are defined by the SLHA file:
        outputfile = runMain(filename,inifile='testParameters_idmB.ini',suppressStdout=True)
        smodelsOutput = importModule ( outputfile )
        from idm_example_default import smodelsOutputDefault
        ignoreFields = ['input file','smodels version', 'ncpus', 'Element', 'database version', 'Total missed xsec',
                            'Missed xsec long-lived', 'Missed xsec displaced', 'Missed xsec MET', 'Total outside grid xsec',
                            'Total xsec for missing topologies (fb)','Total xsec for missing topologies with displaced decays (fb)',
                            'Total xsec for missing topologies with prompt decays (fb)',
                            'Total xsec for topologies outside the grid (fb)']
        smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                    key=lambda res: res['r'], reverse=True)
        equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.1,
                           ignore=ignoreFields, fname = outputfile )

        self.assertTrue(equals)
        self.removeOutputs(outputfile)
예제 #27
0
 def testLifeTimeDependent(self):
     filename = "./testFiles/slha/lifetime.slha"
     outputfile = runMain(filename)
     if self.definingRun:
         logger.error ( "This is a definition run! Know what youre doing!" )
         default = "lifetime_default.py"
         cmd = "cat %s | sed -e 's/smodelsOutput/smodelsOutputDefault/' > %s" % ( outputfile, default )
         a = subprocess.getoutput ( cmd )
     smodelsOutput = importModule ( outputfile )
     from lifetime_default import smodelsOutputDefault
     ignoreFields = ['input file','smodels version', 'ncpus', 'database version']
     smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                 key=lambda res: res['r'], reverse=True)
     equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                        ignore=ignoreFields, fname=outputfile )
     for i in [ './outputHSCP.py', './outputHSCP.pyc' ]:
         if os.path.exists( i ): os.remove( i )
     self.assertTrue(equals)
예제 #28
0
 def testCombinedResult(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename,inifile="testParameters_agg.ini", suppressStdout=True )
     with open( outputfile, 'rb') as fp: ## imports file with dots in name
         output_module = imp.load_module("output",fp,outputfile, 
                                         ('.py', 'rb', imp.PY_SOURCE) )
         smodelsOutput = output_module.smodelsOutput
         from gluino_squarks_default_agg import smodelsOutputDefault
         ignoreFields = ['input file','smodels version', 'ncpus', 'database version']
         smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                     key=lambda res: res['r'], reverse=True)
         equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                            ignore=ignoreFields)
         if equals != True:
             logger.error ( "%s differs from %s!" % ( "gluino_squarks_default_agg.py", outputfile) ) 
         self.assertTrue(equals)
     for i in [ outputfile, outputfile.replace(".py",".pyc") ]:
         if os.path.exists ( i ):
             os.remove ( i )
예제 #29
0
 def testGoodFile(self):
     filename = "./testFiles/slha/gluino_squarks.slha"
     outputfile = runMain(filename)
     with open(outputfile, 'rb') as fp:  ## imports file with dots in name
         output_module = imp.load_module("output", fp, outputfile,
                                         ('.py', 'rb', imp.PY_SOURCE))
         smodelsOutput = output_module.smodelsOutput
     from gluino_squarks_default import smodelsOutputDefault
     ignoreFields = [
         'input file', 'smodels version', 'ncpus', 'database version'
     ]
     smodelsOutputDefault['ExptRes'] = sorted(
         smodelsOutputDefault['ExptRes'],
         key=lambda res: res['r'],
         reverse=True)
     equals = equalObjs(smodelsOutput,
                        smodelsOutputDefault,
                        allowedDiff=0.02,
                        ignore=ignoreFields)
     self.assertTrue(equals)
     self.removeOutputs(outputfile)
예제 #30
0
    def testGoodFile13(self):
            
        filename = "./testFiles/slha/simplyGluino.slha"
        outputfile = runMain(filename,suppressStdout = True )
        with open( outputfile, 'rb') as fp: ## imports file with dots in name
            output_module = imp.load_module("output",fp,outputfile, ('.py', 'rb', imp.PY_SOURCE) )
            smodelsOutput = output_module.smodelsOutput
        from simplyGluino_default import smodelsOutputDefault
        ignoreFields = ['input file','smodels version', 'ncpus', 'Element', 'database version' ]
        smodelsOutputDefault['ExptRes'] = sorted(smodelsOutputDefault['ExptRes'],
                    key=lambda res: res['r'], reverse=True)
        equals = equalObjs(smodelsOutput,smodelsOutputDefault,allowedDiff=0.02,
                           ignore=ignoreFields)
        if not equals:
            e =  "output13.py and simplyGluino_default.py differ!" 
            logger.error ( e )
            # raise AssertionError ( e )

        self.assertTrue(equals)        

        ## test went through, so remove the output files
        self.removeOutputs ( outputfile )
예제 #31
0
 def timeoutRun(self):
     filename = "./testFiles/slha/complicated.slha"
     outputfile = runMain(filename, timeout=1, suppressStdout=True,
                          development=True, inifile = "timeout.ini" )