Commit Graph

5591 Commits

Author SHA1 Message Date
Qi Xiao
1f362db665 pkg/eval: Add before-exit hook for daemon cleanup.
The daemon client in the Evaler is now only used by the dir-history builtin
command and can be removed when it is removed.
2021-10-03 23:16:20 +01:00
Qi Xiao
56038311da pkg/eval: Remove elvdoc for the removed path-* commands. 2021-10-03 23:03:52 +01:00
Qi Xiao
7e526534cd pkg/eval: Remove Eval.libInstallDir; it's not used anywhere. 2021-10-03 23:01:26 +01:00
Qi Xiao
64b52d08aa pkg/edit: Correct the elvdoc for edit:notify. 2021-10-03 22:58:45 +01:00
Qi Xiao
c6d9ebc389 Add special command "coalesce".
This fixes #1404.
2021-10-03 19:14:44 +01:00
Qi Xiao
643ece6347 Document that & requires no whitespace to start a key-value pair or command option.
This fixes #1152.
2021-10-03 18:44:41 +01:00
Qi Xiao
0571db69e2 Remove commands deprecated in 0.16.0, and deprecate dir-history. 2021-10-03 16:47:51 +01:00
Qi Xiao
2e6a3abce5 Expose all functionalities of the persistent store in the store: module.
This fixes #1032.
2021-10-03 16:34:52 +01:00
Qi Xiao
68168da9fc pkg/eval: Convert elements of slice return value from a GoFn to individual outputs. 2021-10-03 16:34:52 +01:00
Qi Xiao
b17e5bd1ad pkg/shell: Remove an unnecessary import rename. 2021-10-03 14:47:22 +01:00
Qi Xiao
cd62d565ab pkg/eval: Small test coverage improvements. 2021-10-03 01:54:07 +01:00
Qi Xiao
3526f0284e pkg/eval: Increase coverage of builtin_fn_flow_test.go. 2021-10-03 01:09:08 +01:00
Qi Xiao
3f418dfd5c pkg/cli/term: Fix test on Windows. 2021-10-03 00:35:32 +01:00
Qi Xiao
00c26410cc pkg/cli/term: Increase coverage of buffer.go and reader.go. 2021-10-03 00:29:55 +01:00
Qi Xiao
0219b99add pkg/cli/term: More tests for convertEvent in reader_windows.go. 2021-10-03 00:03:02 +01:00
Qi Xiao
3172a259b9 Fix cmd/examples/win_tty 2021-10-02 22:44:54 +01:00
Qi Xiao
7961cf2d7a pkg/cli/term: Add very basic tests against reader_windows.go.
We can't test actual console events, but at least we can test the
convertEvent function.
2021-10-02 22:38:02 +01:00
Qi Xiao
3585d933b8 pkg/sys/ewindows: Remove the _windows suffix from most files.
All the files in this package are Windows-specific. Use build
constraints to ensure that they don't build on other platforms instead.
2021-10-02 22:38:02 +01:00
Qi Xiao
bfb9986339 pkg/daemon: Fix activate_unix_test.go. 2021-10-02 19:04:36 +01:00
Qi Xiao
eadb0c3283 pkg/daemon: Only test the code to interrupt old daemon on UNIX.
Windows does not support sending interrupts to processes without
consoles.
2021-10-02 19:02:28 +01:00
Qi Xiao
4f63beab17 pkg/daemon: Let killDaemon wait until the socket file is removed.
There is a race condition where the old daemon may remove the socket file
created by the new daemon.
2021-10-02 18:41:50 +01:00
Qi Xiao
56b2598284 pkg/daemon: Add util for testing the termination of server. 2021-10-02 16:02:05 +01:00
Qi Xiao
b801a99d2a pkg/daemon: Test Activate killing outdated daemon. 2021-10-02 15:47:18 +01:00
Qi Xiao
ba3dccb625 pkg/sys: Clarify package godocs. 2021-10-02 13:45:47 +01:00
Qi Xiao
67369b6284 pkg/sys/unix: Simplify the handling of Termios differences a bit. 2021-10-02 13:42:27 +01:00
Qi Xiao
f9103bef1a pkg/sys/unix: Remove utilities that are no longer needed. 2021-10-02 13:25:21 +01:00
Qi Xiao
7a72b6346a Reorganize pkg/sys into portable and non-portable system utilities.
Non-portable ones are moved into new packages pkg/sys/e{unix windows}. The "e"
prefix is needed to avoid conflict with packages under golang.org/x/sys/ and can
mean "extra".
2021-10-02 13:14:00 +01:00
Qi Xiao
93f530b39d pkg/daemon: Fix test when run as root. 2021-10-02 01:29:17 +01:00
Qi Xiao
bd285bd25c pkg/daemon: Slightly improve the coverage of activate.go. 2021-10-02 01:21:21 +01:00
Qi Xiao
101576471b pkg/daemon: Fix the handling of hanging sockets.
Also enable the test.

