Commit Graph

448 Commits

Author SHA1 Message Date
David Dworken
ff419e71f9 More debugging info for failing to install the update 2022-04-21 22:52:38 -07:00
David Dworken
980d299543 Run the command in the background for zsh 2022-04-21 22:25:24 -07:00
David Dworken
fe93be79f4 Support a host: atom as an alias for the hostname: atom 2022-04-21 21:10:25 -07:00
David Dworken
6a18504755 Enable WAL for increased concurrency, and add additional expectedOutput option for testDisplayTable 2022-04-20 22:13:10 -07:00
David Dworken
edfbf7769e Fix updating on m1 darwin
For some reason, calling unlink() on the binary causes all future spawned processes to die with a "signal: killed" error. I have no idea why this happens, but it doesn't seem to be necessary to call
unlink on darwin, so I'm just tweaking this to not call unlink on darwin. Also remove tidy from the pre-commit since macos ships with a truly ancient version of tidy
2022-04-20 21:57:37 -07:00
David Dworken
94c88c76fe Skip testUpdate when running on linux/arm64 since that isn't a supported platform 2022-04-20 20:56:01 -07:00
David Dworken
89fd59a132 Disabe CGO since it is incompatible with cross-compiling for darwin and swap to a non-cgo sqlite library 2022-04-20 17:28:19 -07:00
David Dworken
10ee085d4c Remove unnecessary set -m calls, speed up the local make acttest command, embed ReleaseVersion into the test server to fix the test failures on macos, and update install to be resistant to bashrc and zshrc not existing 2022-04-19 21:05:54 -07:00
David Dworken
0c0943fc79 Fix failing test + fix syntax error in workflow 2022-04-19 19:21:39 -07:00
David Dworken
62c29dc68c Enable some previously disabled tests that I think should now pass on macos 2022-04-18 23:07:39 -07:00
David Dworken
77f9ee707c Fix date in both places :) 2022-04-18 22:50:26 -07:00
David Dworken
d6a142dfe7 Fix failing lib_test + add test for displaying the correct cwd in the table 2022-04-18 22:45:07 -07:00
David Dworken
76f12ab64a Swap to getting date in seconds since BSD date doesn't support nanos 2022-04-18 22:36:57 -07:00
David Dworken
ca1987a9ab Fix OBO that removed first character from recorded commands 2022-04-18 22:19:51 -07:00
David Dworken
ce0a0742b7 Maybe fix for macos recording hidden commands with bash 2022-04-18 22:08:48 -07:00
David Dworken
38b91f933c Add a timestamp test that I believe will fail for macos 2022-04-18 22:07:10 -07:00
David Dworken
3553897101 Attempt to fix failing test on macos for bash 2022-04-18 21:41:49 -07:00
David Dworken
1cc36fa0ef Add todo, extra debugging output for failing mac test, and a check on resp.StatusCode 2022-04-18 21:28:41 -07:00
David Dworken
97f5368954 Remove set -m from test that breaks it for zsh 2022-04-17 23:31:08 -07:00
David Dworken
720fd7ee68 Re-enable update tests 2022-04-17 23:23:47 -07:00
David Dworken
16d41de4ad Another attempt at making zsh pass on github actions 2022-04-17 23:06:01 -07:00
David Dworken
16055f982e Skip commands prefixed with a space for zsh + update tests + touch ~/.zshrc so tests can run on actions 2022-04-17 21:04:44 -07:00
David Dworken
aae18d44b9 Working basic zsh integration (with lots of failing tests that are currently getting skipped) 2022-04-17 19:54:17 -07:00
David Dworken
65bbb40732 Disable SLSA verification of the branch to fix update flow 2022-04-17 12:53:06 -07:00
David Dworken
be6ccbbcc6 Add untested update operation that works with the new releases 2022-04-17 12:30:46 -07:00
David Dworken
5d9950d0a9 Fix goarch for m1 + fix boolean conditions 2022-04-17 11:51:29 -07:00
David Dworken
cf54d4b416 Skip failing test on macos actions 2022-04-17 11:37:23 -07:00
David Dworken
824c1853c1 Fix tests failing on Github actions 2022-04-17 11:24:55 -07:00
David Dworken
8259fc4e45 For some reason macos includes N at the end of ints, fix this 2022-04-17 11:09:30 -07:00
David Dworken
cf55805578 Verify the version tag in SLSA too 2022-04-17 10:29:48 -07:00
David Dworken
31288fb361 Better tests for the update flow 2022-04-16 23:00:04 -07:00
David Dworken
8aa44e5e26 Add missing return 2022-04-16 21:54:34 -07:00
David Dworken
339b115542 Fix version comparison logic 2022-04-16 21:39:40 -07:00
David Dworken
158f08f5c6 Improved update flow
Using the previously added new API endpoint, the update flow can now skip updates if the latest version is already installed. This also improves the output by making it so update can print the version. Also improved the error handling.
2022-04-16 20:50:02 -07:00
David Dworken
3d7af0cd4b Add SLSA verification of updated binary
Currently the SLSA verifier is meant to be used a standalone binary. I copied a bit of code from their main (and imported the rest of their code as a library) in order to support embedding it as a library. This ensures that the updated hishtory passes SLSA L3.
2022-04-16 16:02:07 -07:00
David Dworken
def83d6b0e Add verbose flag for the status subcommand 2022-04-16 10:46:57 -07:00
David Dworken
62a83b76b1 Add a test for displaying a table 2022-04-16 01:09:25 -07:00
David Dworken
a9af51f5b2 Improved tests 2022-04-16 00:56:08 -07:00
David Dworken
c369661e53 More server-side logging + client-side logging 2022-04-16 00:44:47 -07:00
David Dworken
6df100ebbd Fix variable collision in tests 2022-04-15 22:54:38 -07:00
David Dworken
b9204bf649 add a test for a complex command getting recorded 2022-04-15 18:24:58 -07:00
David Dworken
5b59141c3a optimize test execution time by only building the client once + add Makefile target for action tests 2022-04-15 18:12:26 -07:00
David Dworken
682a063e95 making tests pass on actions by grepping out pipefail which is flakily recorded due to actions not recording line numbers 2022-04-15 18:06:48 -07:00
David Dworken
ab0d9d4c90 optimize test runtime by running a single server instance per-file rather than one per test 2022-04-15 11:20:23 -07:00
David Dworken
d1d78de0e4 whoops, inverted boolean condition so the test still failed 2022-04-15 00:17:02 -07:00
David Dworken
fd2a642374 Make the test pass on github actions 2022-04-15 00:10:22 -07:00
David Dworken
b09b725f49 Properly skip recording of commands prefixed with a space to match bash's history behavior 2022-04-15 00:04:49 -07:00
David Dworken
dc6fb6a47b Refactor tests to make them non-flakey and pass on actions
This required adding the ability to have hishtory run synchronously to avoid reconditions. I also added additional waiting code. Also a whole bunch of new tests and disabled gorm's default logger which also caued flakeyness
2022-04-14 20:18:49 -07:00
David Dworken
24db9d825e integration test running on actions 2022-04-13 21:48:52 -07:00
David Dworken
e854c8304f TestUpdate running in github actions 2022-04-13 21:34:18 -07:00
David Dworken
e2b5fd13bf tests passing inside act, hopefully on real actions 2022-04-13 21:30:27 -07:00
David Dworken
908257306e trying to make the test pass 2022-04-12 22:36:02 -07:00
David Dworken
6e52c10474 continuing to debug failures on actions 2022-04-12 21:24:25 -07:00
David Dworken
8ed2cea004 unclear why the install command isn't getting recorded on actions, but other ones are... 2022-04-12 00:02:14 -07:00
David Dworken
807933b548 Updated tests, and maybe they'll pass on actions 2022-04-11 23:48:51 -07:00
David Dworken
9f1b258a7f seems like it worked, converting other tests 2022-04-11 23:30:24 -07:00
David Dworken
ea51601985 another attempt at fixing the timestamp tests to run with UTC 2022-04-11 23:27:47 -07:00
David Dworken
fb52b98379 Swap generous date parsing to using a library 2022-04-11 23:22:49 -07:00
David Dworken
7d2eb878ac the bug is with UTC, does this fix it? 2022-04-11 23:02:46 -07:00
David Dworken
d39ca42cea Attempt to fix broken timezone test 2022-04-11 22:56:23 -07:00
David Dworken
5325fc75ae Add negative conditions to search queries + tests + better error messages by including filename:line in error messages 2022-04-11 22:36:52 -07:00
David Dworken
970e5d75db add tests for user and hostname atoms + moved server tests to server_test.go 2022-04-10 17:38:20 -07:00
David Dworken
97670c92f5 Display the hostname in the table 2022-04-09 14:52:10 -07:00
David Dworken
5c508e7cfc Fix broken test from version change 2022-04-09 14:48:17 -07:00
David Dworken
2bb06b568a Add version to binary 2022-04-09 14:37:21 -07:00
David Dworken
cfa41c676c Added info to README + two todos for future ideas 2022-04-09 14:26:43 -07:00
David Dworken
ac18b3d93e more tests + some todos where I could add even more 2022-04-09 13:09:46 -07:00
David Dworken
b92087fc1d Try again to fix timezone test 2022-04-09 12:57:58 -07:00
David Dworken
c52a7f4ae6 skip the update tests in actions 2022-04-09 12:53:34 -07:00
David Dworken
c8ba560e0c handle github api rate limit, tests for the update command, and fix timezone bug in tests 2022-04-09 12:50:01 -07:00
David Dworken
99794191dc whoops, had the test skipping logic in the wrong order 2022-04-09 12:31:31 -07:00
David Dworken
5496dc3a5e skip tests that fail on actions with a TODO 2022-04-09 12:27:24 -07:00
David Dworken
e9d19eb782 fix hardcoded username in tests + another attempt at enabling bash job control + test that building docker containers works 2022-04-09 12:19:01 -07:00
David Dworken
3619bd5447 explicitly enable bash job mode + don't call gvm cause it isn't necessary 2022-04-09 12:04:13 -07:00
David Dworken
9f20074a4f change tests to not hardcode the local path to source on my laptop 2022-04-09 11:55:00 -07:00
David Dworken
2a083b7d06 add code to auto-update the version tag in the server + tests 2022-04-08 23:47:13 -07:00
David Dworken
108e1526b8 trying again with ldflags + fixed update url 2022-04-08 22:56:44 -07:00
David Dworken
966f73757b moved client/client.go to hishtory.go to support slsa l3 border 2022-04-08 21:17:11 -07:00
David Dworken
ee8e0c425d change username atom to user and update docs 2022-04-08 18:28:31 -07:00
David Dworken
39b9b15d53 implemented after and before atoms w/ tests for them 2022-04-08 18:23:17 -07:00
David Dworken
1adcaeb6cf added test for query that returns no results 2022-04-07 23:30:31 -07:00
David Dworken
b8240091cd added tests for exit_code: atom and also made tests actually run with bash strict mode 2022-04-07 23:25:13 -07:00
David Dworken
6d84402bce first bit of advanced query support 2022-04-07 22:53:39 -07:00
David Dworken
475497d7b7 Message when updated 2022-04-07 22:16:45 -07:00
David Dworken
fccc238b18 Updated index.html 2022-04-07 21:45:41 -07:00
David Dworken
f2e6de2eb3 pre-commit + stricter formatting + pre-commit fixes 2022-04-07 21:40:22 -07:00
David Dworken
c2465d7c99 refactored to move no longer shared things out of the shared/ folder 2022-04-07 21:05:58 -07:00
David Dworken
a8d7ee2cc8 fix CSS + gofmt 2022-04-06 23:17:58 -07:00
David Dworken
581231d0ef fixed export, added tests for it, made tests more accurate, and excluded things from gitignore 2022-04-06 23:05:30 -07:00
David Dworken
7a6aece6dc more tests 2022-04-06 22:49:45 -07:00
David Dworken
c48c4dc83f formatted 2022-04-06 22:44:10 -07:00
David Dworken
1065fff062 refactoring, better tests, commit hash, banner, and tested working locally 2022-04-06 22:43:07 -07:00
David Dworken
684511f4f7 working update 2022-04-06 18:18:46 -07:00
David Dworken
7e51d5fe42 test for 3rd client, and status subcommand 2022-04-06 17:47:21 -07:00
David Dworken
71fc809f9a tests are passing and getting close now. Need to test the live update flow along with more thorough testing for everything 2022-04-05 23:31:24 -07:00
David Dworken
e2acc6612a well, it builds :D but still failing all the tests 2022-04-04 22:07:01 -07:00
David Dworken
a523504c40 split into local client and remote client, and add tests 2022-01-08 21:59:28 -08:00
David Dworken
6fbad3a194 init versions pre-split 2022-01-08 20:27:18 -08:00