Commit Graph

835 Commits

Author SHA1 Message Date
David Dworken
cdd7f60f0c Test table display for fish too 2022-10-30 18:40:25 -07:00
David Dworken
de99d60f7c Refactor fish tests to use the existing API 2022-10-30 18:01:53 -07:00
David Dworken
0e70347c0d Add a more complex test for custom columns 2022-10-30 17:55:48 -07:00
David Dworken
7d924409fb Try re-enabling a test on github actions to see if it still fails 2022-10-30 16:33:09 -07:00
David Dworken
6ad60f4e58 Move up the hishtory disable so as to avoid recording the query 2022-10-29 18:34:16 -07:00
David Dworken
51096276b6 Better error message for goldens 2022-10-29 17:55:37 -07:00
David Dworken
0f9e77223e Chdir so that we have a consistent cwd for github actions 2022-10-29 17:53:40 -07:00
David Dworken
189f183d69 Normalize hostnames to attempt to get tests to pass in github actions 2022-10-27 23:30:09 -07:00
David Dworken
267aa086fa Add tests for configuring displayed-columns 2022-10-27 23:07:00 -07:00
David Dworken
8b575e98c6 Add a test for custom columns for the classic non-TUI interface 2022-10-27 22:31:59 -07:00
David Dworken
7cfd03ccfe Clean up string trimming code 2022-10-27 22:28:43 -07:00
David Dworken
9ef3b7890c Add a basic test for defining a custom column 2022-10-27 22:20:53 -07:00
David Dworken
d3c631b191 Add control-r tests for changing the displayed columns 2022-10-27 22:11:57 -07:00
David Dworken
0fbf7178c3 Add an advanced search test for control-r 2022-10-27 22:07:11 -07:00
David Dworken
043e815716 Add a test for multi-line history entries 2022-10-27 22:02:19 -07:00
David Dworken
f9098d87d5 Another custom column test 2022-10-27 21:58:39 -07:00
David Dworken
dc5fd19c9e Add another test for custom columns 2022-10-27 21:57:09 -07:00
David Dworken
cdc5421a7b Move testutils to a separate package so as to move test-only code out of the main binary 2022-10-27 21:53:47 -07:00
David Dworken
bed19f5316 Basic test for custom columns 2022-10-27 21:28:37 -07:00
David Dworken
fb258627df Migrate to using golden files for tests + get all existing tests passing again 2022-10-27 21:20:33 -07:00
David Dworken
16fa64b7a7 Add support for the TUI displaying custom columns 2022-10-26 22:11:07 -07:00
David Dworken
10d6c97a50 Better terminal sizing code 2022-10-26 21:48:36 -07:00
David Dworken
8a9ec509c5 Auto-size the table based on initial query results 2022-10-26 21:22:26 -07:00
David Dworken
10d26fa407 Make the custom column display code support entries that lack a newly configured custom column 2022-10-26 00:44:26 -07:00
David Dworken
890ddfd99c Add ability to display columns that map to a custom column 2022-10-26 00:35:36 -07:00
David Dworken
07e4c781e4 Add code to build the custom columns from whatever is configured 2022-10-23 22:01:53 -07:00
David Dworken
12163483dd Add data types for custom columns 2022-10-23 21:42:22 -07:00
David Dworken
51b41aa171 Add custom columns to config + use them in the non-TUI query 2022-10-23 20:54:46 -07:00
David Dworken
ebf8de2b1f Refactor to enable control-r by default on upgrade + pave the way for prompts in the future 2022-10-23 19:29:29 -07:00
David Dworken
13cfbbc3b7 Move up the skip because tests are still failing 2022-10-23 17:37:33 -07:00
David Dworken
41586ba034 Remove the dedicated test shell scripts and instead auto-generate them 2022-10-23 17:35:02 -07:00
David Dworken
253f2fdc27 Enable control-r binding for new installs + prompt upgrades on whether they want to enable control-r bindings 2022-10-23 16:51:39 -07:00
David Dworken
467fd68ddb Try re-enabling fish tests on actions 2022-10-23 16:04:17 -07:00
David Dworken
9614522c6d Just skip the really weird bash failure on macos 2022-10-23 16:03:26 -07:00
David Dworken
d5893f0cfa Support not recording empty commands in fish + add tests for this 2022-10-23 15:45:50 -07:00
David Dworken
aa3f449885 Skip recording empty history commands 2022-10-23 15:40:30 -07:00
David Dworken
73807746a7 Wire up the git commit hash to the TUI banner requesting code 2022-10-23 15:25:02 -07:00
David Dworken
964359c7c5 Add explicit key bindings so that the cursor doesn't jump around + bind the linux key codes for up/down arrow keys 2022-10-23 15:21:59 -07:00
David Dworken
4c986d8a45 Add sleep 1 after shell startup to give macos time to verify the binary 2022-10-23 14:58:47 -07:00
David Dworken
17e98f0366 Bump timeout for linux since linux appears to be a bit slower 2022-10-23 00:58:08 -07:00
David Dworken
4060f2d71d Add tests for disabling control-r 2022-10-23 00:53:47 -07:00
David Dworken
ac808777d6 Fix debug info for hishtory timeout issue 2022-10-23 00:46:56 -07:00
David Dworken
907da9bf47 More debugging info for the time out in zsh background saving tests 2022-10-23 00:20:47 -07:00
David Dworken
d3b5ddc11d Bump the hishtory time out in case that helps fix the background saving test 2022-10-23 00:04:25 -07:00
David Dworken
9bdb1ed4ed Add debug code for a github actions only test failure 2022-10-22 23:54:35 -07:00
David Dworken
d5472be6b3 Swap bash-ism to fish-ism for enabling control-r 2022-10-22 23:52:10 -07:00
David Dworken
c10dd8897c Swap bash-ism to fish-ism for enabling control-r 2022-10-22 18:00:17 -07:00
David Dworken
dbccaebf85 control-r tests for fish with a search atom 2022-10-22 11:58:59 -07:00
David Dworken
1c561f5cc8 Initial attempt at fixing the timezone bug that prevents tquery tests from running on actions 2022-10-22 11:45:04 -07:00
David Dworken
97742cf0eb Add control-r tests for fish 2022-10-22 11:42:37 -07:00
David Dworken
cbb6a676be More tquery searching tests 2022-10-22 00:50:34 -07:00
David Dworken
8c88bfe2f1 Skip TestFish on linux actions since it is weirdly failing 2022-10-22 00:36:57 -07:00
David Dworken
2c5a46565c Add control-r tests for searching with simple queries 2022-10-22 00:34:19 -07:00
David Dworken
865fa879fe Add control-r tests for selecting and executing a command 2022-10-22 00:27:53 -07:00
David Dworken
848c89ebc8 Make control-r tests pass for bash + refactor to use a small utility function for tmux tests 2022-10-22 00:17:21 -07:00
David Dworken
bfac5198ec Fix bug where it was impossible to search for an empty string in the TUI 2022-10-21 23:29:49 -07:00
David Dworken
b8039e6d8a Add test for fish recording background commands + remove todo 2022-10-21 23:26:41 -07:00
David Dworken
70f5d668de Run TestFish with bash to see whether that fixes the obscure zsh error 2022-10-21 23:16:27 -07:00
David Dworken
4040451290 Add comments for all model fields + reorganize field order 2022-10-21 23:12:56 -07:00
David Dworken
6464264673 Support displaying query errors rather than crashing the entire TUI 2022-10-21 23:07:52 -07:00
David Dworken
7cdf9c0ac4 Escape instead of q so that the TUI can have search terms containing q 2022-10-21 22:58:51 -07:00
David Dworken
204ce10619 Make the TestTui function always use zsh since the TUI has nothing to do with shell support 2022-10-21 00:16:25 -07:00
David Dworken
c978ee9a2e Enable control-r in tests + basic test for control-r in zsh 2022-10-21 00:14:28 -07:00
David Dworken
49b81bcc19 Support control-r search for fish 2022-10-20 23:39:56 -07:00
David Dworken
8a32ddef5a Add test checking that hishtory records commands run in the background (it does, but this is currently broken in fish) 2022-10-19 21:33:31 -07:00
David Dworken
9d5eb73c76 brew install fish in actions + don't hardcode the fish path 2022-10-19 21:27:03 -07:00
David Dworken
2ee050a629 mkdir ~/.config/fish if it doesn't exist yet 2022-10-19 21:24:43 -07:00
David Dworken
54679dc2db Test fish omitting certain commands 2022-10-19 18:01:16 -07:00
David Dworken
406b36f765 Add TODO 2022-10-19 17:57:43 -07:00
David Dworken
762e9a6e0a Add basic test for fish recoridng history commands 2022-10-18 21:00:30 -07:00
David Dworken
db4295e745 Add the testing fish config 2022-10-18 20:16:58 -07:00
David Dworken
abe231f5b0 Initial non-unit tested version of fish support 2022-10-18 19:55:41 -07:00
David Dworken
b31d35685c More tui tests + re-enable them for non-action runs 2022-10-18 15:07:56 -07:00
David Dworken
c7651179cf Skip the tui test since it is still flaky 2022-10-18 14:51:54 -07:00
David Dworken
2c6061e497 Treat i/o timeouts as offline errors too 2022-10-18 11:52:52 -07:00
David Dworken
40d6d7daa5 Add a very basic test for the tui 2022-10-17 21:58:56 -07:00
David Dworken
1aae1be8a6 Add more tests 2022-10-17 20:35:32 -07:00
David Dworken
710e4dd901 control-r for bash 2022-10-17 20:18:28 -07:00
David Dworken
f9a01a56cb Fix two bugs in the tui 2022-10-16 12:55:10 -07:00
David Dworken
5a943c20f1 Initial working version of control-r search 2022-10-16 12:43:16 -07:00
David Dworken
a66e473bb8 Fix bug in client_test that made me not realize that there was a bug in the install process 2022-10-16 09:56:14 -07:00
David Dworken
ab7db995aa Restore stdin import for the hishtory import command 2022-10-16 09:51:52 -07:00
David Dworken
d255131d68 Fix bug where reading stdin would cause the install to hang 2022-10-16 09:47:26 -07:00
David Dworken
f337d7affd Add a new field to the config for enabling control-r search and add undocumented commands to toggle this field from the CLI 2022-10-16 09:29:14 -07:00
David Dworken
37f351bb8a Add basic undocumented tui for querying under the hishtory tquery command 2022-10-16 09:22:34 -07:00
David Dworken
7f75f10b3f Treat 502 and 503 errors from the LB as network errors so they get silenced and retried 2022-10-15 10:12:18 -07:00
David Dworken
abb0684140 Swap to a forked version of rodaine/table that supports multi-line table entries
So now when zsh has a history entry with multiple lines, it will display correctly like so:

