diff --git a/.gitignore b/.gitignore index de4218f..4541b61 100644 --- a/.gitignore +++ b/.gitignore @@ -146,3 +146,32 @@ /go1.22rc1.src.tar.gz /go1.22rc2.src.tar.gz /go1.22.0.src.tar.gz +/go1.22.1.src.tar.gz +/go1.22.2.src.tar.gz +/go1.22.3.src.tar.gz +/go1.22.4.src.tar.gz +/go1.23rc1.src.tar.gz +/go1.23rc2.src.tar.gz +/go1.23.0.src.tar.gz +/go1.23.1.src.tar.gz +/go1.23.2.src.tar.gz +/go1.23.3.src.tar.gz +/go1.23.4.src.tar.gz +/go1.24rc1.src.tar.gz +/go1.24rc2.src.tar.gz +/go1.24rc3.src.tar.gz +/go1.24.0.src.tar.gz +/go1.24.1.src.tar.gz +/go1.24.2.src.tar.gz +/go1.24.3.src.tar.gz +/go1.24.4.src.tar.gz +/go1.24.5.src.tar.gz +/go1.25rc1.src.tar.gz +/go1.25rc2.src.tar.gz +/go1.25.0.src.tar.gz +/go1.25.1.src.tar.gz +/go1.25.2.src.tar.gz +/go1.25.3.src.tar.gz +/go1.25.4.src.tar.gz +/go1.25.5.src.tar.gz +/go1.26rc1.src.tar.gz diff --git a/.packit.yaml b/.packit.yaml index 502dae6..ab570c5 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -12,23 +12,23 @@ actions: - bash -c "echo - New release ${PACKIT_PROJECT_VERSION}" jobs: - # Fedora 38 follows Go 1.20 + # Fedora 42 follows Go 1.24 - job: pull_from_upstream trigger: release - dist_git_branches: fedora-38 - upstream_tag_include: "^go1.20.+" + dist_git_branches: fedora-42 + upstream_tag_include: "^go1.24.+" - # Fedora 39 follows Go 1.21 + # Fedora 43 follows Go 1.25 - job: pull_from_upstream trigger: release - dist_git_branches: fedora-39 - upstream_tag_include: "^go1.21.+" + dist_git_branches: fedora-43 + upstream_tag_include: "^go1.25.+" # Fedora Rawhide follows the latest version - job: pull_from_upstream trigger: release dist_git_branches: fedora-rawhide - upstream_tag_include: "^go1.22.+" + upstream_tag_include: "^go1.26.+" # Run Koji builds when Packit pull requests are merged - job: koji_build diff --git a/0001-Modify-go.env.patch b/0001-Modify-go.env.patch index d0b18c7..6a458b2 100644 --- a/0001-Modify-go.env.patch +++ b/0001-Modify-go.env.patch @@ -1,30 +1,42 @@ -From 52d9cfec8124a9c7382bed5284246d9b18a21eb4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Wed, 16 Aug 2023 07:06:38 +0200 +From 39432f71436c41201450a523dc41035c92d27569 Mon Sep 17 00:00:00 2001 +From: Maxwell G +Date: Thu, 24 Jul 2025 12:23:59 -0500 Subject: [PATCH] Modify go.env -Change GOPROXY, GOSUMDB, and GOTOOLCHAIN --- - go.env | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + go.env | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/go.env b/go.env -index 6ff2b921d4..087208cd7c 100644 +index 6ff2b92..5508440 100644 --- a/go.env +++ b/go.env -@@ -4,9 +4,9 @@ +@@ -4,9 +4,24 @@ # Use the Go module mirror and checksum database by default. # See https://proxy.golang.org for details. --GOPROXY=https://proxy.golang.org,direct --GOSUMDB=sum.golang.org -+GOPROXY=direct -+GOSUMDB=off ++# ++# NOTE(downstream): We used to disable the Google Go proxy with GOPROXY=direct and ++# disable the GOSUMDB for historical and priavcy reasons, but it caused severe ++# performance degradations, so we reverted to the default upstream configuration. ++# as of https://fedoraproject.org/wiki/Changes/golang1.25. ++# To preserve the previous behavior, set "GOPROXY=direct" and "GOSUMDB=off". + GOPROXY=https://proxy.golang.org,direct + GOSUMDB=sum.golang.org # Automatically download newer toolchains as directed by go.mod files. # See https://go.dev/doc/toolchain for details. -GOTOOLCHAIN=auto ++# ++# NOTE(downstream): We change this default from auto to local so that the ++# distribution-packaged Go toolchain is always used and go doesn't ++# automatically download pre-compiled alternative versions. +GOTOOLCHAIN=local ++ ++# NOTE(downstream): https://sourceware.org/bugzilla/show_bug.cgi?id=33204 ++# The dwarf5 data emitted by default in Go 1.25+ is incompatible with debugedit ++# and breaks debugdata collection. ++GOEXPERIMENT=nodwarf5 -- -2.41.0 +2.50.1 diff --git a/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch b/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch deleted file mode 100644 index 5341d6d..0000000 --- a/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7506da0af38aa307f45664f0c787b5767cc7a87f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Thu, 22 Jun 2023 17:19:00 +0200 -Subject: [PATCH] Force gold in aarch64 until binutils 2.41 is on Fedora - ---- - src/cmd/link/internal/ld/lib.go | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 91e2d5149c..99c305530b 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1605,15 +1605,13 @@ func (ctxt *Link) hostlink() { - // https://go.dev/issue/22040 - altLinker = "gold" - -- // If gold is not installed, gcc will silently switch -- // back to ld.bfd. So we parse the version information -- // and provide a useful error if gold is missing. -+ // In both cases, switch to gold if gold is available. - name, args := flagExtld[0], flagExtld[1:] - args = append(args, "-fuse-ld=gold", "-Wl,--version") - cmd := exec.Command(name, args...) - if out, err := cmd.CombinedOutput(); err == nil { -- if !bytes.Contains(out, []byte("GNU gold")) { -- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) -+ if bytes.Contains(out, []byte("GNU gold")) { -+ altLinker = "gold" - } - } - } --- -2.40.1 - diff --git a/0006-Default-to-ld.bfd-on-ARM64.patch b/0006-Default-to-ld.bfd-on-ARM64.patch new file mode 100644 index 0000000..369b4e6 --- /dev/null +++ b/0006-Default-to-ld.bfd-on-ARM64.patch @@ -0,0 +1,46 @@ +From 46ec67413008607e2150e3395668e54e538c5b6b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 19 Jun 2024 10:18:58 +0200 +Subject: [PATCH] Default to ld.bfd on ARM64 + +--- + src/cmd/link/internal/ld/lib.go | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go +index eab74dc328..b401f58727 100644 +--- a/src/cmd/link/internal/ld/lib.go ++++ b/src/cmd/link/internal/ld/lib.go +@@ -1620,22 +1620,16 @@ func (ctxt *Link) hostlink() { + } + + if ctxt.Arch.InFamily(sys.ARM64) && buildcfg.GOOS == "linux" { +- // On ARM64, the GNU linker will fail with +- // -znocopyreloc if it thinks a COPY relocation is +- // required. Switch to gold. +- // https://sourceware.org/bugzilla/show_bug.cgi?id=19962 +- // https://go.dev/issue/22040 +- altLinker = "gold" +- +- // If gold is not installed, gcc will silently switch +- // back to ld.bfd. So we parse the version information +- // and provide a useful error if gold is missing. ++ // Use ld.bfd as the default linker ++ altLinker = "bfd" ++ ++ // Provide a useful error if ld.bfd is missing + name, args := flagExtld[0], flagExtld[1:] +- args = append(args, "-fuse-ld=gold", "-Wl,--version") ++ args = append(args, "-fuse-ld=bfd", "-Wl,--version") + cmd := exec.Command(name, args...) + if out, err := cmd.CombinedOutput(); err == nil { +- if !bytes.Contains(out, []byte("GNU gold")) { +- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) ++ if !bytes.Contains(out, []byte("GNU ld")) { ++ log.Fatalf("ARM64 external linker must be ld.bfd, but is not: %s", out) + } + } + } +-- +2.45.1 + diff --git a/README.packit b/README.packit index 29cc7d8..b4b46e3 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.90.0.post1.dev9+g1f0325d1. +The file was generated using packit 1.12.0.post1.dev20+g7d30dac21. diff --git a/bundled-deps.sh b/bundled-deps.sh index 51dd446..3d5d6b7 100755 --- a/bundled-deps.sh +++ b/bundled-deps.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#!/bin/bash # Copyright (C) 2021 Jakub Čajka jcajka@redhat.com # # This program is free software; you can redistribute it and/or @@ -16,7 +16,14 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. provides="" + for bundle in $(find -name modules.txt); do -provides="$provides\n$(cat "$bundle" | grep "^# " | grep -v "# explicit" | sed -r s/"^#.* => "// | sed -r "s/# //" | sed -r "s:(.*) v(.*):Provides\: bundled(golang(\1)) = \2:")" -done + provides="$provides\n$(cat "$bundle" | + grep "^# " | + grep -v "# explicit" | + sed -r s/"^#.* => "// | + sed -r "s/# //" | + sed -r "s:(.*) v(.*):Provides\: bundled(golang(\1)) = \2:" | + sed '/= .*/s/-/./g')" + done echo -e "$provides" | sed 's/-/./g' | sort -u diff --git a/fedora.go b/fedora.go index 81b28ba..3ff4d3e 100644 --- a/fedora.go +++ b/fedora.go @@ -1,5 +1,9 @@ +//go:build rpm_crashtraceback // +build rpm_crashtraceback +// Copyright 2017 The Fedora Project Contributors. All rights reserved. +// Use of this source code is governed by the MIT license. + package runtime func init() { diff --git a/fix_cgo_panic-with-gcc15-in-368.patch b/fix_cgo_panic-with-gcc15-in-368.patch new file mode 100644 index 0000000..372af28 --- /dev/null +++ b/fix_cgo_panic-with-gcc15-in-368.patch @@ -0,0 +1,25 @@ +From 5f566346b70403891cfc52d0c807d72335691708 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 15 Jan 2025 21:45:33 +0100 +Subject: [PATCH] Fix _cgo_panic with gcc15 in 368 + +--- + src/cmd/link/internal/x86/asm.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cmd/link/internal/x86/asm.go b/src/cmd/link/internal/x86/asm.go +index d535e5fb4d..c4253a8c08 100644 +--- a/src/cmd/link/internal/x86/asm.go ++++ b/src/cmd/link/internal/x86/asm.go +@@ -184,7 +184,7 @@ func adddynrel(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loade + return true + } + +- if r.Off() >= 2 && sData[r.Off()-2] == 0xff && sData[r.Off()-1] == 0xb3 { ++ if r.Off() >= 2 && sData[r.Off()-2] == 0xff && sData[r.Off()-1] >= 0xb0 && sData[r.Off()-1] <= 0xb7 { + su.MakeWritable() + // turn PUSHL of GOT entry into PUSHL of symbol itself. + // use unnecessary SS prefix to keep instruction same length. +-- +2.47.1 + diff --git a/golang.spec b/golang.spec index 0538869..ba57da1 100644 --- a/golang.spec +++ b/golang.spec @@ -1,4 +1,5 @@ %bcond_with bootstrap + # build ids are not currently generated: # https://code.google.com/p/go/issues/detail?id=5238 # @@ -31,14 +32,14 @@ # Golang build options. # Build golang using external/internal(close to cgo disabled) linking. -%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x +%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64 %global external_linker 1 %else %global external_linker 0 %endif # Build golang with cgo enabled/disabled(later equals more or less to internal linking). -%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x +%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64 %global cgo_enabled 1 %else %global cgo_enabled 0 @@ -93,15 +94,18 @@ %ifarch s390x %global gohostarch s390x %endif +%ifarch riscv64 +%global gohostarch riscv64 +%endif # Comment out go_prerelease and go_patch as needed -%global go_api 1.22 -#global go_prerelease rc2 -%global go_patch 0 +%global go_api 1.26 +%global go_prerelease rc1 +#global go_patch 1 %global go_version %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease:~%{go_prerelease}} %global go_source %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease} - + Name: golang Version: %{go_version} Release: %autorelease @@ -119,37 +123,41 @@ BuildRequires: gcc-go >= 5 %else BuildRequires: golang > 1.4 %endif -%if 0%{?rhel} > 6 || 0%{?fedora} > 0 BuildRequires: hostname -%else -BuildRequires: net-tools -%endif + # for tests BuildRequires: pcre2-devel, glibc-static, perl-interpreter, procps-ng Provides: go = %{version}-%{release} # Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data -Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20230811205829.9131a7e9cc17 -Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20230524184225.eabc099b10ab -Provides: bundled(golang(golang.org/x/arch)) = 0.6.0 -Provides: bundled(golang(golang.org/x/crypto)) = 0.16.1.0.20231129163542.152cdb1503eb -Provides: bundled(golang(golang.org/x/mod)) = 0.14.0 -Provides: bundled(golang(golang.org/x/net)) = 0.19.0 -Provides: bundled(golang(golang.org/x/sync)) = 0.5.0 -Provides: bundled(golang(golang.org/x/sys)) = 0.15.0 -Provides: bundled(golang(golang.org/x/term)) = 0.15.0 -Provides: bundled(golang(golang.org/x/text)) = 0.14.0 -Provides: bundled(golang(golang.org/x/tools)) = 0.16.2.0.20231218185909.83bceaf2424d - +Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20251114195745.4902fdda35c8 +Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20250417193237.f615e6bd150b +Provides: bundled(golang(golang.org/x/arch)) = 0.23.0 +Provides: bundled(golang(golang.org/x/build)) = 0.0.0.20251128064159.b9bfd88b30e8 +Provides: bundled(golang(golang.org/x/crypto)) = 0.46.1.0.20251210140736.7dacc380ba00 +Provides: bundled(golang(golang.org/x/mod)) = 0.30.1.0.20251115032019.269c237cf350 +Provides: bundled(golang(golang.org/x/net)) = 0.47.1.0.20251128220604.7c360367ab7e +Provides: bundled(golang(golang.org/x/sync)) = 0.19.0 +Provides: bundled(golang(golang.org/x/sys)) = 0.39.0 +Provides: bundled(golang(golang.org/x/telemetry)) = 0.0.0.20251128220624.abf20d0e57ec +Provides: bundled(golang(golang.org/x/term)) = 0.38.0 +Provides: bundled(golang(golang.org/x/text)) = 0.32.0 +Provides: bundled(golang(golang.org/x/tools)) = 0.27.0 +Provides: bundled(golang(golang.org/x/tools)) = 0.39.1.0.20251205000126.062ef7b6ced2 +Provides: bundled(golang(rsc.io/markdown)) = 0.0.0.20240306144322.0bf8f97ee8ef Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} Requires: go-filesystem Patch1: 0001-Modify-go.env.patch -Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch -Patch5: 0005-Skip-TestCrashDumpsAllThreads.patch +Patch5: 0005-Skip-TestCrashDumpsAllThreads.patch +Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch +# Related to https://gcc.gnu.org/PR118497 +Patch8: fix_cgo_panic-with-gcc15-in-368.patch +# Related to https://github.com/golang/go/issues/74476 +Patch9: skip_lsan_tests.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -244,11 +252,8 @@ Requires(preun): %{_sbindir}/update-alternatives # This is an odd issue, still looking for a better fix. Requires: glibc Requires: gcc -%if 0%{?rhel} && 0%{?rhel} < 8 -Requires: git, subversion, mercurial -%else -Recommends: git, subversion, mercurial -%endif +Recommends: git-core, subversion, mercurial + %description bin %{summary} @@ -388,7 +393,7 @@ echo "== 4 ==" echo "%%{goroot}/$file" >> $shared_list echo "%%{golibdir}/$(basename $file)" >> $shared_list done - + find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list %endif @@ -457,7 +462,12 @@ export CGO_ENABLED=0 #endif # make sure to not timeout +%ifnarch riscv64 export GO_TEST_TIMEOUT_SCALE=2 +%else +# NOTE(davidlt): 20 is probably too much, but it's only for riscv and it works +export GO_TEST_TIMEOUT_SCALE=20 +%endif %if %{fail_on_tests} ./run.bash --no-rebuild -v -v -v -k @@ -488,6 +498,8 @@ fi %dir %{goroot} %{goroot}/api/ %{goroot}/lib/time/ +%{goroot}/lib/wasm/ +%{goroot}/lib/fips140/ # ensure directory ownership, so they are cleaned up if empty %dir %{gopath} diff --git a/plans/ci.fmf b/plans/ci.fmf index 3fd3ab7..1dbcaef 100644 --- a/plans/ci.fmf +++ b/plans/ci.fmf @@ -1,5 +1,6 @@ summary: CI Gating Plan discover: how: fmf + url: https://src.fedoraproject.org/tests/golang execute: how: tmt diff --git a/skip_lsan_tests.patch b/skip_lsan_tests.patch new file mode 100644 index 0000000..9a47ee7 --- /dev/null +++ b/skip_lsan_tests.patch @@ -0,0 +1,25 @@ +From 958f06663d81dd4b946fce963b9f985f68da6212 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 16 Jul 2025 13:14:03 +0200 +Subject: [PATCH] Skip lsan_test.go in aarch64 + +Reference: https://github.com/golang/go/issues/74476 +--- + src/cmd/cgo/internal/testsanitizers/lsan_test.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cmd/cgo/internal/testsanitizers/lsan_test.go b/src/cmd/cgo/internal/testsanitizers/lsan_test.go +index 4dde3d20ec..3bcf0eba51 100644 +--- a/src/cmd/cgo/internal/testsanitizers/lsan_test.go ++++ b/src/cmd/cgo/internal/testsanitizers/lsan_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-//go:build linux || (freebsd && amd64) ++//go:build (linux && !(arm64 || riscv64)) || (freebsd && amd64) + + package sanitizers_test + +-- +2.50.1 diff --git a/sources b/sources index ddd1e97..dfecfe3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (go1.22.0.src.tar.gz) = f47fdac3281463757b3db9f6ab747f86ed7263beed52c820ec2571375a578034df02c0b76912c19fab3a58df3b04d79b6aae084163d1d5847c907aeb30b936e3 +SHA512 (go1.26rc1.src.tar.gz) = 6696ee765dcde64b830b14e20a5fdf6324916211bff80a62d0db0cbef58bb0856f02e88e95b2f1a3ad6d9282ebd04a377a0b000d56849576caedbd526c9a7923 diff --git a/tests/Sanity/basic-smoke/Makefile b/tests/Sanity/basic-smoke/Makefile deleted file mode 100644 index 801fdb1..0000000 --- a/tests/Sanity/basic-smoke/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/golang/Sanity/basic-smoke -# Description: basic smoke test for go -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/golang/Sanity/basic-smoke -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: basic smoke test for go" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: golang" >> $(METADATA) - @echo "Requires: golang" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHEL6 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: s390x x86_64 ppc64le aarch64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/basic-smoke/PURPOSE b/tests/Sanity/basic-smoke/PURPOSE deleted file mode 100644 index 263fb91..0000000 --- a/tests/Sanity/basic-smoke/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/golang/Sanity/basic-smoke -Description: basic smoke test for go -Author: Edjunior Machado diff --git a/tests/Sanity/basic-smoke/main.fmf b/tests/Sanity/basic-smoke/main.fmf deleted file mode 100644 index 3c6d036..0000000 --- a/tests/Sanity/basic-smoke/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -summary: basic smoke test for go -description: '' -contact: -- Edjunior Machado -component: -- golang -test: ./runtest.sh -framework: beakerlib -recommend: -- golang -duration: 5m -extra-summary: /tools/golang/Sanity/basic-smoke -extra-task: /tools/golang/Sanity/basic-smoke diff --git a/tests/Sanity/basic-smoke/runtest.sh b/tests/Sanity/basic-smoke/runtest.sh deleted file mode 100755 index e14b324..0000000 --- a/tests/Sanity/basic-smoke/runtest.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/golang/Sanity/basic-smoke -# Description: basic smoke test for go -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="$(rpm -qf $(which go))" - -# Conserve the non-zero return value through the pipe -set -o pipefail - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - cat << EOF > $TmpDir/hello.go -package main -import "fmt" -func main() { - fmt.Println("hello world") -} -EOF - rlAssertExists "$TmpDir/hello.go" - - rlRun "go run $TmpDir/hello.go |& tee $TmpDir/go-run-hello.out" 0 "Testing 'go run'" - rlAssertNotDiffer <(echo 'hello world') go-run-hello.out - - rlRun "go build -o $TmpDir/hello $TmpDir/hello.go" 0 "Testing 'go build'" - rlAssertExists "hello" - - rlRun "$TmpDir/hello |& tee $TmpDir/hello.out" 0 "Running binary" - rlAssertNotDiffer <(echo 'hello world') hello.out - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd