Big Refactoring (BR) of the test execution model
Get rid of narval preprocessors in favor of Recipes
- Each preprocessing recipe must be run from the "main" recipe (thus we add
a ATest.exec_recipe() method that can be called from Recipe execution).
- We add a (Repository, checkout_recipe, Recipe) relation, which is the
Recipe that tells how to retrieve the code for a given Repository
- Also add a (ProjectEnvironment, setup_recipe, Recip) dedicated to perform
the installation for a project (compile and install)
- Add implementations for these recipes for Python project
- Rewrite the quick recipe using this new model
# normally executed with following builtin variables:
# :source_url:
# :rev:
# :dstdir:
import os
import hglib
os.environ['HGRCPATH'] = os.devnull
configs = [('ui.username', 'narval'),
('phases.publish', 'False'),
]
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
hglib.clone(source_url, dst_dir, updaterev=rev)