mirror of
https://github.com/containers/podman.git
synced 2025-06-20 09:03:43 +08:00
e2e: Skip journalctl if journald is unavailable
Test "podman start container by systemd" is failed on the system in which rootless users don't have accessibility to journald. Therefore, skip the part that reads journal with journalctl. Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
This commit is contained in:
@ -851,17 +851,21 @@ type journaldTests struct {
|
||||
|
||||
var journald journaldTests
|
||||
|
||||
func SkipIfJournaldUnavailable() {
|
||||
// Check if journalctl is unavailable
|
||||
func checkAvailableJournald() {
|
||||
f := func() {
|
||||
journald.journaldSkip = false
|
||||
|
||||
// Check if journalctl is unavailable
|
||||
cmd := exec.Command("journalctl", "-n", "1")
|
||||
if err := cmd.Run(); err != nil {
|
||||
journald.journaldSkip = true
|
||||
}
|
||||
}
|
||||
journald.journaldOnce.Do(f)
|
||||
}
|
||||
|
||||
func SkipIfJournaldUnavailable() {
|
||||
checkAvailableJournald()
|
||||
|
||||
// In container, journalctl does not return an error even if
|
||||
// journald is unavailable
|
||||
|
@ -64,8 +64,11 @@ WantedBy=default.target
|
||||
start := SystemExec("systemctl", []string{dashWhat, "start", serviceName})
|
||||
Expect(start).Should(ExitCleanly())
|
||||
|
||||
logs := SystemExec("journalctl", []string{dashWhat, "-n", "20", "-u", serviceName})
|
||||
Expect(logs).Should(ExitCleanly())
|
||||
checkAvailableJournald()
|
||||
if !journald.journaldSkip {
|
||||
logs := SystemExec("journalctl", []string{dashWhat, "-n", "20", "-u", serviceName})
|
||||
Expect(logs).Should(ExitCleanly())
|
||||
}
|
||||
|
||||
status := SystemExec("systemctl", []string{dashWhat, "status", serviceName})
|
||||
Expect(status.OutputToString()).To(ContainSubstring("active (running)"))
|
||||
|
Reference in New Issue
Block a user