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"])
Ejemplo n.º 3
0
 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])
Ejemplo n.º 4
0
 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)
Ejemplo n.º 6
0
 def setUp(self):
     config = FormatAnalyzer._load_train_config(get_train_config())
     self.extractor = FeatureExtractor(
         language="javascript", **config["javascript"]["feature_extractor"])