[pypy-commit] pypy refactor-translator: Expose tasks depending on configuration.
Manuel Jacob
noreply at buildbot.pypy.org
Mon Feb 25 22:07:10 CET 2013
Author: Manuel Jacob
Branch: refactor-translator
Changeset: r61773:6533418b7001
Date: 2013-02-25 14:48 +0100
http://bitbucket.org/pypy/pypy/changeset/6533418b7001/
Log: Expose tasks depending on configuration.
diff --git a/rpython/translator/driver.py b/rpython/translator/driver.py
--- a/rpython/translator/driver.py
+++ b/rpython/translator/driver.py
@@ -114,28 +114,14 @@
setattr(self, task, proc)
backend, ts = self.get_backend_and_type_system()
- for task in self.tasks:
- explicit_task = task
- if task == 'annotate':
- expose_task(task)
- else:
- task, postfix = task.split('_')
- if task in ('rtype', 'backendopt', 'llinterpret',
- 'pyjitpl'):
- if ts:
- if ts == postfix:
- expose_task(task, explicit_task)
- else:
- expose_task(explicit_task)
- elif task in ('source', 'compile', 'run'):
- if backend:
- if backend == postfix:
- expose_task(task, explicit_task)
- elif ts:
- if ts == backend_to_typesystem(postfix):
- expose_task(explicit_task)
- else:
- expose_task(explicit_task)
+ expose_task('annotate')
+ expose_task('rtype')
+ if config.translation.jit:
+ expose_task('pyjitpl')
+ if not config.translation.backendopt.none:
+ expose_task('backendopt')
+ expose_task('source')
+ expose_task('compile')
def set_extra_goals(self, goals):
self.extra_goals = goals
diff --git a/rpython/translator/test/test_driver.py b/rpython/translator/test/test_driver.py
--- a/rpython/translator/test/test_driver.py
+++ b/rpython/translator/test/test_driver.py
@@ -3,52 +3,20 @@
from rpython.translator.driver import TranslationDriver
import optparse
-def test_ctr():
+
+def test_c_no_jit():
td = TranslationDriver()
- expected = ['annotate', 'backendopt', 'llinterpret', 'rtype', 'source',
- 'compile', 'pyjitpl']
- assert set(td.exposed) == set(expected)
+ goals = ['annotate', 'rtype', 'backendopt', 'source', 'compile']
+ assert td.exposed == goals
- assert td.backend_select_goals(['compile_c']) == ['compile_c']
- assert td.backend_select_goals(['compile']) == ['compile_c']
- assert td.backend_select_goals(['rtype']) == ['rtype_lltype']
- assert td.backend_select_goals(['rtype_lltype']) == ['rtype_lltype']
- assert td.backend_select_goals(['backendopt']) == ['backendopt_lltype']
- assert td.backend_select_goals(['backendopt_lltype']) == [
- 'backendopt_lltype']
- td = TranslationDriver({'backend': None, 'type_system': None})
+def test_c_with_jit():
+ td = TranslationDriver({'jit': True})
+ goals = ['annotate', 'rtype', 'pyjitpl', 'backendopt', 'source', 'compile']
+ assert td.exposed == goals
- assert td.backend_select_goals(['compile_c']) == ['compile_c']
- py.test.raises(Exception, td.backend_select_goals, ['compile'])
- py.test.raises(Exception, td.backend_select_goals, ['rtype'])
- assert td.backend_select_goals(['rtype_lltype']) == ['rtype_lltype']
- py.test.raises(Exception, td.backend_select_goals, ['backendopt'])
- assert td.backend_select_goals(['backendopt_lltype']) == [
- 'backendopt_lltype']
- expected = ['annotate', 'backendopt_lltype',
- 'backendopt_ootype',
- 'llinterpret_lltype',
- 'rtype_ootype', 'rtype_lltype',
- 'source_cli', 'source_c',
- 'compile_cli', 'compile_c',
- 'compile_jvm', 'source_jvm', 'run_jvm',
- 'pyjitpl_lltype',
- 'pyjitpl_ootype']
- assert set(td.exposed) == set(expected)
-
- td = TranslationDriver({'backend': None, 'type_system': 'lltype'})
-
- assert td.backend_select_goals(['compile_c']) == ['compile_c']
- py.test.raises(Exception, td.backend_select_goals, ['compile'])
- assert td.backend_select_goals(['rtype_lltype']) == ['rtype_lltype']
- assert td.backend_select_goals(['rtype']) == ['rtype_lltype']
- assert td.backend_select_goals(['backendopt']) == ['backendopt_lltype']
- assert td.backend_select_goals(['backendopt_lltype']) == [
- 'backendopt_lltype']
-
- expected = ['annotate', 'backendopt', 'llinterpret', 'rtype', 'source_c',
- 'compile_c', 'pyjitpl']
-
- assert set(td.exposed) == set(expected)
+def test_no_backendopt():
+ td = TranslationDriver({'backendopt.none': True})
+ goals = ['annotate', 'rtype', 'source', 'compile']
+ assert td.exposed == goals
More information about the pypy-commit
mailing list