タグ

ブックマーク / syfm.hatenablog.com (2)

  • Go 1.13 にアップデートするとテスト時に "flag provided but not defined" エラーが発生するケース - blog.syfm

    Go でテストを実行する際は動的に生成された main 関数がエントリポイントとなっています。 Go 1.13 からはテスト実行時のテストフラグ (-v や -coverprofile など) の登録がこの生成された main 内で行われるようになったため、 main より先に実行される init 内でフラグの登録を行っているテストではフラグのパースがうまく動かず、テストが落ちるようになります。 たとえば、自分が開発している Evans では golden files testing のために --update フラグを e2e パッケージで用意し、これが有効になっている場合のみ golden files を更新するような設定になっていました。 var ( update = flag.Bool("update", false, "update goldens") ) func init()

    Go 1.13 にアップデートするとテスト時に "flag provided but not defined" エラーが発生するケース - blog.syfm
  • fzf ライクな fuzzy-finder を提供する Go ライブラリを書いた - blog.syfm

    fuzzy-finder fzf や fzy、skim などの fuzzy-search (あいまい検索) を提供する CLI ツールの登場により、コマンドラインでの操作はますます表現豊かになっています。 例えば、カレントシェルのコマンドヒストリの一覧から fuzzy-finder を使って選択したり、ghq + fuzzy-finder + cd の組み合わせで選択したリポジトリのあるディレクトリへ移動したりといったケースが挙げられます。 また、fuzzy-finder それ自体をコア機能として組み込んだツールも増えています。例えば、cd コマンドの拡張である enhancd はパスの履歴を保持し、fuzzy-finder を使って移動したいディレクトリへすぐに移動することができます。また、拙作の itunes-cli は、iTunes で管理されている曲の一覧を入力にし、fuzzy-f

    fzf ライクな fuzzy-finder を提供する Go ライブラリを書いた - blog.syfm
  • 1