mirror of
https://github.com/coder/code-server.git
synced 2024-12-04 23:03:06 +08:00
dc2253e718
* Replace evaluations with proxies and messages * Return proxies synchronously Otherwise events can be lost. * Ensure events cannot be missed * Refactor remaining fills * Use more up-to-date version of util For callbackify. * Wait for dispose to come back before removing This prevents issues with the "done" event not always being the last event fired. For example a socket might close and then end, but only if the caller called end. * Remove old node-pty tests * Fix emitting events twice on duplex streams * Preserve environment when spawning processes * Throw a better error if the proxy doesn't exist * Remove rimraf dependency from ide * Update net.Server.listening * Use exit event instead of killed Doesn't look like killed is even a thing. * Add response timeout to server * Fix trash * Require node-pty & spdlog after they get unpackaged This fixes an error when running in the binary. * Fix errors in down emitter preventing reconnecting * Fix disposing proxies when nothing listens to "error" event * Refactor event tests to use jest.fn() * Reject proxy call when disconnected Otherwise it'll wait for the timeout which is a waste of time since we already know the connection is dead. * Use nbin for binary packaging * Remove additional module requires * Attempt to remove require for local bootstrap-fork * Externalize fsevents
36 lines
955 B
TypeScript
36 lines
955 B
TypeScript
import * as fs from "fs";
|
|
import * as util from "util";
|
|
import { Module } from "../src/common/proxy";
|
|
import { createClient, Helper } from "./helpers";
|
|
|
|
describe("spdlog", () => {
|
|
const client = createClient();
|
|
const spdlog = client.modules[Module.Spdlog];
|
|
const helper = new Helper("spdlog");
|
|
|
|
beforeAll(async () => {
|
|
await helper.prepare();
|
|
});
|
|
|
|
it("should log to a file", async () => {
|
|
const file = await helper.createTmpFile();
|
|
const logger = new spdlog.RotatingLogger("test logger", file, 10000, 10);
|
|
logger.trace("trace");
|
|
logger.debug("debug");
|
|
logger.info("info");
|
|
logger.warn("warn");
|
|
logger.error("error");
|
|
logger.critical("critical");
|
|
logger.flush();
|
|
await new Promise((resolve): number | NodeJS.Timer => setTimeout(resolve, 1000));
|
|
expect(await util.promisify(fs.readFile)(file, "utf8"))
|
|
.toContain("critical");
|
|
});
|
|
|
|
it("should dispose", () => {
|
|
setTimeout(() => {
|
|
client.dispose();
|
|
}, 100);
|
|
});
|
|
});
|