<commit_before>const fs = require("fs");
const webdriver = require("selenium-webdriver");
const driver = new webdriver.Builder().forBrowser("chrome").build();

driver.get("http://localhost:8080/test/");
driver.wait(webdriver.until.titleMatches(/: Complete$/), 10000).then(() => {
    driver.executeScript("return document.documentElement.outerHTML").then((html) => {
        fs.writeFile("test-result.html", html, (err) => {
            if (err) throw err;
            driver.findElements(webdriver.By.css(".test")).then((tests) => {
                driver.findElements(webdriver.By.css(".test.pass:not(.pending)")).then((passedTests) => {
                    driver.findElements(webdriver.By.css(".test.fail")).then((failedTests) => {
                        driver.findElements(webdriver.By.css(".test.pending")).then((pendingTests) => {
                            if (!tests.length) throw "No tests are evaluated.";
                            console.log(`${passedTests.length} of ${tests.length} test${passedTests.length === 1 ? " is": "s are"} passed.`);
                            console.log(`${failedTests.length} of ${tests.length} test${failedTests.length === 1 ? " is": "s are"} failed.`);
                            console.log(`${pendingTests.length} of ${tests.length} test${pendingTests.length === 1 ? " is": "s are"} pended.`);
                            const exitCode = failedTests.length ? 1: 0;
                            driver.quit();
                            process.exit(exitCode);
                        });
                    });
                });
            });
        });
    });
}).catch((err) => {
    console.error(err);
    driver.quit();
    process.exit(1);
});<commit_msg>Setting circleci up.<commit_after>const fs = require("fs");
const webdriver = require("selenium-webdriver");
const driver = new webdriver.Builder().forBrowser("chrome").build();

driver.get("http://localhost:8080/test/");
driver.wait(webdriver.until.titleMatches(/: Complete$/), 10000).then(() => {
    driver.executeScript("return document.documentElement.outerHTML").then((html) => {
        fs.writeFile("test-result.html", html, (err) => {
            if (err) throw err;
            driver.findElements(webdriver.By.css(".test")).then((tests) => {
                driver.findElements(webdriver.By.css(".test.pass:not(.pending)")).then((passedTests) => {
                    driver.findElements(webdriver.By.css(".test.fail")).then((failedTests) => {
                        driver.findElements(webdriver.By.css(".test.pending")).then((pendingTests) => {
                            if (!tests.length) throw "No tests are evaluated.";
                            const colorRed = "\u001b[31m";
                            const colorGreen = "\u001b[32m";
                            const colorCyan = "\u001b[36m";
                            const colorReset = "\u001b[0m";
                            let passed = passedTests.length.toString(10);
                            let failed = failedTests.length.toString(10);
                            let pending = pendingTests.length.toString(10);
                            const digits = tests.length.toString(10).length;
                            passed = " ".repeat(digits - passed.length) + passed;
                            failed = " ".repeat(digits - failed.length) + failed;
                            pending = " ".repeat(digits - pending.length) + pending;
                            console.log(`${colorGreen}${passed} of ${tests.length} test${passedTests.length === 1 ? " is": "s are"} passed.${colorReset}`);
                            console.log(`${colorRed}${failed} of ${tests.length} test${failedTests.length === 1 ? " is": "s are"} failed.${colorReset}`);
                            console.log(`${colorCyan}${pending} of ${tests.length} test${pendingTests.length === 1 ? " is": "s are"} pended.${colorReset}`);
                            const exitCode = failedTests.length ? 1: 0;
                            driver.quit();
                            process.exit(exitCode);
                        });
                    });
                });
            });
        });
    });
}).catch((err) => {
    console.error(err);
    driver.quit();
    process.exit(1);
});
{'fraction_non_alphanumeric': 0.16799065420560746, 'fraction_numerical': 0.013317757009345794, 'mean_word_length': 1.8145956607495068, 'pattern_counts': {'":': 6, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1738063', 'n_tokens_mistral': 1179, 'n_tokens_neox': 1114, 'n_words': 182}