mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 01:29:14 -05:00
f5e46c9bf2
This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit.
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
|
const name = Deno.args[0];
|
|
// deno-lint-ignore no-explicit-any
|
|
const test: { [key: string]: (...args: any[]) => void | Promise<void> } = {
|
|
read(files: string[]) {
|
|
files.forEach((file) => Deno.readFileSync(file));
|
|
},
|
|
write(files: string[]) {
|
|
files.forEach((file) =>
|
|
Deno.writeFileSync(file, new Uint8Array(0), { append: true })
|
|
);
|
|
},
|
|
netFetch(urls: string[]) {
|
|
urls.forEach((url) => fetch(url));
|
|
},
|
|
netListen(endpoints: string[]) {
|
|
endpoints.forEach((endpoint) => {
|
|
const index = endpoint.lastIndexOf(":");
|
|
const [hostname, port] = [
|
|
endpoint.substr(0, index),
|
|
endpoint.substr(index + 1),
|
|
];
|
|
const listener = Deno.listen({
|
|
transport: "tcp",
|
|
hostname,
|
|
port: parseInt(port, 10),
|
|
});
|
|
listener.close();
|
|
});
|
|
},
|
|
async netConnect(endpoints: string[]) {
|
|
for (const endpoint of endpoints) {
|
|
const index = endpoint.lastIndexOf(":");
|
|
const [hostname, port] = [
|
|
endpoint.substr(0, index),
|
|
endpoint.substr(index + 1),
|
|
];
|
|
const listener = await Deno.connect({
|
|
transport: "tcp",
|
|
hostname,
|
|
port: parseInt(port, 10),
|
|
});
|
|
listener.close();
|
|
}
|
|
},
|
|
};
|
|
|
|
if (!test[name]) {
|
|
console.log("Unknown test:", name);
|
|
Deno.exit(1);
|
|
}
|
|
|
|
test[name](Deno.args.slice(1));
|