def launchPreprocessing(tests): """Lance la serie des pretraitements tels que definis dans la stucture `tests'. On charge et execute en série les filtres, le nom du fichier résultat est dans le champ `output' de partie preprocessing de la structure `tests'.""" # On prend chaque instance de chaque test. print '* Lancement des pretraitements.' for test in tests: for instance in test['execs']: preprocessing = instance['preprocessing'] # Les fichiers resultats intermédiaires sont : source-Nb-module.svg source_filename = test['source'] input_file = source_filename preprocessing['filters'].insert(0, {'name' : 'identity', 'filter_id' : 0, 'parameters' : { 'param' : [] }}) # Pour chaque filtre, on regle les fichiers # d'entrée/sortie, on charge le module python et on lance. for prefilter in preprocessing['filters']: output_filename = '%s-%s-%s-%s.svg' % (test['test_id'], instance['instance_id'], prefilter['filter_id'], prefilter['name']) output_file = os.path.join(conf['preprocessing_directory'], output_filename) module = util.importer_module('pretraitement', prefilter['name']) module.go(input_file, output_file, prefilter['parameters']) input_file = output_file # Le fichier resultat est dans preprocessing['output'] preprocessing['output'] = output_file
def launchDiagnostic(tests): """Lance les diagnostics. `tests' est la grande structure de tests. Pour chaque comparaison, on lance le module de diagnostic défini dans la structure.""" print '* Lancement des captures.' buildComparisons(tests) for test in tests: for comparison in test['comparisons']: diagnostic = test['diagnostic'] module_nom = diagnostic['name'] module = util.importer_module('diagnostic', module_nom) source_filename = test['source'] output_prefix = os.path.join(conf['capture_directory'], comparison['comparison_id'] ) module.go(comparison, output_prefix, diagnostic)
def launchCapture(tests): """Lance les captures. `tests' est la grande structure de tests. Le résultat de chaque capture est stocké dans capture['output']""" print '* Lancement des captures.' for test in tests: for instance in test['execs']: capture = instance['capture'] module_nom = capture['name'] module = util.importer_module('capture', module_nom) source_filename = test['source'] output_filename = '%s-%s-%s' % (test['test_id'], instance['instance_id'], capture['name']) input_file = instance['preprocessing']['output'] output_prefix = os.path.join(conf['capture_directory'], output_filename) output_file = module.go(input_file, output_prefix, capture['parameters']) capture['output'] = output_file