[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