Commit Graph

99 Commits

Author SHA1 Message Date
Josh Rabinowitz
9e8438236c
Issue 554 show gpg commands (#556)
* show most gpg commands used for 'hide', 'reveal', 'tell' and 'killperson (#554)
* fix hang when using ctrl-c during tests (#558)
2019-10-09 13:39:59 -04:00
Josh Rabinowitz
2a1600f2f6
cleanup output when we clean up tmp files (#532)
* cleanup output when we clean up tmp files
2019-09-07 00:10:45 -04:00
Josh Rabinowitz
525305d985
Issue 527 key with comment (#528)
* add key fixture with no email, and 2 word comment
* tests for key without email and with comment
* handle comments in public key uids
* fix tests, you have to use email address
* fix text
* confirm that email addresses contain an @ symbol
* improve comments about keys/fixtures
2019-09-06 20:21:50 -04:00
Josh Rabinowitz
68b64f4aac
make correction to comments (#525) 2019-08-30 13:17:53 -04:00
Josh Rabinowitz
9ff559ca8c
Issue 478 tests in busybox (#523)
* use busybox by not installing coreutils on alpine
* changes for busybox version of ps and stat
* add function to check if exe is from busybox
* update changelog
* cleanup comments, code, and commented out code
* improve comment in alpine Dockerfile
* include platform-specific funcs so we can test perms
2019-08-30 09:35:47 -04:00
Josh Rabinowitz
baf6c4113b
Add SECRETS_PINENTRY env var and docs (#490)
* Add SECRETS_PINENTRY env var 

* add docs and tests for SECRETS_PINENTRY

* improve diagnostic output

* fix regex example for bats-core diagnostics
2019-08-16 16:53:57 -04:00
Josh Rabinowitz
10fa2a7be2
Tempfile and temp directory cleanups (#473)
* Tempfile and temp directory cleanups
    Add comments about mktemp on different platforms
    Be more careful about tempfile cleanups
    Don't use find to locate files to cleanup
    Use shorter SECRETS_EXTENSION and SECRETS_DIR env settings in tests
    Set TMPDIR in tests again
    Show DESTDIR used when testing git-secret install
    Change filename passed to mktemp -t in tests
2019-05-21 12:06:51 -04:00
Simon Massey
10879e2253
fix for git secret hide -m doesn't work on first use #466 (#469) 2019-05-09 06:23:02 +01:00
Josh Rabinowitz
44a8745e02
remove duplicate test (#458) 2019-04-01 15:00:42 -04:00
Josh Rabinowitz
bbb4d9d3e5
Tmp cleanups (#457)
* Only show 'cleaning up temp file' messages if one
  of SECRETS_VERBOSE or SECRETS_TEST_VERBOSE is set.
* Adjust tests to reflect the change.
* Add note about suppressing 'cleaning up' msgs to CHANGELOG.md and reorder entries
* add comments showing examples of tmpfiles returned
2019-04-01 12:53:19 -04:00
Josh Rabinowitz
24bfc86b74
Fail on extra params (#448)
* fail if user passes unexpected filenames or unknown params
* mention fix of #390
2019-03-30 20:13:54 -04:00
Josh Rabinowitz
2341d1433b
Temp dir fixes (#449)
* perform our test install into TMPDIR
* fix typo
* remove duplicate entry in CHANGELOG.md
* improve commenting
2019-03-29 18:11:52 -04:00
Josh Rabinowitz
cb1636a6dc
experimental SECRETS_TEST_VERBOSE shows debug info during tests (#446)
* add a travis target using SECRETS_TEST_VERBOSE=1
* Document SECRETS_TEST_VERBOSE as experimental
* note experimental feature may change or be removed
2019-03-28 07:41:07 -04:00
Josh Rabinowitz
8334d7beef
Reveal verbose (#447)
* add -v option to reveal, for #395
* update reveal man page
* shellcheck exception
* changelog update for 'reveal -v'
2019-03-25 11:37:24 -04:00
Josh Rabinowitz
07af0c19b6
Varnames output and typos (#441)
* rename variable, fix typo, improve comments and output
* fix directory removal after testing
* mention improved user messaging in CHANGELOG.md
2019-03-23 19:48:08 -04:00
Josh Rabinowitz
be88da4c0c
test 'DESTDIR=/dir/here make install' support (#438) 2019-03-21 21:32:36 -04:00
Josh Rabinowitz
ce8c6b3ae0
Change 'add' to add to .gitignore by default. (#429)
* Change 'add' to add to .gitignore by default.
Also add _message() function and improve output from 'git-secret-add',
alter tests for new code behavior, and update docs.
* change tests since 'add' always adds to .gitignore
* improve output: prepend more message with 'git-secret:'.
* update man page for git-secret-add
2019-03-20 08:03:28 -04:00
Jonas Karlsson
54f74ede6a Fix for windows (#375)
* add test for travis-ci windows support
* Make 'ps' command options platform specific *nix/windows
* Add _clean_path for windows,  apply to all homedir input arguments
* export GITSECRET_DIST="windows" in git hook if running windows
* Bash lint fixes
2019-03-09 18:49:45 -05:00
Josh Rabinowitz
8adb7d5741
Revert "use pgrep & kill $pid, not ps+gawk+regex+system+kill (#400)" (#405)
This reverts commit a2a9bd32ba.
2019-03-09 13:14:44 -05:00
Josh Rabinowitz
a2a9bd32ba
use pgrep & kill $pid, not ps+gawk+regex+system+kill (#400)
* use pgrep & kill, not ps+gawk+regex+system+kill
* install shellcheck and enable lint on macos/brew.
* add shellcheck fixes and exception
* reorder CHANGELOG entries
2019-03-09 10:14:47 -05:00
Josh Rabinowitz
22fe1ed2d4
Add support for SECRETS_VERBOSE env var (#393)
* Support SECRETS_VERBOSE env var in addition to -v
* don't use --quiet when decrypting in verbose mode
* show output of gpg encryption in verbose mode
* add tests for SECRETS_VERBOSE env var set to 0 and 1
* update changelog, reorder entries.
* add tests for 'cat' and 'hide' with SECRETS_VERBOSE=1
2019-03-07 17:46:51 -05:00
Josh Rabinowitz
c4331693f3
use 'kill', not 'kill -9' (#379) 2019-03-07 15:17:51 -05:00
Josh Rabinowitz
7b06b25c0a
Respect secrets dir on init, and document (#366)
* respect SECRETS_DIR and SECRETS_EXTENSION in tests
* add line regarding fixes to CHANGELOG.md
* test with non-standard SECRETS_EXTENSION
* Add details about init, mention SECRETS_EXTENSION in init page
* update git-secret-init man page
2019-03-05 08:41:13 -05:00
Josh Rabinowitz
505cb1fe42 have lint target run shellcheck over tests (closes #373)
* have lint target run shellcheck over tests

* lint and fix tests/ since shellcheck knows bats

* lint and fix tests/ since shellcheck knows bats

* revert debug output

* changes for shellcheck

* revert unintended change

  [tests/_test_base.bash]

* use 'local' for user/filename vars, not 'export'

* add note about Shellcheck and tests/

* local can only be used in functions - use export

* restore shbang edited in error
2019-03-04 17:40:35 +03:00
Josh Rabinowitz
83b03b61bc
Aspell fixes (#365)
* spellcheck fixes from aspell
2019-02-21 15:20:34 -05:00
Josh Rabinowitz
8ed4f46de6
fix test under git hook (#349)
* fix test under git hook. Actually closes #334
2019-02-11 09:05:16 -05:00
Josh Rabinowitz
5a28744c5d
Fix for tests under bats, fix typos, mention #334 (#342)
* fix test under githooks, fix typos, mention #334 as relevant
2019-02-10 16:44:21 -05:00
Josh Rabinowitz
e34248fdc1
remove diagnostic output from tests (#329) 2019-01-27 18:06:18 -05:00
Josh Rabinowitz
65fe4c4127
Add verbose option to 'git secret tell' showing output of key imports (#321)
* add 'git secret tell -v' option to show output of key imports
* add tests for tell with/without -v
* remove unneeded test code and bats diagnostic output
2019-01-26 22:59:13 -05:00
Josh Rabinowitz
913d026537
Fixes for 'changes' and trailing newlines, for #291 (#293)
* tests and comments about 'changes' for #291
* add 'changes' tests, improve diagnostic 
* preserve trailing newlines in diff output
* use bash trickery to preserve trailing newlines in captured text
* test 'changes' on files without newlines and when called on a non-existant file
* improve comments and variable names
2019-01-01 09:37:11 -05:00
Josh Rabinowitz
9cccf162c6 WIP: test with expired key, add 'whoknows -l' (#287)
* test with expired key, add 'whoknows -l'

    * 'whoknows -l' shows key expiration dates
    * also added docs and tests for `whoknows -l`,
    * tests for expired keys,
    * epoch_to_date functions

* update man pages

* fix epoch-to-date conversion on OSX

* test output of 'whoknows -l'

* fix for lint/shellcheck

* fix for osx

* lint fix

* use date as found in $PATH

* disable 'set -e' as little as possible
2018-12-05 09:43:48 +03:00
Josh Rabinowitz
74f8a07166
improve testing regarding expired keys and keys with only email addresses (#262)
* test that hiding secret with expired key fails
* add test of user key without username.
* revert to performing most tests with 'user1'.
* move user4 private/public key fixtures
* factor code fetching emails from keyrings, add comments.
* use factored _warn_or_abort()
* add to, clean up, and clarify comments.
2018-12-01 08:48:09 -05:00
Josh Rabinowitz
4a3877b486
WIP: Force mode for hide and reveal (#263)
* -F (force even if gpg fails) option for hide and reveal
* allow 'reveal' to decrypt a subset of files.
* update and regen man pages
* man pages update and improvements
* text about why all files should be hidden at once
* add _warn() and _warn_or_abort()
* tests for -F option
* glob source .sh files in Makefile better
* add comment about issue #238. cleanup error msg.
* test exact case in #253
* disable gnupg doc building on ubuntu-rolling
2018-10-10 21:21:58 -04:00
Josh Rabinowitz
9e975e4eed make sure email addresses used with 'tell' and 'killperson' exist in keyring (#267)
* name keys after emails, not usernames

* use emails to specify users

* rename and add function to get emails from keyrings
* rename directories holding gpg test fixtures

* deny emails that aren't in the keyring, and test.

* require 'killperson' emails to exist in keyring

* change test to reflect killperson must use email

* remove no-longer-needed test function

* factor function _assert_keychain_contains_emais()

* fix/make lint happy
2018-09-26 00:08:44 +03:00
joshr
4c2c9a9719 remove diagnostic debug output 2018-09-07 15:48:19 -04:00
joshr
6eedaab489 rename test to show SECRETS_DIR. add debug output. 2018-08-25 10:05:48 -04:00
joshr
2287b3e54e test that $_SECRETS_DIR is set as expected 2018-08-25 09:58:12 -04:00
joshr
4dd04a06e0 comment out old debug code 2018-08-25 08:14:14 -04:00
joshr
1ea3b3139d clarify comment for devs regarding bats TAP diagnostic output 2018-08-18 10:34:48 -04:00
joshr
5d5392232b remove debug code 2018-08-18 10:31:57 -04:00
joshr
645fc2370e change preserve option from -C to -P 2018-08-18 10:09:58 -04:00
joshr
afec23fb17 add test for -C option. fix typos in comments. 2018-08-18 09:17:05 -04:00
joshr
835fe80d8f set permissions when hiding files. change option to -C. 2018-08-18 09:16:50 -04:00
joshr
a090bbddac fix 2018-07-22 23:16:01 -04:00
joshr
cfdca85469 fixes, use _get_encrypted_filename, show TAP diag output 2018-07-22 23:13:12 -04:00
joshr
eb528df301 test permissions 2018-07-22 22:43:37 -04:00
joshr
2e7d6a12a5 add -c (preserve permission) option to reveal. For #172 2018-07-22 16:13:06 -04:00
Josh Rabinowitz
246825c658
fix for keys with only emails, and no usernames. Closes #227 (#240)
* test and fix for keys with only emails, and no usernames. Closes #227
2018-07-17 12:01:16 -04:00
joshr
c141fd4492 test with filenames with spaces 2018-07-14 15:23:17 -04:00
joshr
7096499465 fix quoting for files with spaces. use filenames from _test_base.bats 2018-07-14 15:21:41 -04:00