test/e2e: remove podman system service tests

Two tests are skipped for a long time because they flaked to much,
nobody cares about them and there are only debugging endpoints mostly so
it is not critical either.

The "of 2 seconds" tests isn't useful either. It waits up to 30s for the
exit so it doesn't actually verify a proper timeout. Additionally we
have similar checks in the system tests "podman system service -
CORS enabled in logs" so I consider this safe to remove.

Fixes #12624

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2024-06-25 17:00:01 +02:00
parent f62c3ec561
commit a7415c9316

View File

@ -1,115 +0,0 @@
package integration
import (
"io"
"net"
"net/http"
"net/url"
"strconv"
"time"
"github.com/containers/podman/v5/utils"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
. "github.com/onsi/gomega/gexec"
)
var _ = Describe("podman system service", func() {
// The timeout used to for the service to respond. As shown in #12167,
// this may take some time on machines under high load.
var timeout = 30
Describe("verify timeout", func() {
It("of 2 seconds", func() {
SkipIfRemote("service subcommand not supported remotely")
address := url.URL{
Scheme: "tcp",
Host: net.JoinHostPort("localhost", randomPort()),
}
session := podmanTest.Podman([]string{
"system", "service", "--time=2", address.String(),
})
defer session.Kill()
WaitForService(address)
Eventually(session, timeout).Should(Exit(0))
})
})
Describe("verify pprof endpoints", func() {
// Depends on pkg/api/server/server.go:255
const magicComment = "pprof service listening on"
It("are available", func() {
Skip("FIXME: Test is too flaky (#12624)")
SkipIfRemote("service subcommand not supported remotely")
address := url.URL{
Scheme: "tcp",
Host: net.JoinHostPort("localhost", randomPort()),
}
pprofPort := randomPort()
session := podmanTest.Podman([]string{
"system", "service", "--log-level=debug", "--time=0",
"--pprof-address=localhost:" + pprofPort, address.String(),
})
defer session.Kill()
WaitForService(address)
// Combined with test below we have positive/negative test for pprof
Expect(session.Err.Contents()).Should(ContainSubstring(magicComment))
heap := url.URL{
Scheme: "http",
Host: net.JoinHostPort("localhost", pprofPort),
Path: "/debug/pprof/heap",
RawQuery: "seconds=2",
}
resp, err := http.Get(heap.String())
Expect(err).ShouldNot(HaveOccurred())
defer resp.Body.Close()
Expect(resp).To(HaveHTTPStatus(http.StatusOK))
body, err := io.ReadAll(resp.Body)
Expect(err).ShouldNot(HaveOccurred())
Expect(body).ShouldNot(BeEmpty())
session.Interrupt().Wait(time.Duration(timeout) * time.Second)
Eventually(session, timeout).Should(Exit(1))
})
It("are not available", func() {
Skip("FIXME: Test is too flaky (#12624)")
SkipIfRemote("service subcommand not supported remotely")
address := url.URL{
Scheme: "tcp",
Host: net.JoinHostPort("localhost", randomPort()),
}
session := podmanTest.Podman([]string{
"system", "service", "--log-level=debug", "--time=0", address.String(),
})
defer session.Kill()
WaitForService(address)
// Combined with test above we have positive/negative test for pprof
Expect(session.Err.Contents()).ShouldNot(ContainSubstring(magicComment))
session.Interrupt().Wait(time.Duration(timeout) * time.Second)
Eventually(session, timeout).Should(Exit(1))
})
})
})
// randomPort leans on the go net library to find an available port...
func randomPort() string {
port, err := utils.GetRandomPort()
Expect(err).ShouldNot(HaveOccurred())
return strconv.Itoa(port)
}