def compileSuiteCoffee(path, suite_path): contrib.cleandir(suite_path, '.*.js') tests = contrib.enum_files_in_folders( suite_path, lambda file_: not file_.endswith(settings.COFFEE_FILE_EXT) ) for test in tests: fullpath = os.path.join(suite_path, test) path = coffeescript.compile2js(None, None, fullpath) log.info(path)
def runTest(request, fullpath): path = contrib.normpath(request.REQUEST["path"]) context_name = request.REQUEST.get("context", None) ctx = context.get(fullpath, section=context_name) log.info('run test %s with context %s' % (path, context_name)) server = request.get_host() contextjs = context.render(path, ctx, server, context_name) log.debug('contextJS: '+ contextjs) clean_path = contrib.get_relative_clean_path(path) target = contrib.get_runner_url(ctx, server) log.info('target of test %s is %s' % (clean_path, target)) tools.savetest(request.REQUEST.get('content', None), fullpath) test_content = request.REQUEST.get("content", open(fullpath, 'r').read()) saveLocalContext(fullpath, contextjs) if coffee(path): path = coffeescript.compile2js(test_content, path, fullpath) url = "http://%s/%s?server=%s&path=/%s" % (target, settings.EXEC_TESTS_CMD, server, path) log.info("redirect to run test %s" % url) return HttpResponseRedirect(url)
def patch_coffeescript_lib(lib): if re.search(r'\.coffee$', lib): root = get_document_root(lib) fullpath = get_full_path(root, lib) return coffeescript.compile2js(None, lib, fullpath) return lib