kachick / times_kachick

`#times_kachick channel in chat` as a public repository. Personal Note and TODOs
https://github.com/kachick/times_kachick/issues?q=is%3Aissue+is%3Aclosed
6 stars 0 forks source link

2024-03-04 - gh の `make test` 走らせたら実際の $HOME 配下にある config 消そうとしてきてびびった #269

Closed kachick closed 7 months ago

kachick commented 7 months ago

https://github.com/cli/cli/blob/9dd102ffd081ce455bb55ee3af92372c190dc2b4/Makefile#L41-L44

とりあえず個別実行がなくがつんしか無いっぽいので make test 走らせたら

--- FAIL: TestDeleteRun (0.00s)
    --- FAIL: TestDeleteRun/delete_alias (0.00s)
        delete_test.go:174:
                Error Trace:    /home/kachick/repos/github-cli/pkg/cmd/alias/delete/delete_test.go:174
                Error:          Received unexpected error:
                                open /home/kachick/.config/gh/config.yml: permission denied
                Test:           TestDeleteRun/delete_alias
        delete_test.go:180:
                Error Trace:    /home/kachick/repos/github-cli/pkg/cmd/alias/delete/delete_test.go:180
                Error:          Not equal:
                                expected: "✓ Deleted alias co; was pr checkout\n"
                                actual  : ""

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1,2 +1 @@
                                -✓ Deleted alias co; was pr checkout

                Test:           TestDeleteRun/delete_alias
    --- FAIL: TestDeleteRun/delete_all_aliases (0.00s)
        delete_test.go:174:
                Error Trace:    /home/kachick/repos/github-cli/pkg/cmd/alias/delete/delete_test.go:174
                Error:          Received unexpected error:
                                open /home/kachick/.config/gh/config.yml: permission denied
                Test:           TestDeleteRun/delete_all_aliases
        delete_test.go:180:
                Error Trace:    /home/kachick/repos/github-cli/pkg/cmd/alias/delete/delete_test.go:180
                Error:          Not equal:
                                expected: "✓ Deleted alias co; was pr checkout\n✓ Deleted alias il; was issue list\n"
                                actual  : ""

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1,3 +1 @@
                                -✓ Deleted alias co; was pr checkout
                                -✓ Deleted alias il; was issue list

                Test:           TestDeleteRun/delete_all_aliases
FAIL

えっえっみたいなのがボロボロ出てきてびびった。そもそも devcontainer が用意されてるんだけれど、こっちは先日 docker から podman に乗り換えたばかりで、podmanで(volumeをリモートで乗せる手段とかの関係で多分)素直に通らない事の一つが devcontainer という認識なのでローカルでやろうとしたのが裏目に出たか・・・

しかしなんで $HOME のが permission で弾かれてるんやと思ったら、このへんは home-manager で生成しているからさっくり消せない設定だった。

ひえー

https://github.com/cli/cli/blob/9dd102ffd081ce455bb55ee3af92372c190dc2b4/docs/project-layout.md?plain=1#L73-L84

Naturally, none of these things should ever happen for real when running tests, unless you are sure that any filesystem operations are strictly scoped to a location made for and maintained by the test itself. To avoid actually running things like making real API requests or shelling out to git commands, we stub them. You should look at how that's done within some existing tests.

🤔

kachick commented 7 months ago

個別実行がなくがつんしか無いっぽい

標準のテストで書かれてるっぽいんで、関数名指定で部分実行できた。

go test ./... -run TestStatusRun

こんぐらいわかるやろということでなんも書かれてなかったんだろうなー Go の事なんも覚えてなかった(覚えたつもりでも2週間ぐらいで全部忘れる)