def test_get_build_snaps(self): class Options: go_channel = "14/latest" plugin = GoPlugin(part_name="my-part", options=Options()) self.assertThat(plugin.get_build_snaps(), Equals({"go/14/latest"}))
def test_get_build_environment(self): plugin = GoPlugin(part_name="my-part", options=lambda: None) self.assertThat( plugin.get_build_environment(), Equals({ "CGO_ENABLED": "1", "GOBIN": "${SNAPCRAFT_PART_INSTALL}/bin", "SNAPCRAFT_GO_LDFLAGS": "-ldflags -linkmode=external", }), )
def test_get_build_commands_with_buildtags(self): class Options: go_buildtags = ["dev", "debug"] plugin = GoPlugin(part_name="my-part", options=Options()) self.assertThat( plugin.get_build_commands(), Equals([ "go mod download", 'go install -p "${SNAPCRAFT_PARALLEL_BUILD_COUNT}" -tags=dev,debug ${SNAPCRAFT_GO_LDFLAGS} ./...', ]), )
def test_schema(self): schema = GoPlugin.get_schema() self.assertThat( schema, Equals({ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "additionalProperties": False, "properties": { "go-channel": { "type": "string", "default": "latest/stable" }, "go-buildtags": { "type": "array", "uniqueItems": True, "items": { "type": "string" }, "default": [], }, }, "required": ["source"], }), )
def test_get_build_packages(self): plugin = GoPlugin(part_name="my-part", options=lambda: None) self.assertThat(plugin.get_build_packages(), Equals({"gcc"}))