SERVER-66488 Update selinux tests to use shell from archive_dist_test

(cherry picked from commit 08e5f964cdb3fd71f7e7d1691797c4ece29ea1d8)
This commit is contained in:
sergey.galtsev 2022-05-17 13:22:57 -07:00
parent 79e48dd8b0
commit 8d64bcb59b
3 changed files with 25 additions and 11 deletions

View File

@ -6159,6 +6159,7 @@ tasks:
- name: selinux_rhel8_org
tags: []
depends_on:
- name: archive_dist_test
- name: package
commands:
- command: manifest.load
@ -6166,6 +6167,8 @@ tasks:
- *f_expansions_write
- func: "set up venv"
- func: "fetch packages"
- func: "fetch binaries"
- func: "extract binaries"
- func: "run selinux tests"
vars:
distro: rhel80-selinux
@ -6174,6 +6177,7 @@ tasks:
- name: selinux_rhel8_enterprise
tags: []
depends_on:
- name: archive_dist_test
- name: package
commands:
- command: manifest.load
@ -6181,6 +6185,8 @@ tasks:
- *f_expansions_write
- func: "set up venv"
- func: "fetch packages"
- func: "fetch binaries"
- func: "extract binaries"
- func: "run selinux tests"
vars:
distro: rhel80-selinux
@ -6189,6 +6195,7 @@ tasks:
- name: selinux_rhel7_org
tags: []
depends_on:
- name: archive_dist_test
- name: package
commands:
- command: manifest.load
@ -6196,6 +6203,8 @@ tasks:
- *f_expansions_write
- func: "set up venv"
- func: "fetch packages"
- func: "fetch binaries"
- func: "extract binaries"
- func: "run selinux tests"
vars:
user: root
@ -6205,6 +6214,7 @@ tasks:
- name: selinux_rhel7_enterprise
tags: []
depends_on:
- name: archive_dist_test
- name: package
commands:
- command: manifest.load
@ -6212,6 +6222,8 @@ tasks:
- *f_expansions_write
- func: "set up venv"
- func: "fetch packages"
- func: "fetch binaries"
- func: "extract binaries"
- func: "run selinux tests"
vars:
user: root

View File

@ -3,6 +3,13 @@
set -o errexit
set -o xtrace
mongo="$(pwd)/dist-test/bin/mongo"
export PATH="$(dirname "$mongo"):$PATH"
if [ ! -f "$mongo" ]; then
echo "Mongo shell at $mongo is missing"
exit 1
fi
function print() {
echo "$@" >&2
}
@ -19,7 +26,7 @@ if [ ! -f "$TEST_PATH" ]; then
fi
# test file is even good before going on
if ! mongo --nodb --norc --quiet "$TEST_PATH"; then
if ! "$mongo" --nodb --norc --quiet "$TEST_PATH"; then
print "File $TEST_PATH has syntax errors"
exit 1
fi
@ -42,14 +49,14 @@ sudo --non-interactive bash -c '
'
# create mongo config
mongo --nodb --norc --quiet --eval='
"$mongo" --nodb --norc --quiet --eval='
assert(load("'"$TEST_PATH"'"));
const test = new TestDefinition();
print(typeof(test.config) === "string" ? test.config : JSON.stringify(test.config, null, 2));
' | sudo --non-interactive tee /etc/mongod.conf
# setup
mongo --nodb --norc --quiet --eval='
"$mongo" --nodb --norc --quiet --eval='
assert(load("'"$TEST_PATH"'"));
const test = new TestDefinition();
jsTest.log("Running setup()");
@ -78,7 +85,7 @@ sudo --non-interactive systemctl start mongod \
)
# run test and teardown
mongo --norc --gssapiServiceName=mockservice --eval='
"$mongo" --norc --gssapiServiceName=mockservice --eval='
assert(load("'"$TEST_PATH"'"));
// name is such to prevent collisions
const test_812de7ce = new TestDefinition();

View File

@ -30,14 +30,9 @@ if [ "$SEORDER" == "0" ]; then
apply_selinux_policy
fi
# install shell using yum, so that dependencies are pulled
pkg="$(find "$HOME"/repo -name 'mongodb-*-shell-*.x86_64.rpm' | tee /dev/stderr)"
sudo --non-interactive yum install --assumeyes "$pkg" \
|| if [ "$?" -gt "1" ]; then exit 1; fi # exit code 1 is OK
pkg="$(find "$HOME"/repo -name 'mongodb-*-server-*.x86_64.rpm' | tee /dev/stderr)"
sudo --non-interactive rpm --install --verbose --verbose --hash --nodeps "$pkg" \
|| if [ "$?" -gt "1" ]; then exit 1; fi # exit code 1 is OK
sudo --non-interactive rpm --install --verbose --verbose --hash --nodeps "$pkg"
if [ "$?" -gt "1" ]; then exit 1; fi # exit code 1 is OK
if [ "$SEORDER" == "1" ]; then
apply_selinux_policy