-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an acc test covering failures when reading .git #2223
Changes from all commits
49a7fdd
5a75fb8
13ce2ba
f783f24
e3c5225
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
bundle: | ||
name: git-permerror |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
=== No permission to access .git. Badness: inferred flag is set to true even though we did not infer branch. bundle_root_path is not correct in subdir case. | ||
|
||
>>> chmod 000 .git | ||
|
||
>>> $CLI bundle validate | ||
Error: unable to load repository specific gitconfig: open config: permission denied | ||
|
||
Name: git-permerror | ||
Target: default | ||
Workspace: | ||
User: $USERNAME | ||
Path: /Workspace/Users/$USERNAME/.bundle/git-permerror/default | ||
|
||
Found 1 error | ||
|
||
Exit code: 1 | ||
|
||
>>> $CLI bundle validate -o json | ||
Error: unable to load repository specific gitconfig: open config: permission denied | ||
|
||
|
||
Exit code: 1 | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} | ||
|
||
>>> withdir subdir/a/b $CLI bundle validate -o json | ||
Error: unable to load repository specific gitconfig: open config: permission denied | ||
|
||
|
||
Exit code: 1 | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} | ||
|
||
|
||
=== No permissions to read .git/HEAD. Badness: warning is not shown. inferred is incorrectly set to true. bundle_root_path is not correct in subdir case. | ||
|
||
>>> chmod 000 .git/HEAD | ||
|
||
>>> $CLI bundle validate -o json | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} | ||
|
||
>>> withdir subdir/a/b $CLI bundle validate -o json | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} | ||
|
||
|
||
=== No permissions to read .git/config. Badness: inferred is incorretly set to true. bundle_root_path is not correct is subdir case. | ||
|
||
>>> chmod 000 .git/config | ||
|
||
>>> $CLI bundle validate -o json | ||
Error: unable to load repository specific gitconfig: open config: permission denied | ||
|
||
|
||
Exit code: 1 | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} | ||
|
||
>>> withdir subdir/a/b $CLI bundle validate -o json | ||
Error: unable to load repository specific gitconfig: open config: permission denied | ||
|
||
|
||
Exit code: 1 | ||
{ | ||
"bundle_root_path": ".", | ||
"inferred": true | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
mkdir myrepo | ||
cd myrepo | ||
cp ../databricks.yml . | ||
git-repo-init | ||
mkdir -p subdir/a/b | ||
|
||
printf "=== No permission to access .git. Badness: inferred flag is set to true even though we did not infer branch. bundle_root_path is not correct in subdir case.\n" | ||
trace chmod 000 .git | ||
errcode trace $CLI bundle validate | ||
errcode trace $CLI bundle validate -o json | jq .bundle.git | ||
errcode trace withdir subdir/a/b $CLI bundle validate -o json | jq .bundle.git | ||
|
||
printf "\n\n=== No permissions to read .git/HEAD. Badness: warning is not shown. inferred is incorrectly set to true. bundle_root_path is not correct in subdir case.\n" | ||
chmod 700 .git | ||
trace chmod 000 .git/HEAD | ||
errcode trace $CLI bundle validate -o json | jq .bundle.git | ||
errcode trace withdir subdir/a/b $CLI bundle validate -o json | jq .bundle.git | ||
|
||
printf "\n\n=== No permissions to read .git/config. Badness: inferred is incorretly set to true. bundle_root_path is not correct is subdir case.\n" | ||
chmod 666 .git/HEAD | ||
trace chmod 000 .git/config | ||
errcode trace $CLI bundle validate -o json | jq .bundle.git | ||
errcode trace withdir subdir/a/b $CLI bundle validate -o json | jq .bundle.git | ||
|
||
rm -fr .git |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Badness = "Warning logs not shown; inferred flag is set to true incorrect; bundle_root_path is not correct" | ||
|
||
[GOOS] | ||
# This test relies on chmod which does not work on Windows | ||
windows = false |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,3 +47,14 @@ title() { | |
local label="$1" | ||
printf "\n=== %s" "$label" | ||
} | ||
|
||
withdir() { | ||
local dir="$1" | ||
shift | ||
local orig_dir="$(pwd)" | ||
cd "$dir" || return $? | ||
"$@" | ||
local exit_code=$? | ||
cd "$orig_dir" || return $? | ||
return $exit_code | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's easier/shorter to just use a subshell. E.g.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You mean using subshell directly in script? It's not shorter, especially if you consider that you also want to trace cd command and then you have it appearing in the output as a separate line. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So we're comparing: script: output: vs script:
output:
Note, in the output you cannot see that you're inside a subshell and that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Makes sense, thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can use the "title" helper instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tbh, that helper feels unnecessary to me. It also does not add a new line at the end for some reason.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, in some cases I want a couple of front newlines and in one case I won't none.