From 5bc9bff834299e7a90f57d38c2149703b88ece45 Mon Sep 17 00:00:00 2001 From: Soeren Sonnenburg Date: Fri, 26 Jul 2013 23:31:37 +0200 Subject: [PATCH] create some dummy unit test in absence of jinja2 --- tests/unit/base/clone_unittest.cc.py | 46 +++++++++++++++------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/tests/unit/base/clone_unittest.cc.py b/tests/unit/base/clone_unittest.cc.py index 42727301add..266aa9b737d 100644 --- a/tests/unit/base/clone_unittest.cc.py +++ b/tests/unit/base/clone_unittest.cc.py @@ -8,15 +8,6 @@ # Written (W) 2013 Viktor Gal # Copyright (C) 2013 Viktor Gal -import sys - -try: - import jinja2 -except ImportError: - print("Please install jinja2 for clone unit-tests"); - sys.exit(0) - - def get_class_list_content(): class_list_file = '../../src/shogun/base/class_list.cpp' f = open(class_list_file, 'r') @@ -66,25 +57,38 @@ def get_class_list(class_list_content): template_classes.append(sho_class) return classes, template_classes -templateLoader = jinja2.FileSystemLoader(searchpath="./") -templateEnv = jinja2.Environment(loader=templateLoader) +def entry(templateFile): + templateLoader = jinja2.FileSystemLoader(searchpath="./") + templateEnv = jinja2.Environment(loader=templateLoader) -TEMPLATE_FILE = sys.argv[1] -template = templateEnv.get_template(TEMPLATE_FILE) + template = templateEnv.get_template(templateFile) + + # get the content of class_list.cpp + class_list_content = get_class_list_content() -# get the content of class_list.cpp -class_list_content = get_class_list_content() + classes, template_classes = get_class_list(class_list_content) -classes, template_classes = get_class_list(class_list_content) + types = ['PT_BOOL', 'PT_CHAR', 'PT_INT8', 'PT_UINT8', 'PT_INT16', 'PT_UINT16', 'PT_INT32', + 'PT_UINT32', 'PT_INT64', 'PT_UINT64', 'PT_FLOAT32', 'PT_FLOAT64', 'PT_FLOATMAX'] -types = ['PT_BOOL', 'PT_CHAR', 'PT_INT8', 'PT_UINT8', 'PT_INT16', 'PT_UINT16', 'PT_INT32', - 'PT_UINT32', 'PT_INT64', 'PT_UINT64', 'PT_FLOAT32', 'PT_FLOAT64', 'PT_FLOATMAX'] + templateVars = {"classes" : classes, "template_classes" : template_classes, "types" : types} -templateVars = {"classes" : classes, "template_classes" : template_classes, "types" : types} + return template.render(templateVars) -outputText = template.render(templateVars) + +import sys +TEMPLATE_FILE = sys.argv[1] + +try: + import jinja2 + outputText = entry(TEMPLATE_FILE) +except ImportError: + print("Please install jinja2 for clone unit-tests"); + outputText = ['''#include +TEST(Dummy,dummy) +{ +}'''] f = open(TEMPLATE_FILE.replace('.jinja2',''), 'w') f.writelines(outputText) f.close() -