Esempio n. 1
0
 def run(self, args, env):
     arglist = SDK.runtime() + [self.exe_name] + map(str, args)
     env = env.copy()
     env['LANG'] = 'C'
     mono = subprocess.Popen(arglist, stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE, env=env)
     stdout, stderr = mono.communicate()
     retval = mono.wait()
     return stdout, stderr, retval
Esempio n. 2
0
    def build_exe(self):        
        if getoption('source'):
            return None

        pypy_dll = get_pypy_dll() # get or recompile pypy.dll
        shutil.copy(pypy_dll, self.tmpdir.strpath)

        ilasm = SDK.ilasm()
        tmpfile = self.tmpfile.strpath
        self._exec_helper(ilasm, [tmpfile]+self.entrypoint.ilasm_flags(),
                          'ilasm failed to assemble (%s):\n%s\n%s',
                          timeout = 900)
        # Mono's ilasm occasionally deadlocks.  We set a timer to avoid
        # blocking automated test runs forever.

        self.outfile = self.entrypoint.output_filename(tmpfile)
        if getoption('verify'):
            peverify = SDK.peverify()
            self._exec_helper(peverify, [outfile], 'peverify failed to verify (%s):\n%s\n%s')
        return self.outfile
Esempio n. 3
0
def load_and_cache_assembly(name, outfile):
    tmpfile = udir.join(name)
    arglist = SDK.runtime() + [Query.get(), name, str(tmpfile)]
    retcode = subprocess.call(arglist)
    assert retcode == 0
    mydict = {}
    execfile(str(tmpfile), mydict)
    types = mydict['types']
    f = outfile.open('wb')
    pickle.dump(types, f, pickle.HIGHEST_PROTOCOL)
    f.close()
    return types
Esempio n. 4
0
def load_and_cache_assembly(name, outfile):
    tmpfile = udir.join(name)
    arglist = SDK.runtime() + [Query.get(), name, str(tmpfile)]
    retcode = subprocess.call(arglist)
    assert retcode == 0
    mydict = {}
    execfile(str(tmpfile), mydict)
    types = mydict['types']
    f = outfile.open('wb')
    pickle.dump(types, f, pickle.HIGHEST_PROTOCOL)
    f.close()
    return types
Esempio n. 5
0
    def run(self, *args):
        if self._exe is None:
            py.test.skip("Compilation disabled")

        if getoption('norun'):
            py.test.skip("Execution disabled")

        arglist = SDK.runtime() + [self._exe] + map(str, args)
        env = os.environ.copy()
        env['LANG'] = 'C'
        mono = subprocess.Popen(arglist, stdout=subprocess.PIPE,
                                stderr=subprocess.PIPE, env=env)
        stdout, stderr = mono.communicate()
        retval = mono.wait()
        return stdout, stderr, retval
Esempio n. 6
0
    def run(self, *args):
        if self._exe is None:
            py.test.skip("Compilation disabled")

        if getoption('norun'):
            py.test.skip("Execution disabled")

        arglist = SDK.runtime() + [self._exe] + map(str, args)
        env = os.environ.copy()
        env['LANG'] = 'C'
        mono = subprocess.Popen(arglist, stdout=subprocess.PIPE,
                                stderr=subprocess.PIPE, env=env)
        stdout, stderr = mono.communicate()
        retval = mono.wait()
        return stdout, stderr, retval
Esempio n. 7
0
    def build_exe(self):
        if getoption('source'):
            return None

        pypy_dll = get_pypy_dll()  # get or recompile pypy.dll
        shutil.copy(pypy_dll, self.tmpdir.strpath)

        ilasm = SDK.ilasm()
        tmpfile = self.tmpfile.strpath
        self.outfile = self.entrypoint.output_filename(tmpfile)
        argv = [tmpfile, '/output:' + self.outfile
                ] + self.entrypoint.ilasm_flags()
        self._exec_helper(ilasm,
                          argv,
                          'ilasm failed to assemble (%s):\n%s\n%s',
                          timeout=900)
        # Mono's ilasm occasionally deadlocks.  We set a timer to avoid
        # blocking automated test runs forever.

        if getoption('verify'):
            peverify = SDK.peverify()
            self._exec_helper(peverify, [outfile],
                              'peverify failed to verify (%s):\n%s\n%s')
        return self.outfile
Esempio n. 8
0
def query_description(name):
    log.query('Loading description for %s' % name)
    arglist = SDK.runtime() + [Query.get(), name]
    query = subprocess.Popen(arglist, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                             universal_newlines=True)
    stdout, stderr = query.communicate()
    retval = query.wait()
    if retval == 0:
        cls = ClassDesc()
        exec stdout in cls.__dict__
        del cls.__dict__['__builtins__']
        return cls
    elif retval == 1:
        raise RuntimeError, 'query.exe failed with this message:\n%s' % stderr
    elif retval == 2:
        # can't load type, assume it's a namespace
        return NamespaceDesc(name)
Esempio n. 9
0
File: rte.py Progetto: njues/Sypy
 def get_COMPILER(cls):
     return SDK.ilasm()
Esempio n. 10
0
File: rte.py Progetto: njues/Sypy
 def get_COMPILER(cls):
     return SDK.csc()
Esempio n. 11
0
File: rte.py Progetto: alkorzt/pypy
 def get_COMPILER(cls):
     return SDK.ilasm()
Esempio n. 12
0
File: rte.py Progetto: alkorzt/pypy
 def get_COMPILER(cls):
     return SDK.csc()