The implementation incorrectly assumed that trying to connect to a hanging
socket will return rpc.ErrShutdown; this is not actually the case.

Also change error wrapping in activate.go to use %w instead of %v to preserve
the wrapped error.
2021-10-01 23:56:57 +01:00
Qi Xiao
371695f07b Merge the SourceGraph LSIF workflow into the CI workflow. 2021-10-01 22:24:51 +01:00
Qi Xiao
821a204fef pkg/daemon: Test that Activate can remove hanging socket.
The test is currently skipped since the corresponding behavior has not been
implemented correctly.
2021-10-01 22:19:23 +01:00
Qi Xiao
fe0a8602d3 pkg/daemon: Test daemon spawning.
Also do some minor cleanup.
2021-10-01 21:54:15 +01:00
Qi Xiao
6e4296db2b Make TestActivate_FailsIfCannotStatSock work on Windows. 2021-10-01 19:14:50 +01:00
Qi Xiao
e60fd50737 Only skip the test on Windows. 2021-10-01 00:38:06 +01:00
Qi Xiao
7f8ab450a5 Disable test that may have inadvertently triggered daemon spawning. 2021-10-01 00:32:32 +01:00
Qi Xiao
09e5ffe9d9 pkg/daemon: Improve the coverage of activate.go slightly.
Also remove an unused code branch.
2021-10-01 00:03:22 +01:00
Qi Xiao
7995cc5f6f pkg/daemon: Add basic test for Activate. 2021-09-30 23:45:38 +01:00
Qi Xiao
8e117a2875 Merge pkg/daemon/client into pkg/daemon.
Also merge and rename files to make the client/server separation clearer.
2021-09-30 23:37:36 +01:00
Qi Xiao
025728b35d pkg/daemon: Don't test any system signal behavior on Windows.
(*os.Process).Signal doesn't support sending SIGINT on Windows either.
2021-09-29 23:50:45 +01:00
Qi Xiao
fdd65538c6 pkg/daemon: Don't test SIGTERM on Windows.
Also don't block test indefinitely if server doesn't terminate.
2021-09-29 23:44:34 +01:00
Qi Xiao
3eedcf3c85 pkg/daemon: Increase coverage of serve.go. 2021-09-29 23:30:13 +01:00
Qi Xiao
cff34107da pkg/daemon: Rewrite the main loop and make it easier to test. 2021-09-23 20:54:12 +01:00
Qi Xiao
1d62b0d68b Add a security policy doc. 2021-09-22 00:24:03 +01:00
Qi Xiao
ccc2750037 Remove the experimental web UI.
It has not been actively developed for a long time and has a vulnerability:
https://github.com/elves/elvish/security/advisories/GHSA-fpv6-f8jw-rc3r
2021-09-21 23:45:09 +01:00
Qi Xiao
a9f28832c4 pkg/parse: Improve coverage of quote.go. 2021-09-17 20:24:20 +01:00
Qi Xiao
9344aa9659 pkg/daemon/daemon_test.go: Disable TestProgram_StillServesIfCannotOpenDB now. 2021-09-15 21:37:28 +01:00
Qi Xiao
e046315d28 pkg/daemon/daemon_test.go: Return more detailed error from startClient. 2021-09-15 21:31:51 +01:00
Qi Xiao
7d5175e082 pkg/daemon: In tests, print error to stdout if server fails to start. 2021-09-15 21:12:26 +01:00
Qi Xiao
11d36554fe pkg/daemon: Test that the daemon still serves if failing to open DB.
Also change Serve to not use the default server of net/rpc (which made it
impossible to call Serve multiple times), and return the exit code instead of
using os.Exit.

Also change service.Version to always succeed; this is necessary since
client.Activate uses this method to determine connection health.
2021-09-15 20:59:37 +01:00