mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-08 16:07:43 +00:00
Add query search order check
This commit is contained in:
parent
ff65726ebf
commit
00bbda16a7
@ -8,6 +8,8 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
// ignore-order
|
||||||
|
|
||||||
const QUERY = '[';
|
const QUERY = '[';
|
||||||
|
|
||||||
const EXPECTED = {
|
const EXPECTED = {
|
||||||
|
@ -13,8 +13,8 @@ const QUERY = 'String';
|
|||||||
const EXPECTED = {
|
const EXPECTED = {
|
||||||
'others': [
|
'others': [
|
||||||
{ 'path': 'std::string', 'name': 'String' },
|
{ 'path': 'std::string', 'name': 'String' },
|
||||||
{ 'path': 'std::ffi', 'name': 'OsString' },
|
|
||||||
{ 'path': 'std::ffi', 'name': 'CString' },
|
{ 'path': 'std::ffi', 'name': 'CString' },
|
||||||
|
{ 'path': 'std::ffi', 'name': 'OsString' },
|
||||||
],
|
],
|
||||||
'in_args': [
|
'in_args': [
|
||||||
{ 'path': 'std::str', 'name': 'eq' },
|
{ 'path': 'std::str', 'name': 'eq' },
|
||||||
|
@ -87,6 +87,7 @@ function loadContent(content) {
|
|||||||
var Module = module.constructor;
|
var Module = module.constructor;
|
||||||
var m = new Module();
|
var m = new Module();
|
||||||
m._compile(content, "tmp.js");
|
m._compile(content, "tmp.js");
|
||||||
|
m.exports.ignore_order = content.indexOf("\n// ignore-order\n") !== -1;
|
||||||
return m.exports;
|
return m.exports;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,10 +131,10 @@ function lookForEntry(entry, data) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (allGood === true) {
|
if (allGood === true) {
|
||||||
return true;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function main(argv) {
|
function main(argv) {
|
||||||
@ -177,6 +178,7 @@ function main(argv) {
|
|||||||
'exports.QUERY = QUERY;exports.EXPECTED = EXPECTED;');
|
'exports.QUERY = QUERY;exports.EXPECTED = EXPECTED;');
|
||||||
const expected = loadedFile.EXPECTED;
|
const expected = loadedFile.EXPECTED;
|
||||||
const query = loadedFile.QUERY;
|
const query = loadedFile.QUERY;
|
||||||
|
const ignore_order = loadedFile.ignore_order;
|
||||||
var results = loaded.execSearch(loaded.getQuery(query), index);
|
var results = loaded.execSearch(loaded.getQuery(query), index);
|
||||||
process.stdout.write('Checking "' + file + '" ... ');
|
process.stdout.write('Checking "' + file + '" ... ');
|
||||||
var error_text = [];
|
var error_text = [];
|
||||||
@ -189,13 +191,17 @@ function main(argv) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var entry = expected[key];
|
var entry = expected[key];
|
||||||
var found = false;
|
var prev_pos = 0;
|
||||||
for (var i = 0; i < entry.length; ++i) {
|
for (var i = 0; i < entry.length; ++i) {
|
||||||
if (lookForEntry(entry[i], results[key]) === true) {
|
var entry_pos = lookForEntry(entry[i], results[key]);
|
||||||
found = true;
|
if (entry_pos === null) {
|
||||||
} else {
|
|
||||||
error_text.push("==> Result not found in '" + key + "': '" +
|
error_text.push("==> Result not found in '" + key + "': '" +
|
||||||
JSON.stringify(entry[i]) + "'");
|
JSON.stringify(entry[i]) + "'");
|
||||||
|
} else if (entry_pos < prev_pos && ignore_order === false) {
|
||||||
|
error_text.push("==> '" + JSON.stringify(entry[i]) + "' was supposed to be " +
|
||||||
|
" before '" + JSON.stringify(results[key][entry_pos]) + "'");
|
||||||
|
} else {
|
||||||
|
prev_pos = entry_pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user