Merge pull request #479 from github/aeisenberg/directory-fingerprint

Avoid fingerprinting directories
This commit is contained in:
Andrew Eisenberg 2021-05-05 13:54:11 -07:00 committed by GitHub
commit a7d3945ab4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 20 additions and 2 deletions

4
lib/fingerprints.js generated
View file

@ -197,6 +197,10 @@ function resolveUriToFile(location, artifacts, checkoutPath, logger) {
logger.debug(`Unable to compute fingerprint for non-existent file: ${uri}`); logger.debug(`Unable to compute fingerprint for non-existent file: ${uri}`);
return undefined; return undefined;
} }
if (fs.statSync(uri).isDirectory()) {
logger.debug(`Unable to compute fingerprint for directory: ${uri}`);
return undefined;
}
return uri; return uri;
} }
exports.resolveUriToFile = resolveUriToFile; exports.resolveUriToFile = resolveUriToFile;

File diff suppressed because one or more lines are too long

View file

@ -145,6 +145,10 @@ ava_1.default("resolveUriToFile", (t) => {
// Invalid indexes are discarded // Invalid indexes are discarded
t.is(testResolveUriToFile(undefined, 1, [filepath]), undefined); t.is(testResolveUriToFile(undefined, 1, [filepath]), undefined);
t.is(testResolveUriToFile(undefined, "0", [filepath]), undefined); t.is(testResolveUriToFile(undefined, "0", [filepath]), undefined);
// Directories are discarded
const dirpath = __dirname;
t.is(testResolveUriToFile(dirpath, undefined, []), undefined);
t.is(testResolveUriToFile(`file://${dirpath}`, undefined, []), undefined);
}); });
ava_1.default("addFingerprints", (t) => { ava_1.default("addFingerprints", (t) => {
// Run an end-to-end test on a test file // Run an end-to-end test on a test file

File diff suppressed because one or more lines are too long

View file

@ -163,6 +163,11 @@ test("resolveUriToFile", (t) => {
// Invalid indexes are discarded // Invalid indexes are discarded
t.is(testResolveUriToFile(undefined, 1, [filepath]), undefined); t.is(testResolveUriToFile(undefined, 1, [filepath]), undefined);
t.is(testResolveUriToFile(undefined, "0", [filepath]), undefined); t.is(testResolveUriToFile(undefined, "0", [filepath]), undefined);
// Directories are discarded
const dirpath = __dirname;
t.is(testResolveUriToFile(dirpath, undefined, []), undefined);
t.is(testResolveUriToFile(`file://${dirpath}`, undefined, []), undefined);
}); });
test("addFingerprints", (t) => { test("addFingerprints", (t) => {

View file

@ -227,6 +227,11 @@ export function resolveUriToFile(
return undefined; return undefined;
} }
if (fs.statSync(uri).isDirectory()) {
logger.debug(`Unable to compute fingerprint for directory: ${uri}`);
return undefined;
}
return uri; return uri;
} }