0ffc1ba5fc
Until now, the cross-over mutator would choke on several expressions from DB and bail out (just wastes some time). We also have a script, test_db.js to test on how many expressions it is going to bail out. With this change, we already omit adding such expressions to the DB in the first place. As a result, the test_db script now returns zero failing expressions (while all other expressions remain). Regression tests that now no longer apply are removed, instead a test is added that ensures that a failing expression isn't added to the DB. No-Try: true Bug: chromium:1044942 Change-Id: I14a4fe802c99114cf3a8f71188273475a7cb9c13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3129340 Reviewed-by: Liviu Rau <liviurau@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#76598}
34 lines
1022 B
JavaScript
34 lines
1022 B
JavaScript
// Copyright 2021 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
/**
|
|
* @fileoverview Test the script building the DB.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const assert = require('assert');
|
|
const { execSync } = require("child_process");
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const tempy = require('tempy');
|
|
|
|
function buildDb(inputDir, corpusName, outputDir) {
|
|
execSync(
|
|
`node build_db.js -i ${inputDir} -o ${outputDir} ${corpusName}`,
|
|
{stdio: ['pipe']});
|
|
}
|
|
|
|
describe('DB tests', () => {
|
|
// Test feeds an expression that does not apply.
|
|
it('omits erroneous expressions', () => {
|
|
const outPath = tempy.directory();
|
|
buildDb('test_data/db', 'this', outPath);
|
|
const indexFile = path.join(outPath, 'index.json');
|
|
const indexJSON = JSON.parse(fs.readFileSync(indexFile), 'utf-8');
|
|
assert.deepEqual(
|
|
indexJSON, {"statements": [], "superStatements": [], "all": []});
|
|
});
|
|
});
|