709a085a1c
... and backport some new upstream tests. https://bugzilla.redhat.com/show_bug.cgi?id=2263968 Resolves: RHEL-30245
895 lines
27 KiB
Diff
895 lines
27 KiB
Diff
From f51c4a4cd8ff1c51a68073a10eaddab8f16fdaf6 Mon Sep 17 00:00:00 2001
|
||
From: Debarshi Ray <rishi@fedoraproject.org>
|
||
Date: Thu, 8 Feb 2024 22:18:33 +0100
|
||
Subject: [PATCH 1/4] test/system: Ensure that the user is part of a group with
|
||
the same name
|
||
|
||
https://github.com/containers/toolbox/pull/1447
|
||
---
|
||
test/system/206-user.bats | 7 +++++++
|
||
1 file changed, 7 insertions(+)
|
||
|
||
diff --git a/test/system/206-user.bats b/test/system/206-user.bats
|
||
index c295d8a61f39..cdd38c146024 100644
|
||
--- a/test/system/206-user.bats
|
||
+++ b/test/system/206-user.bats
|
||
@@ -434,6 +434,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^(sudo|wheel):x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -447,6 +448,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^wheel:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -460,6 +462,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^wheel:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -473,6 +476,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^wheel:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -486,6 +490,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^sudo:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -499,6 +504,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^sudo:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
@@ -512,6 +518,7 @@ teardown() {
|
||
run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 cat /etc/group
|
||
|
||
assert_success
|
||
+ assert_line --regexp "^$USER:x:[[:digit:]]+:$USER$"
|
||
assert_line --regexp "^sudo:x:[[:digit:]]+:$USER$"
|
||
assert [ ${#lines[@]} -gt 1 ]
|
||
|
||
--
|
||
2.43.0
|
||
|
||
|
||
From b2d64fad1a23a07919efdb70de9247645e44f973 Mon Sep 17 00:00:00 2001
|
||
From: Debarshi Ray <rishi@fedoraproject.org>
|
||
Date: Thu, 8 Feb 2024 22:51:43 +0100
|
||
Subject: [PATCH 2/4] test/system: Ensure that process started by 'podman exec'
|
||
has all groups
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
Commit 15173f8c25c81244 exposed a bug in crun(1) [1] where the process
|
||
started directly by 'podman exec --user ...' inside the Toolbx container
|
||
would not have the supplementary groups attached to the user by the
|
||
entry point.
|
||
|
||
This could be observed by differences in id(1):
|
||
⬢$ id
|
||
uid=1000(user) gid=1000(user) groups=1000(user)
|
||
⬢$ id user
|
||
uid=1000(user) gid=1000(user) groups=1000(user),10(wheel)
|
||
|
||
... and could be worked around by starting a new session with sudo(8).
|
||
|
||
[1] crun commit 9effaebb429a1aed
|
||
https://github.com/containers/crun/commit/9effaebb429a1aed
|
||
https://github.com/containers/crun/issues/644
|
||
https://github.com/containers/podman/issues/9986
|
||
|
||
https://github.com/containers/toolbox/issues/608
|
||
---
|
||
test/system/206-user.bats | 231 ++++++++++++++++++++++++++++++++++++++
|
||
1 file changed, 231 insertions(+)
|
||
|
||
diff --git a/test/system/206-user.bats b/test/system/206-user.bats
|
||
index cdd38c146024..2df7862f259e 100644
|
||
--- a/test/system/206-user.bats
|
||
+++ b/test/system/206-user.bats
|
||
@@ -525,3 +525,234 @@ teardown() {
|
||
# shellcheck disable=SC2154
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
+
|
||
+@test "user: id(1) for $USER inside the default container" {
|
||
+ create_default_container
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside Arch Linux" {
|
||
+ create_distro_container arch latest arch-toolbox-latest
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside Fedora 34" {
|
||
+ create_distro_container fedora 34 fedora-toolbox-34
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside RHEL 8.7" {
|
||
+ create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside Ubuntu 16.04" {
|
||
+ create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside Ubuntu 18.04" {
|
||
+ create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "user: id(1) for $USER inside Ubuntu 20.04" {
|
||
+ create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 id
|
||
+
|
||
+ assert_success
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ local output_id="${lines[0]}"
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 id "$USER"
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$output_id"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ # shellcheck disable=SC2154
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
--
|
||
2.43.0
|
||
|
||
|
||
From da2555d04f9ff677b3f2033ff36390f75c3a509d Mon Sep 17 00:00:00 2001
|
||
From: Debarshi Ray <rishi@fedoraproject.org>
|
||
Date: Thu, 18 Jan 2024 19:53:02 +0100
|
||
Subject: [PATCH 3/4] test/system: Group by higher-level objective, not
|
||
distribution
|
||
|
||
Fallout from 51ffd2793d882ffab45ace44c03edfdaeb3f138c
|
||
|
||
https://github.com/containers/toolbox/pull/1436
|
||
---
|
||
test/system/220-environment-variables.bats | 152 ++++++++++-----------
|
||
1 file changed, 76 insertions(+), 76 deletions(-)
|
||
|
||
diff --git a/test/system/220-environment-variables.bats b/test/system/220-environment-variables.bats
|
||
index 0e1356654468..dd74b1dc5142 100644
|
||
--- a/test/system/220-environment-variables.bats
|
||
+++ b/test/system/220-environment-variables.bats
|
||
@@ -1,6 +1,6 @@
|
||
# shellcheck shell=bats
|
||
#
|
||
-# Copyright © 2023 Red Hat, Inc.
|
||
+# Copyright © 2023 – 2024 Red Hat, Inc.
|
||
#
|
||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
# you may not use this file except in compliance with the License.
|
||
@@ -57,25 +57,24 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside the default container" {
|
||
- skip "https://pagure.io/setup/pull-request/48"
|
||
-
|
||
- create_default_container
|
||
+@test "environment variables: HISTFILESIZE inside Arch Linux" {
|
||
+ create_distro_container arch latest arch-toolbox-latest
|
||
|
||
- if [ "$HISTSIZE" = "" ]; then
|
||
+ # shellcheck disable=SC2031
|
||
+ if [ "$HISTFILESIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
- HISTSIZE=1001
|
||
+ HISTFILESIZE=1001
|
||
else
|
||
- ((HISTSIZE++))
|
||
+ ((HISTFILESIZE++))
|
||
fi
|
||
|
||
- export HISTSIZE
|
||
+ export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTSIZE"
|
||
+ assert_line --index 0 "$HISTFILESIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
@@ -87,8 +86,8 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside Arch Linux" {
|
||
- create_distro_container arch latest arch-toolbox-latest
|
||
+@test "environment variables: HISTFILESIZE inside Fedora 34" {
|
||
+ create_distro_container fedora 34 fedora-toolbox-34
|
||
|
||
# shellcheck disable=SC2031
|
||
if [ "$HISTFILESIZE" = "" ]; then
|
||
@@ -101,7 +100,7 @@ teardown() {
|
||
export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTFILESIZE"
|
||
@@ -116,24 +115,24 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside Arch Linux" {
|
||
- create_distro_container arch latest arch-toolbox-latest
|
||
+@test "environment variables: HISTFILESIZE inside RHEL 8.7" {
|
||
+ create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
|
||
# shellcheck disable=SC2031
|
||
- if [ "$HISTSIZE" = "" ]; then
|
||
+ if [ "$HISTFILESIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
- HISTSIZE=1001
|
||
+ HISTFILESIZE=1001
|
||
else
|
||
- ((HISTSIZE++))
|
||
+ ((HISTFILESIZE++))
|
||
fi
|
||
|
||
- export HISTSIZE
|
||
+ export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTSIZE"
|
||
+ assert_line --index 0 "$HISTFILESIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
@@ -145,8 +144,8 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside Fedora 34" {
|
||
- create_distro_container fedora 34 fedora-toolbox-34
|
||
+@test "environment variables: HISTFILESIZE inside Ubuntu 16.04" {
|
||
+ create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
|
||
# shellcheck disable=SC2031
|
||
if [ "$HISTFILESIZE" = "" ]; then
|
||
@@ -159,7 +158,8 @@ teardown() {
|
||
export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 \
|
||
+ bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTFILESIZE"
|
||
@@ -174,26 +174,25 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside Fedora 34" {
|
||
- skip "https://pagure.io/setup/pull-request/48"
|
||
-
|
||
- create_distro_container fedora 34 fedora-toolbox-34
|
||
+@test "environment variables: HISTFILESIZE inside Ubuntu 18.04" {
|
||
+ create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
|
||
# shellcheck disable=SC2031
|
||
- if [ "$HISTSIZE" = "" ]; then
|
||
+ if [ "$HISTFILESIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
- HISTSIZE=1001
|
||
+ HISTFILESIZE=1001
|
||
else
|
||
- ((HISTSIZE++))
|
||
+ ((HISTFILESIZE++))
|
||
fi
|
||
|
||
- export HISTSIZE
|
||
+ export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 \
|
||
+ bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTSIZE"
|
||
+ assert_line --index 0 "$HISTFILESIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
@@ -205,12 +204,11 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside RHEL 8.7" {
|
||
- create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
+@test "environment variables: HISTFILESIZE inside Ubuntu 20.04" {
|
||
+ create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04
|
||
|
||
# shellcheck disable=SC2031
|
||
if [ "$HISTFILESIZE" = "" ]; then
|
||
- # shellcheck disable=SC2030
|
||
HISTFILESIZE=1001
|
||
else
|
||
((HISTFILESIZE++))
|
||
@@ -219,7 +217,8 @@ teardown() {
|
||
export HISTFILESIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 \
|
||
+ bash -c 'echo "$HISTFILESIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTFILESIZE"
|
||
@@ -234,12 +233,11 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside RHEL 8.7" {
|
||
+@test "environment variables: HISTSIZE inside the default container" {
|
||
skip "https://pagure.io/setup/pull-request/48"
|
||
|
||
- create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
+ create_default_container
|
||
|
||
- # shellcheck disable=SC2031
|
||
if [ "$HISTSIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
HISTSIZE=1001
|
||
@@ -250,7 +248,7 @@ teardown() {
|
||
export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTSIZE"
|
||
@@ -265,25 +263,24 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside Ubuntu 16.04" {
|
||
- create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
+@test "environment variables: HISTSIZE inside Arch Linux" {
|
||
+ create_distro_container arch latest arch-toolbox-latest
|
||
|
||
# shellcheck disable=SC2031
|
||
- if [ "$HISTFILESIZE" = "" ]; then
|
||
+ if [ "$HISTSIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
- HISTFILESIZE=1001
|
||
+ HISTSIZE=1001
|
||
else
|
||
- ((HISTFILESIZE++))
|
||
+ ((HISTSIZE++))
|
||
fi
|
||
|
||
- export HISTFILESIZE
|
||
+ export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 \
|
||
- bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTFILESIZE"
|
||
+ assert_line --index 0 "$HISTSIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
@@ -295,8 +292,10 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside Ubuntu 16.04" {
|
||
- create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
+@test "environment variables: HISTSIZE inside Fedora 34" {
|
||
+ skip "https://pagure.io/setup/pull-request/48"
|
||
+
|
||
+ create_distro_container fedora 34 fedora-toolbox-34
|
||
|
||
# shellcheck disable=SC2031
|
||
if [ "$HISTSIZE" = "" ]; then
|
||
@@ -309,7 +308,7 @@ teardown() {
|
||
export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTSIZE"
|
||
@@ -324,25 +323,26 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside Ubuntu 18.04" {
|
||
- create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
+@test "environment variables: HISTSIZE inside RHEL 8.7" {
|
||
+ skip "https://pagure.io/setup/pull-request/48"
|
||
+
|
||
+ create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
|
||
# shellcheck disable=SC2031
|
||
- if [ "$HISTFILESIZE" = "" ]; then
|
||
+ if [ "$HISTSIZE" = "" ]; then
|
||
# shellcheck disable=SC2030
|
||
- HISTFILESIZE=1001
|
||
+ HISTSIZE=1001
|
||
else
|
||
- ((HISTFILESIZE++))
|
||
+ ((HISTSIZE++))
|
||
fi
|
||
|
||
- export HISTFILESIZE
|
||
+ export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 \
|
||
- bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTFILESIZE"
|
||
+ assert_line --index 0 "$HISTSIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
@@ -354,8 +354,8 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTSIZE inside Ubuntu 18.04" {
|
||
- create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
+@test "environment variables: HISTSIZE inside Ubuntu 16.04" {
|
||
+ create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
|
||
# shellcheck disable=SC2031
|
||
if [ "$HISTSIZE" = "" ]; then
|
||
@@ -368,7 +368,7 @@ teardown() {
|
||
export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 bash -c 'echo "$HISTSIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
assert_line --index 0 "$HISTSIZE"
|
||
@@ -383,24 +383,24 @@ teardown() {
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
|
||
-@test "environment variables: HISTFILESIZE inside Ubuntu 20.04" {
|
||
- create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04
|
||
+@test "environment variables: HISTSIZE inside Ubuntu 18.04" {
|
||
+ create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
|
||
# shellcheck disable=SC2031
|
||
- if [ "$HISTFILESIZE" = "" ]; then
|
||
- HISTFILESIZE=1001
|
||
+ if [ "$HISTSIZE" = "" ]; then
|
||
+ # shellcheck disable=SC2030
|
||
+ HISTSIZE=1001
|
||
else
|
||
- ((HISTFILESIZE++))
|
||
+ ((HISTSIZE++))
|
||
fi
|
||
|
||
- export HISTFILESIZE
|
||
+ export HISTSIZE
|
||
|
||
# shellcheck disable=SC2016
|
||
- run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 \
|
||
- bash -c 'echo "$HISTFILESIZE"'
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 bash -c 'echo "$HISTSIZE"'
|
||
|
||
assert_success
|
||
- assert_line --index 0 "$HISTFILESIZE"
|
||
+ assert_line --index 0 "$HISTSIZE"
|
||
|
||
if check_bats_version 1.10.0; then
|
||
assert [ ${#lines[@]} -eq 1 ]
|
||
--
|
||
2.43.0
|
||
|
||
|
||
From ee2c92299d5488bab4e54cb04d9a120e0b9ed405 Mon Sep 17 00:00:00 2001
|
||
From: Debarshi Ray <rishi@fedoraproject.org>
|
||
Date: Thu, 18 Jan 2024 20:17:50 +0100
|
||
Subject: [PATCH 4/4] test/system: Test that the HOSTNAME environment variable
|
||
is set
|
||
|
||
Bash automatically sets the HOSTNAME environment variable to the name of
|
||
the current host [1] as returned by gethostname(2), which is the same as
|
||
hostname(1).
|
||
|
||
However, on Fedora, from Fedora 33 onwards, /etc/profile sets the
|
||
HOSTNAME environment variable to 'hostnamectl --transient' [2], and,
|
||
from Fedora 35 onwards, it has a fallback to hostname(1) [3]. These two
|
||
approaches return different values when used inside a Toolbx container.
|
||
The former picks up the hostname of the host operating system, while the
|
||
fallback gets the name that was set when creating the container with
|
||
'podman create --hostname toolbox ...'.
|
||
|
||
Hence, the value of HOSTNAME inside a Toolbx container for Fedora
|
||
depends on whether the corresponding version of the fedora-toolbox image
|
||
contained hostnamectl(1) or not.
|
||
|
||
[1] https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html
|
||
|
||
[2] setup commit eb9cc4dce89be24f
|
||
https://pagure.io/setup/c/eb9cc4dce89be24f
|
||
https://bugzilla.redhat.com/show_bug.cgi?id=1745245
|
||
|
||
[3] setup commit ddd74b5d971a734c
|
||
https://pagure.io/setup/c/ddd74b5d971a734c
|
||
https://pagure.io/setup/pull-request/28
|
||
https://bugzilla.redhat.com/show_bug.cgi?id=1938223
|
||
|
||
https://github.com/containers/toolbox/issues/558
|
||
---
|
||
test/system/220-environment-variables.bats | 126 +++++++++++++++++++++
|
||
1 file changed, 126 insertions(+)
|
||
|
||
diff --git a/test/system/220-environment-variables.bats b/test/system/220-environment-variables.bats
|
||
index dd74b1dc5142..5b51d17dee55 100644
|
||
--- a/test/system/220-environment-variables.bats
|
||
+++ b/test/system/220-environment-variables.bats
|
||
@@ -439,3 +439,129 @@ teardown() {
|
||
# shellcheck disable=SC2154
|
||
assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside the default container" {
|
||
+ create_default_container
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 --regexp "^(toolbox|$HOSTNAME)$"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside Arch Linux" {
|
||
+ create_distro_container arch latest arch-toolbox-latest
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "toolbox"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside Fedora 34" {
|
||
+ create_distro_container fedora 34 fedora-toolbox-34
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "$HOSTNAME"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside RHEL 8.7" {
|
||
+ create_distro_container rhel 8.7 rhel-toolbox-8.7
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "toolbox"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside Ubuntu 16.04" {
|
||
+ create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "toolbox"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside Ubuntu 18.04" {
|
||
+ create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "toolbox"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
+
|
||
+@test "environment variables: HOSTNAME inside Ubuntu 20.04" {
|
||
+ create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04
|
||
+
|
||
+ # shellcheck disable=SC2016
|
||
+ run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 bash -c 'echo "$HOSTNAME"'
|
||
+
|
||
+ assert_success
|
||
+ assert_line --index 0 "toolbox"
|
||
+
|
||
+ if check_bats_version 1.10.0; then
|
||
+ assert [ ${#lines[@]} -eq 1 ]
|
||
+ else
|
||
+ assert [ ${#lines[@]} -eq 2 ]
|
||
+ fi
|
||
+
|
||
+ assert [ ${#stderr_lines[@]} -eq 0 ]
|
||
+}
|
||
--
|
||
2.43.0
|
||
|