def setUpClass(cls): config = FormatAnalyzer._load_train_config(merge_dicts( get_train_config(), { "javascript": { "feature_extractor": { "left_siblings_window": 1, "right_siblings_window": 1, "parents_depth": 1, "node_features": ["start_line", "reserved", "roles"], }, }, })) base = Path(__file__).parent with lzma.open(str(base / "benchmark.js.xz"), mode="rt") as fin: contents = fin.read() with lzma.open(str(base / "benchmark.uast.xz")) as fin: uast = bblfsh.Node.FromString(fin.read()) file = File(content=bytes(contents, "utf-8"), uast=uast) files = [file, file] cls.fe = FeatureExtractor(language="javascript", **config["javascript"]["feature_extractor"]) cls.fe.extract_features(files) cls.class_representations = cls.fe.composite_class_representations cls.n_classes = len(cls.fe.labels_to_class_sequences) cls.ordinal = cls.return_node_feature(FeatureId.start_line) cls.categorical = cls.return_node_feature(FeatureId.reserved) cls.bag = cls.return_node_feature(FeatureId.roles)
def setUpClass(cls): base = Path(__file__).parent # str() is needed for Python 3.5 with lzma.open(str(base / "benchmark.js.xz"), mode="rt") as fin: contents = fin.read() with lzma.open(str(base / "benchmark.uast.xz")) as fin: uast = bblfsh.Node.FromString(fin.read()) file = File(content=bytes(contents, "utf-8"), uast=uast) cls.files = [file] config = FormatAnalyzer._load_train_config(get_train_config()) cls.config = config["javascript"] cls.extractor = FeatureExtractor(language="javascript", **cls.config["feature_extractor"])
def setUpClass(cls): cls.maxDiff = None base = Path(__file__).parent # str() is needed for Python 3.5 with lzma.open(str(base / "benchmark_small.js.xz"), mode="rt") as fin: contents = fin.read() with lzma.open(str(base / "benchmark_small.js.uast.xz")) as fin: uast = bblfsh.Node.FromString(fin.read()) config = FormatAnalyzer._load_train_config(get_train_config()) fe_config = config["javascript"] cls.feature_extractor = FeatureExtractor( language="javascript", label_composites=label_composites, **fe_config["feature_extractor"]) cls.file = File(content=bytes(contents, "utf-8"), uast=uast) cls.X, cls.y, (cls.vnodes_y, cls.vnodes, cls.vnode_parents, cls.node_parents) = \ cls.feature_extractor.extract_features([cls.file])
def test_train_review_analyzer_integration(self): """Integration test for review event.""" with TestAnalyzer( port=self.port, db=self.db.name, fs=self.fs.name, analyzer="lookout.style.format.benchmarks.general_report"): server.run("push", FROM_COMMIT, TO_COMMIT, port=self.port, git_dir=self.jquery_dir, config_json=json.dumps( {QualityReportAnalyzer.name: get_train_config()})) server.run("review", FROM_COMMIT, TO_COMMIT, port=self.port, git_dir=self.jquery_dir, config_json=json.dumps( {QualityReportAnalyzer.name: get_analyze_config()}))
def test_evaluate_smoke_entry_integration(self): input_path = os.path.join(os.path.dirname(generate_smoke.__file__), "data", "js_smoke_init.tar.xz") generate_smoke.js_format_rules = {"equal_no_space_style": (" = ", "=")} with tempfile.TemporaryDirectory( prefix="test-smoke-eval-") as outputpath: generate_smoke.generate_smoke_entry(input_path, outputpath, force=True) with open(os.path.join(outputpath, "index.csv")) as index: index_content = index.read().splitlines() self.assertEqual(len(index_content), 5) self.assertEqual( set(os.listdir(outputpath)), {"index.csv", "nodejs", "jsquery", "freeCodeCamp", "react"}) with open(os.path.join(outputpath, "index.csv"), "w") as index: index.write("\n".join(index_content[::3])) report_dir = os.path.join(outputpath, "report") evaluate_smoke_entry(outputpath, report_dir, None, "0.0.0.0:9432", get_train_config(), get_analyze_config()) report = pandas.read_csv(os.path.join(report_dir, "report.csv")) self.assertEqual(len(report), 11) self.assertEqual(len(report.columns), 15)
def setUp(self): config = FormatAnalyzer._load_train_config(get_train_config()) self.extractor = FeatureExtractor( language="javascript", **config["javascript"]["feature_extractor"])