mirror of
https://github.com/denoland/deno.git
synced 2024-11-01 09:24:20 -04:00
09ae512ccb
This commit adds "deno bench" subcommand and "Deno.bench()" API that allows to register bench cases. The API is modelled after "Deno.test()" and "deno test" subcommand. Currently the output is rudimentary and bench cases and not subject to "ops" and "resource" sanitizers. Co-authored-by: evan <github@evan.lol>
35 lines
680 B
TypeScript
35 lines
680 B
TypeScript
import { assertEquals } from "../../../../test_util/std/testing/asserts.ts";
|
|
|
|
const permissions: Deno.PermissionName[] = [
|
|
"read",
|
|
"write",
|
|
"net",
|
|
"env",
|
|
"run",
|
|
"ffi",
|
|
"hrtime",
|
|
];
|
|
|
|
for (const name of permissions) {
|
|
Deno.bench({
|
|
name: `${name} false`,
|
|
permissions: {
|
|
[name]: false,
|
|
},
|
|
async fn() {
|
|
const status = await Deno.permissions.query({ name });
|
|
assertEquals(status.state, "prompt");
|
|
},
|
|
});
|
|
|
|
Deno.bench({
|
|
name: `${name} true`,
|
|
permissions: {
|
|
[name]: true,
|
|
},
|
|
async fn() {
|
|
const status = await Deno.permissions.query({ name });
|
|
assertEquals(status.state, "granted");
|
|
},
|
|
});
|
|
}
|