diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-03-09 16:14:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-09 16:14:47 +0100 |
commit | 324ef866e213f9f697668bec431a784a48d9e66a (patch) | |
tree | e13a183fe19ae2d81de35ad5946e0b7a67106db2 /pkgs/development/tools/go-mockery/default.nix | |
parent | 6b4b347db9013b8c52626098b43653aabb4e23da (diff) | |
parent | 9670b19ce8f7c23c975a34206bb40e2ace152d09 (diff) |
Merge pull request #217547 from cideM/go-migrate-tests
go-mockery: add package test
Diffstat (limited to 'pkgs/development/tools/go-mockery/default.nix')
-rw-r--r-- | pkgs/development/tools/go-mockery/default.nix | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/pkgs/development/tools/go-mockery/default.nix b/pkgs/development/tools/go-mockery/default.nix index a80249026960c..118c8f52f740d 100644 --- a/pkgs/development/tools/go-mockery/default.nix +++ b/pkgs/development/tools/go-mockery/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, go-mockery, runCommand, go }: buildGoModule rec { pname = "go-mockery"; @@ -24,6 +24,37 @@ buildGoModule rec { vendorHash = "sha256-3lx3wHnPQ/slRXnlVAnI1ZqSykDXNivjwg1WUITGj64="; + passthru.tests = { + generateMock = runCommand "${pname}-test" { + nativeBuildInputs = [ go-mockery ]; + buildInputs = [ go ]; + } '' + if [[ $(mockery --version) != *"${version}"* ]]; then + echo "Error: program version does not match package version" + exit 1 + fi + + export HOME=$TMPDIR + + cat <<EOF > foo.go + package main + + type Foo interface { + Bark() string + } + EOF + + mockery --name Foo --dir . + + if [[ ! -f "mocks/Foo.go" ]]; then + echo "Error: mocks/Foo.go was not generated by ${pname}" + exit 1 + fi + + touch $out + ''; + }; + meta = with lib; { homepage = "https://github.com/vektra/mockery"; description = "A mock code autogenerator for Golang"; |