Commit Graph

871 Commits

Author SHA1 Message Date
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
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
Qi Xiao
418ae40ea9 pkg/eval/evaltest: Update godoc (TestCase -> Case). 2021-09-15 20:19:25 +01:00
Qi Xiao
73c269b98f pkg/daemon: Do not use client.Activate in test to connect to server.
client.Active will try to spawn a new server if it cannot connect; this
is not desirable.
2021-09-12 23:53:08 +01:00
Qi Xiao
aa7e958704 pkg/daemon: Terminate test correctly if server did not come up. 2021-09-12 23:45:23 +01:00
Qi Xiao
3bd132b53e pkg/daemon: Rewrite test to exercise the Program. 2021-09-12 23:18:37 +01:00
Qi Xiao
c9930a8ddf pkg/store/storetest: Add test against CmdsWithSeq. 2021-09-12 22:23:22 +01:00
Qi Xiao
90d5d01cc5 pkg/eval/evaltest: Fix package godoc.
There was an empty line between the godoc and the package line by mistake.
2021-09-12 18:04:24 +01:00
Qi Xiao
be56f72729 pkg/testutil: Add utility for setting umask during tests. 2021-09-12 14:42:06 +01:00
Qi Xiao
e0b824bbdf Improve coverage for "no suitable subprogram" error. 2021-09-12 14:23:29 +01:00
Qi Xiao
7ef7cb9f1b pkg/eval/evaltest: Clean up godoc and some minor API details. 2021-09-12 14:13:18 +01:00
Qi Xiao
b6d69d0b30 pkg/prog/progtest: Rewrite the progtest API.
The progtest package now provides a declarative framework, modelled after
pkg/eval/evaltest. Tests that use progtest are now much more concise.
2021-09-12 14:06:05 +01:00
Qi Xiao
be3431bbbf pkg/prog: Simplify the Program interface.
Instead of a separate ShouldRun method, use a special error value to signify
that a Program should not be run.
2021-09-12 00:40:35 +01:00
Qi Xiao
05a3251cd8 pkg/daemon: Use UNIX socket on Windows.
Windows 10 has supported UNIX sockets for a pretty long time
(https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/).

Interestingly, os.Stat calls on UNIX socket files fail on Windows; only
os.Lstat calls work.
2021-09-11 22:05:06 +01:00
Qi Xiao
315a8b77e1 pkg/eval: Improve coverage of builtin_fn_container.go. 2021-09-11 14:51:26 +01:00
Qi Xiao
c07c26b4c7 pkg/eval/vals: Remove a duplicate test. 2021-09-11 13:57:53 +01:00
Qi Xiao
8c8a80ff52 Fix staticcheck error. 2021-09-11 02:58:54 +01:00
Qi Xiao
b36c9bf513 pkg/eval/vals: Improve coverage. 2021-09-11 02:54:34 +01:00
Qi Xiao
9ade639b38 pkg/cli/term: Improve coverage of reader_unix.go.
Also change error messages to start with lower case letters.
2021-09-10 20:53:02 +01:00
Qi Xiao
492ff19077 pkg/eval: Improve coverage of compile_lvalue.go. 2021-09-10 20:09:04 +01:00
Qi Xiao
276fe85bc3 pkg/eval: Improve coverage for builtin_fn_styled.go. 2021-09-10 19:39:20 +01:00
Qi Xiao
8713cb5b1c pkg/eval: Slightly improve coverage of glob.go. 2021-09-10 19:08:22 +01:00
Qi Xiao
6b6d3d5a95 pkg/eval: Improve coverage of glob.go. 2021-09-10 18:57:11 +01:00
Qi Xiao
c3345eebc7 pkg/cli/lscolors: Fix test on Windows. 2021-09-10 01:10:23 +01:00
Qi Xiao
0f63524c97 pkg/cli/lscolors: Improve coverage of feature.go. 2021-09-10 01:02:31 +01:00
Qi Xiao
5fb6534cfe pkg/cli/lscolors: Fix test on Windows. 2021-09-09 21:57:35 +01:00
Qi Xiao
232a605e93 pkg/cli/lscolors: Improve coverage of feature.go. 2021-09-09 21:53:25 +01:00
Qi Xiao
2301debd83 pkg/edit: Improve coverage of binding_map.go. 2021-09-08 12:46:38 +01:00
Qi Xiao
3faeb22a9c pkg/edit: Improve test coverage of listing.go.
Remove edit:listing:accept-close, which is not used by any code published to GitHub
(https://github.com/search?q=%22edit%3Alisting%3Aaccept-close%22+extension%3Aelv&type=Code)
2021-09-08 01:05:14 +01:00
Qi Xiao
23ed9a8baa pkg/edit: Improve coverage of complete_getopt.go. 2021-09-08 00:21:11 +01:00
Qi Xiao
f011034c06 pkg/cli: Simplify the API for dismissing a widget.
- Rename the method from "Close" to "Dimiss" to avoid any conflict with the
  standard interface{ Close() error }

- Remove the "accept" parameter from the Dismiss method and App.PopAddon - it is
  false in most places, and the few places that pass accept=true has knowledge
  of how to accept the state in the particular widget.

- edit:history:accept has been removed as a consequence - it is never
  documented, and is not currently used by any Elvish code published on GitHub
  (https://github.com/search?q=%22edit%3Ahistory%3Aaccept%22+extension%3Aelv&type=Code)
2021-09-07 23:16:01 +01:00
Qi Xiao
d2936c06a1 Use a more sophisticated algorithm to distribute widget heights.
This is needed since there can now be an arbitrary number of widgets competing
for vertical space.

- Add a new MaxHeight method to the tk.Widget interface to provide hint on how
  to distribute the height.

- Implement the algorithm in distributeHeight in cli/app.go.
2021-09-05 01:17:46 +01:00
Qi Xiao
db0b88f664 Rename pkg/cli/mode -> pkg/cli/modes. 2021-09-03 20:44:04 +01:00
Qi Xiao
df44c300ff pkg/edit: Test all builtins that expect the focused widget to be a code area. 2021-09-02 00:31:48 +01:00
Qi Xiao
55e8850569 pkg/cli: Remove (*app).CodeArea. 2021-09-02 00:09:19 +01:00
Qi Xiao
0a1435f052 pkg/cli/mode: Add test for every mode expecting focused widget to be code area. 2021-09-02 00:01:52 +01:00
Qi Xiao
186bac85e6 pkg/cli: More tests against basic addon behavior. 2021-09-01 23:45:40 +01:00
Qi Xiao
b6cc46e13f pkg/edit: Simplify some code that accesses the active widget. 2021-09-01 23:17:21 +01:00
Qi Xiao
ee92436b94 Merge branch 'master' into addon 2021-09-01 22:58:00 +01:00