Hostname                  CWD              Timestamp                 Runtime  Exit Code  Command
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:06:06 PDT  1.621s   1          while :; do ls; done
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:04:24 PDT  22.768s  130        hishtory query while
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:04:24 PDT  1.258s   0          hishtory query while
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:04:19 PDT  2.065s   0          while :
                                                                                         do
                                                                                         ls
                                                                                         done
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:03:18 PDT  628ms    0          ./hishtory query while
Davids-MacBook-Air.local  ~/code/hishtory  Oct 14 2022 23:03:15 PDT  717ms    0          hishtory query while
2022-10-15 09:29:47 -07:00
David Dworken
bb36a30ded Avoid partial file writes by writing to a tmp file and then renaming 2022-10-14 16:42:47 -07:00
David Dworken
9da18eb7d5 Chunk the uploads when reuploading to avoid having one giant request 2022-10-10 22:04:59 -07:00
David Dworken
8e6a55237c Try running all tests in github actions with a longer timeout 2022-10-09 19:04:03 -07:00
David Dworken
20af97c2d2 Fix bug where hishtory import wouldn't upload entries and thus those entries would be forever on the local device only 2022-10-09 17:19:15 -07:00
David Dworken
c16d260643 Make the reupload command more efficient by sending multiple entries at once 2022-10-09 17:10:11 -07:00
David Dworken
52c3b13cb6 Add reupload command + include source_device_id query param when submitting entries 2022-10-09 12:13:05 -07:00
David Dworken
30e6f048ab Add better handling for SLSA errors 2022-10-02 20:14:54 -07:00
David Dworken
1d8973ed2a Revert "Disable SLSA verification pending slsa-verifier bug"
This reverts commit baf9f7d9c1.
2022-10-02 19:37:07 -07:00
David Dworken
baf9f7d9c1 Disable SLSA verification pending slsa-verifier bug 2022-10-01 15:26:42 -07:00
David Dworken
757ebb9547 Prompt people if they run hishtory init and already have a bunch of entries + fix tests + add TODOs + add hishtory version to requests 2022-10-01 09:50:06 -07:00
David Dworken
4f94698ca6 Fix bug in tests that made tests fail if the date is between the first and the ninth 2022-09-30 23:56:04 -07:00
David Dworken
09fd371662 Remote outdated TODOs 2022-09-30 23:51:05 -07:00
David Dworken
6cd7fa00fc Have hishtory import also read from stdin 2022-09-30 23:50:25 -07:00
David Dworken
36993fb12b Add another error message that means the device is offline 2022-09-29 22:43:03 -07:00
David Dworken
06590601f0 Add fix for bash weirdness introduced by the previous commit 2022-09-27 22:30:35 -07:00
David Dworken
b5907379ac Export HISTTIMEFORMAT so that it is available to hishtory for usage 2022-09-27 22:25:57 -07:00
David Dworken
6b29591eec Re-add running the test server for some tests do actually sometimes need it 2022-09-27 22:25:14 -07:00
David Dworken
070f8cf3d3 Add more timestamp stripping tests 2022-09-27 22:07:54 -07:00
David Dworken
2bdfe3d64f Add FAST=1 env that can be used to run just some fast tests for quick testing 2022-09-27 22:03:37 -07:00
David Dworken
9a4e3a0a24 Add another time format test 2022-09-27 21:25:33 -07:00
David Dworken
a1d6aa8257 Remove incorrect comment line from previous commit 2022-09-27 21:22:35 -07:00
David Dworken
bf66f9f4fe Rename precommand and postcommand and ensure that hishtory doesn't stomp any existing PROMPT_COMMAND 2022-09-27 21:10:45 -07:00
David Dworken
23d85c81e5 Shorten test runtime for macos tests on github actions 2022-09-27 20:57:13 -07:00
David Dworken
dddee9eeff Fix hishtory status tests + optimize switchToDevice() function 2022-09-26 22:55:59 -07:00
David Dworken
616d87399f Fix broken help command test 2022-09-24 16:18:24 -07:00
David Dworken
90c4acefd3 Add more fuzz tests with redaction 2022-09-24 16:00:03 -07:00
David Dworken
92cec3a87c Delete unused variable + clean up README 2022-09-24 01:13:25 -07:00
David Dworken
ff6e42794c Remove TODO, a couple more fuzz tests 2022-09-22 23:25:06 -07:00
David Dworken
9895a5c677 Improve copy function error checking + delete make fuzz because of https://github.com/golang/go/issues/52569 2022-09-22 23:20:21 -07:00
David Dworken
1df50731be Run the fuzz test with bash and zsh 2022-09-22 23:12:41 -07:00
David Dworken
4e4caef10f Add initial implementation of fuzz testing that fuzzes multiple devices and multiple users 2022-09-22 23:06:28 -07:00
David Dworken
c18c2502cc Add a complex test with many users 2022-09-22 21:45:20 -07:00
David Dworken
c6d4f1ef68 Fix missing newline in zshrc, add test for hishtory redact prompting, and tag TODOs with plans 2022-09-22 18:22:06 -07:00
David Dworken
bd70b68ffc Remove test that no longer applies 2022-09-22 18:21:03 -07:00
David Dworken
fee21ee4f8 Pass in ctx 2022-09-22 18:11:35 -07:00
David Dworken
ee6680f571 Remove debugging information and give up on that test, and add work around for weird zsh bug with importing 2022-09-22 18:09:51 -07:00
David Dworken
99b51a356e Add debugging information for macos tests 2022-09-21 21:49:08 -07:00
David Dworken
133463ef96 Disable CGO in one more place (plus add a todo) 2022-09-21 20:30:50 -07:00
David Dworken
cb16984f77 Pipe ctx into the slsa code to avoid context.TODO() 2022-09-21 20:22:34 -07:00
David Dworken
d226fab7ec Pipe ctx into the Update function 2022-09-21 20:20:43 -07:00
David Dworken
8002c5e942 Add homedir to context 2022-09-21 20:19:11 -07:00
David Dworken
569e2f3e61 Add tests for offline behavior 2022-09-21 20:09:49 -07:00
David Dworken
4fceaa3110 Run tests without CGO since that is how prod is built + fix broken tests from previous commit 2022-09-21 19:58:10 -07:00
David Dworken
fb401dab88 Resume using the modernc.org sqlite driver so it works with CGO_ENABLED=0 2022-09-21 19:49:24 -07:00
David Dworken
486feb3fea Add missing new lines 2022-09-21 19:13:53 -07:00
David Dworken
1abd2a5376 Fix table format tests 2022-09-20 23:46:17 -07:00
David Dworken
ceb1becfa6 Fix ctx wiring so installs work properly 2022-09-20 23:30:57 -07:00
David Dworken
694c2e2679 Untested: ctx wired through 2022-09-20 22:28:40 -07:00
David Dworken
e47bcfc993 Part way through migrating to context 2022-09-20 22:03:15 -07:00
David Dworken
42c6f95eb4 Remove time.Sleep that was working around an old already fixed bug 2022-09-20 21:38:04 -07:00
David Dworken
5391ecd220 First version of working redaction with passing integration tests 2022-09-19 22:49:48 -07:00
David Dworken
1bf510ff8a Better offline handling, implemented the local portion of delete, and maybe fixed the bug when running tests on github actions 2022-09-18 09:42:24 -07:00
David Dworken
a445118e91 Remove outdated TODO 2022-09-17 23:05:50 -07:00
David Dworken
af0d20952f Remove the last bit of GITHUB_ACTION dependent code 2022-09-17 22:50:01 -07:00
David Dworken
55f0f97d29 Fix tests for importing so they pass on github actions 2022-09-17 21:56:39 -07:00
David Dworken
d4302501eb Improve table matching for tests and attempt to fix the tests that fail only on github actions 2022-09-17 12:49:27 -07:00
David Dworken
5b1c9140b3 Support runtimes that contain a period 2022-09-17 12:37:02 -07:00
David Dworken
0b3ccb63a5 Skip reading history files if they don't exist 2022-09-17 12:22:29 -07:00
David Dworken
6093d06110 Remove outdated TODO + fix TODO to add tests for the table output 2022-09-17 12:19:29 -07:00
David Dworken
bad123a3dd Add tests for history importing and add output showing the number of imported entries 2022-09-17 11:49:31 -07:00
David Dworken
23315a7e75 Fix code signing bug and add the implementation for initial importing of existing history files 2022-09-17 11:21:42 -07:00
David Dworken
de1a6f3da8 Add info on bypassing SLSA to the error message 2022-09-16 23:02:52 -07:00
David Dworken
5a38a4a754 Treat EOF error as an offline error 2022-09-10 18:07:45 -07:00
David Dworken
e22dd10c18 More format specifiers 2022-09-07 23:32:25 -07:00
David Dworken
d54bece705 Add HomeDirectory to HistoryEntry so we can query with or without ~/ in the cwd atom 2022-09-07 23:20:31 -07:00
David Dworken
e063f34997 Improve datetime parsing for the after: and before: search atoms 2022-09-07 22:53:48 -07:00
David Dworken
aef13b16d0 Offline first! Now if a devide is offline it will detect this and upload the entries later 2022-09-04 18:37:46 -07:00
David Dworken
74ed49dd1a Revert "Add completely broken support for an incrementing id"
This reverts commit da624cf8aa. This commit was just added for history purposes.
2022-09-04 15:40:30 -07:00
David Dworken
da624cf8aa Add completely broken support for an incrementing id 2022-09-04 15:40:18 -07:00
David Dworken
83a0beff43 Bump go version, remove the vendored slsa library, and depend on a newer copy with a different API. Updates now work. 2022-09-02 00:15:58 -07:00
David Dworken
b63cc313fd Better timestamp stripping 2022-09-01 23:22:53 -07:00
David Dworken
e8f001c78b Add basic support for stripping out HISTTIMEFORMAT prefixes 2022-06-12 21:28:19 -07:00
David Dworken
3f32891469 Revert "Half implement querying based on relative and non-relative paths"
This reverts commit af05d823fe. I will pick up work on this later.
2022-06-12 20:28:40 -07:00
David Dworken
af05d823fe Half implement querying based on relative and non-relative paths 2022-06-12 20:28:33 -07:00
David Dworken
ad7e412855 Add help command 2022-06-05 18:26:02 -07:00
David Dworken
5e44e7ef36 Support queries as part of the export command + more info sent to the banner endpoint 2022-06-05 18:05:06 -07:00
David Dworken
b471eea2ee Enable 'strict' mode for zsh 2022-06-04 23:11:26 -07:00
David Dworken
0fac3b7286 Make query params required rather than having weird undefined behavior 2022-06-04 23:03:05 -07:00
David Dworken
84182ba5c3 Delete TODO for a test that I don't think is needed 2022-06-04 22:30:20 -07:00
David Dworken
de606c52a7 Improve error message instead of panic 2022-06-04 22:29:07 -07:00
David Dworken
00f6bed62c Add a test for the install.py script 2022-06-04 22:27:04 -07:00
David Dworken
30ee41a6ea Automatic retries when the DB is busy 2022-06-04 22:06:50 -07:00
David Dworken
c918c5042e Fix test on incorrect update output + prevent downgrades 2022-06-04 21:42:40 -07:00
David Dworken
de15305fb5 Patch vendored slsa verifier and fix updates 2022-06-04 21:31:16 -07:00
David Dworken
e638b9795b Manually vendor the slsa_verifier lib so we can make tweaks to it 2022-06-04 21:21:49 -07:00
David Dworken
dd4e2e9278 Add TODO + better error messages 2022-06-04 20:35:47 -07:00
David Dworken
05c67895c8 Fix bug with newly opened terminals where user hits control-c immediately in new terminal 2022-05-27 23:05:28 -07:00
David Dworken
0a31e8a787 Skip flaky test in github actions 2022-05-27 23:00:10 -07:00
David Dworken
e7de3d9d42 Bump allowable size difference (+ fix linter errors) 2022-05-27 22:41:52 -07:00
David Dworken
1da703e9c2 Working update code for macos 2022-05-26 23:45:08 -07:00
David Dworken
677b596d49 Debugging code signing, added error checking for my xattr code and discovered that arm xattrs aren't being persisted 2022-05-22 20:08:30 -07:00
David Dworken
47d13a9c27 Passing the basic dump testss 2022-05-22 19:45:46 -07:00
David Dworken
feaa8b2bd1 Add a DB dump test that passes on zsh (is failing for an unknown reason on bash currently) + fix backup and restore for WAL files + better offline support 2022-05-01 22:37:26 -04:00
David Dworken
46d7e9e013 Tests passing when being run offline, still not integrated with the new API endpoints yet 2022-04-28 11:26:55 -07:00
David Dworken
0499010981 Remove the 'e' prefix from api endpoints + implement backend APIs for clean loading of all data from other instances 2022-04-28 10:56:59 -07:00
David Dworken
87c8c961e9 Delete already done todo 2022-04-28 10:01:58 -07:00
David Dworken
4cb5773632 Add hex parsing for xattr setting + log rather than error when offline 2022-04-28 09:51:01 -07:00
David Dworken
93e59f37ec Fix downloading the xattr file 2022-04-25 22:21:17 -07:00
David Dworken
c79a510b9c Maybe working xattr support for code signing 2022-04-25 22:03:31 -07:00
David Dworken
74caf87eda Add basic xattr implementation (commiting to save it, about to delete most of it) 2022-04-25 21:42:28 -07:00
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