David Dworken
906ef3782b
Add integration to disable SLSA verification if there is a current SLSA outage
2022-10-31 17:32:55 -07:00
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