Checks date for any RA

This commit is contained in:
huntc 2024-07-30 16:26:56 +10:00
parent ec7451cc8d
commit b05def0f4c
2 changed files with 22 additions and 20 deletions

View file

@ -154,21 +154,16 @@ function orderFromPath(
raVersionResolver: (path: string) => string | undefined,
): string {
const capture = path.match(/^.*\/toolchains\/(.*)\/bin\/rust-analyzer$/);
if (capture?.length === 2) {
const toolchain = capture[1]!;
if (toolchain.startsWith("stable-")) {
return "1";
// It is a semver, so we must resolve Rust Analyzer's version.
const raVersion = raVersionResolver(path);
const raDate = raVersion?.match(/^rust-analyzer .*\(.* (\d{4}-\d{2}-\d{2})\)$/);
if (raDate?.length === 2) {
const precedence = toolchain.startsWith("nightly-") ? "/0" : "/1";
return "0-" + raDate[1] + precedence;
} else {
// It is a semver, so we must resolve Rust Analyzer's version.
const raVersion = raVersionResolver(path);
const raDate = raVersion?.match(/^rust-analyzer .*\(.* (\d{4}-\d{2}-\d{2})\)$/);
if (raDate?.length === 2) {
const precedence = toolchain.startsWith("nightly-") ? "/0" : "/1";
return "0-" + raDate[1] + precedence;
} else {
return "2";
}
return "2";
}
} else {
return "2";

View file

@ -52,11 +52,15 @@ export async function getTests(ctx: Context) {
assert.deepStrictEqual(
_private.orderFromPath(
"/Users/myuser/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rust-analyzer",
function () {
assert.fail("Shouldn't get here.");
function (path: string) {
assert.deepStrictEqual(
path,
"/Users/myuser/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rust-analyzer",
);
return "rust-analyzer 1.79.0 (129f3b99 2024-06-10)";
},
),
"1",
"0-2024-06-10/1",
);
});
@ -75,11 +79,14 @@ export async function getTests(ctx: Context) {
"/Users/myuser/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rust-analyzer",
"/Users/myuser/.rustup/toolchains/nightly-2022-11-22-aarch64-apple-darwin/bin/rust-analyzer",
function (path: string) {
assert.deepStrictEqual(
path,
"/Users/myuser/.rustup/toolchains/nightly-2022-11-22-aarch64-apple-darwin/bin/rust-analyzer",
);
return "rust-analyzer 1.67.0-nightly (b7bc90fe 2022-11-21)";
if (
path ===
"/Users/myuser/.rustup/toolchains/nightly-2022-11-22-aarch64-apple-darwin/bin/rust-analyzer"
) {
return "rust-analyzer 1.67.0-nightly (b7bc90fe 2022-11-21)";
} else {
return "rust-analyzer 1.79.0 (129f3b99 2024-06-10)";
}
},
),
"/Users/myuser/.rustup/toolchains/nightly-2022-11-22-aarch64-apple-darwin/bin/rust-analyzer",