Compare commits

...

No commits in common. "c8" and "c8s" have entirely different histories.
c8 ... c8s

51 changed files with 113 additions and 270 deletions

11
.gitignore vendored
View File

@ -1 +1,10 @@
SOURCES/libhugetlbfs-2.21.tar.gz
/libhugetlbfs-2.*.tar.gz
/huge_page_setup_helper-python3-convert.patch
/libhugetlbfs-2.20-defined-task-size-value-to-be-512T-if-it-is-more-than-64Tb.patch
/0001-testutils-fix-range_is_mapped.patch
/0002-stack_grow_into_huge-don-t-clobber-existing-mappings.patch
/run_tests-python3-convert.patch
/build_flags.patch
/tests_shm-perms_adjust_max_segment_size_for_bigger_hugepages.patch
/tests-fix-covscan-SHELLCHECK_WARNING-complaints.patch
/tests-include-missing-LDFLAGS-to-make-targets.patch

View File

@ -1 +0,0 @@
8ed79a12d07be1e858ef4e0148ab1f4115094ef6 SOURCES/libhugetlbfs-2.21.tar.gz

View File

@ -1,212 +0,0 @@
From 815072b9163cae73671baae448f974cc8f8a84be Mon Sep 17 00:00:00 2001
From: Rafael Aquini <aquini@redhat.com>
Date: Sun, 12 Apr 2020 21:08:01 -0400
Subject: [PATCH] tests: fix covscan SHELLCHECK_WARNING complaints
Signed-off-by: Rafael Aquini <aquini@redhat.com>
---
tests/counters.sh | 2 +-
tests/fadvise_reserve.sh | 2 +-
tests/fallocate_align.sh | 2 +-
tests/fallocate_basic.sh | 2 +-
tests/fallocate_stress.sh | 2 +-
tests/madvise_reserve.sh | 2 +-
tests/mremap-expand-slice-collision.sh | 2 +-
tests/mremap-fixed-huge-near-normal.sh | 2 +-
tests/mremap-fixed-normal-near-huge.sh | 2 +-
tests/quota.sh | 2 +-
tests/readahead_reserve.sh | 2 +-
tests/wrapper-utils.sh | 18 +++++++++---------
12 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/tests/counters.sh b/tests/counters.sh
index e3ffabe..27bfca3 100755
--- a/tests/counters.sh
+++ b/tests/counters.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# Huge page overcommit was not available until 2.6.24
-compare_kvers `uname -r` "2.6.24"
+compare_kvers "$(uname -r)" "2.6.24"
if [ $? -eq 1 ]; then
EXP_RC=$RC_FAIL
else
diff --git a/tests/fadvise_reserve.sh b/tests/fadvise_reserve.sh
index 74496ec..ff96003 100755
--- a/tests/fadvise_reserve.sh
+++ b/tests/fadvise_reserve.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# fadvise is known broken before 2.6.30
-compare_kvers `uname -r` "2.6.30"
+compare_kvers "$(uname -r)" "2.6.30"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/fallocate_align.sh b/tests/fallocate_align.sh
index 5105151..4397cd3 100755
--- a/tests/fallocate_align.sh
+++ b/tests/fallocate_align.sh
@@ -5,7 +5,7 @@
#
# hugetlbfs fallocate support was not available until 4.3
#
-compare_kvers `uname -r` "4.3.0"
+compare_kvers "$(uname -r)" "4.3.0"
if [ $? -eq 1 ]; then
echo "FAIL no fallocate support in kernels before 4.3.0"
exit $RC_FAIL
diff --git a/tests/fallocate_basic.sh b/tests/fallocate_basic.sh
index 904dfd6..1af6196 100755
--- a/tests/fallocate_basic.sh
+++ b/tests/fallocate_basic.sh
@@ -5,7 +5,7 @@
#
# hugetlbfs fallocate support was not available until 4.3
#
-compare_kvers `uname -r` "4.3.0"
+compare_kvers "$(uname -r)" "4.3.0"
if [ $? -eq 1 ]; then
echo "FAIL no fallocate support in kernels before 4.3.0"
exit $RC_FAIL
diff --git a/tests/fallocate_stress.sh b/tests/fallocate_stress.sh
index 622084f..3b5b70a 100755
--- a/tests/fallocate_stress.sh
+++ b/tests/fallocate_stress.sh
@@ -5,7 +5,7 @@
#
# hugetlbfs fallocate support was not available until 4.3
#
-compare_kvers `uname -r` "4.3.0"
+compare_kvers "$(uname -r)" "4.3.0"
if [ $? -eq 1 ]; then
echo "FAIL no fallocate support in kernels before 4.3.0"
exit $RC_FAIL
diff --git a/tests/madvise_reserve.sh b/tests/madvise_reserve.sh
index cfe582d..eb289d6 100755
--- a/tests/madvise_reserve.sh
+++ b/tests/madvise_reserve.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# madvise is known broken before 2.6.30
-compare_kvers `uname -r` "2.6.30"
+compare_kvers "$(uname -r)" "2.6.30"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/mremap-expand-slice-collision.sh b/tests/mremap-expand-slice-collision.sh
index 8c9d98a..dd4eba3 100755
--- a/tests/mremap-expand-slice-collision.sh
+++ b/tests/mremap-expand-slice-collision.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# mremap-expand-slice-collision is known broken before 2.6.33
-compare_kvers `uname -r` "2.6.33"
+compare_kvers "$(uname -r)" "2.6.33"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/mremap-fixed-huge-near-normal.sh b/tests/mremap-fixed-huge-near-normal.sh
index 4b89c35..22fde79 100755
--- a/tests/mremap-fixed-huge-near-normal.sh
+++ b/tests/mremap-fixed-huge-near-normal.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# mremap-fixed-huge-near-normal is known broken before 2.6.33
-compare_kvers `uname -r` "2.6.33"
+compare_kvers "$(uname -r)" "2.6.33"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/mremap-fixed-normal-near-huge.sh b/tests/mremap-fixed-normal-near-huge.sh
index 9ed058f..45b8f26 100755
--- a/tests/mremap-fixed-normal-near-huge.sh
+++ b/tests/mremap-fixed-normal-near-huge.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# mremap-fixed-normal-near-huge is known broken before 2.6.33
-compare_kvers `uname -r` "2.6.33"
+compare_kvers "$(uname -r)" "2.6.33"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/quota.sh b/tests/quota.sh
index 398d442..55c764a 100755
--- a/tests/quota.sh
+++ b/tests/quota.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# There are known bugs in quota accounting prior to 2.6.24
-compare_kvers `uname -r` "2.6.24"
+compare_kvers "$(uname -r)" "2.6.24"
if [ $? -eq 1 ]; then
EXP_RC=$RC_FAIL
else
diff --git a/tests/readahead_reserve.sh b/tests/readahead_reserve.sh
index 5ab7400..861ef5a 100755
--- a/tests/readahead_reserve.sh
+++ b/tests/readahead_reserve.sh
@@ -3,7 +3,7 @@
. wrapper-utils.sh
# readahead is known broken before 2.6.30
-compare_kvers `uname -r` "2.6.30"
+compare_kvers "$(uname -r)" "2.6.30"
if [ $? -eq 1 ]; then
echo "FAIL (assumed) kernel bug"
exit $RC_FAIL
diff --git a/tests/wrapper-utils.sh b/tests/wrapper-utils.sh
index 2f6451d..79e7ed1 100644
--- a/tests/wrapper-utils.sh
+++ b/tests/wrapper-utils.sh
@@ -1,12 +1,12 @@
#!/bin/bash
# Standard return codes
-RC_PASS=0
-RC_CONFIG=1
-RC_FAIL=2
-RC_XFAIL=3
-RC_XPASS=4
-RC_BUG=99
+export RC_PASS=0
+export RC_CONFIG=1
+export RC_FAIL=2
+export RC_XFAIL=3
+export RC_XPASS=4
+export RC_BUG=99
function unexpected_pass()
{
@@ -28,10 +28,10 @@ function check_rc()
EXP_RC=$1
ACT_RC=$2
- if [ $ACT_RC -eq $RC_PASS -a $EXP_RC -ne $RC_PASS ]; then
+ if [[ ($ACT_RC -eq $RC_PASS) && ($EXP_RC -ne $RC_PASS) ]]; then
unexpected_pass
return $RC_XPASS
- elif [ $EXP_RC -ne $RC_PASS -a $EXP_RC -eq $ACT_RC ]; then
+ elif [[ ($EXP_RC -ne $RC_PASS) && ($EXP_RC -eq $ACT_RC) ]]; then
expected_fail
return $RC_XFAIL
else
@@ -47,7 +47,7 @@ function exec_and_check()
EXP_RC=$1
shift
- OUTPUT=`$@`
+ OUTPUT=$("$@")
check_rc $EXP_RC $?
RC=$?
echo $OUTPUT
--
2.25.2

View File

@ -1,56 +0,0 @@
From 112f4b7266cae313e5a7f3d720360cdb294db496 Mon Sep 17 00:00:00 2001
From: Rafael Aquini <aquini@redhat.com>
Date: Sun, 12 Apr 2020 22:59:32 -0400
Subject: [PATCH] tests: include missing LDFLAGS to make targets
Signed-off-by: Rafael Aquini <aquini@redhat.com>
---
tests/Makefile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
index 9fd15eb..216942e 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -120,32 +120,32 @@ shmoverride_linked.c: shmoverride_unlinked.c
obj32/%.o: %.c
@$(VECHO) CC32 $@
@mkdir -p obj32
- $(CC32) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
+ $(CC32) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -c $<
obj64/%.o: %.c
@$(VECHO) CC64 $@
@mkdir -p obj64
- $(CC64) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
+ $(CC64) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -c $<
obj32/%-pic.o: %.c
@$(VECHO) CC32 $@
@mkdir -p obj32
- $(CC32) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $<
+ $(CC32) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -o $@ -c $<
obj64/%-pic.o: %.c
@$(VECHO) CC64 $@
@mkdir -p obj64
- $(CC64) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $<
+ $(CC64) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -o $@ -c $<
obj32/libheapshrink.so: obj32/heapshrink-helper-pic.o
@$(VECHO) LD32 "(shared)" $@
@mkdir -p obj32
- $(CC32) -Wl,-soname,$(notdir $@) -shared -o $@ $^
+ $(CC32) $(LDFLAGS) -Wl,-soname,$(notdir $@) -shared -o $@ $^
obj64/libheapshrink.so: obj64/heapshrink-helper-pic.o
@$(VECHO) LD64 "(shared)" $@
@mkdir -p obj64
- $(CC64) -Wl,-soname,$(notdir $@) -shared -o $@ $^
+ $(CC64) $(LDFLAGS) -Wl,-soname,$(notdir $@) -shared -o $@ $^
$(LIB_TESTS:%=obj32/%): %: %.o obj32/testutils.o obj32/libtestutils.o
@$(VECHO) LD32 "(lib test)" $@
--
2.25.2

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

8
sources Normal file
View File

@ -0,0 +1,8 @@
SHA512 (libhugetlbfs-2.21.tar.gz) = 1179778bc85e51412d4c85b0581258dbe23ce7eb69fdd257e2eb007ec203c295bd97e281045de778c6c8942368e5288387ac3fcbd4860ff0cd0134ca0e0a35f8
SHA512 (0001-testutils-fix-range_is_mapped.patch) = 6188d741ad89ba1ca5117221aa9bf16b054fb4dc1f779bb56cc29ad2be302344accc4d21e17feac92ff9079da0b0b6fdc02f65da3b12d849e1d38f7cbc14e345
SHA512 (0002-stack_grow_into_huge-don-t-clobber-existing-mappings.patch) = 8f235ce4cb9a5df3c72d5df1ceb9e2b3e420da9270ad76748186f50e844ca8b3fc0be1df8c0c4fa1dabeab45b7d6d542b21ae3f16a0e59cbff291e066c1a45e6
SHA512 (huge_page_setup_helper-python3-convert.patch) = 491c20e8a9e029caeae545fa2ce6ca9216bacb19c4e0c882564a40e40eec768d3c163de73e50cb44ecff9e56f2c4d81a9205a19b1838b7290fe903110b4e1137
SHA512 (build_flags.patch) = 7f83d9b717362bfb60d4ccb4ef6e8868c86a21eb6e17e61fa1e05d34fe62c1a212253b0575ad768babcbadb915c70cc24430a752d42146730b7a0582608b493d
SHA512 (tests_shm-perms_adjust_max_segment_size_for_bigger_hugepages.patch) = a2eeca8d63ae81efd42c903fb144775edbbb5059c23e792264c4c27b1152babefbf45484f9c916af9f436157a7f42af5f0f1bbee7f5e0d89995d8076d59b3417
SHA512 (tests-fix-covscan-SHELLCHECK_WARNING-complaints.patch) = e48f712627499f7eaf0ab4ab284c61bdf659385cbc0955786b1b6b50ee89d73262246dd5b4d9f25d1cc223b89d6744338ef7a81cbb2bc2d5ee69994a2fd33cdb
SHA512 (tests-include-missing-LDFLAGS-to-make-targets.patch) = dc94af4aa90fb4a064c44d8d00941298a6bb2db520762372c44f83329e7db8e8aab1c854966541ab2260586f4b6bbdce607d3694b4f457246b9ce4d85534aaae

1
tests/.fmf/version Normal file
View File

@ -0,0 +1 @@
1

67
tests/libhugetlbfs-test.sh Executable file
View File

@ -0,0 +1,67 @@
#!/bin/sh
SUCCESS=0;
FAILURE=1;
RETCODE=255;
TMPFILE=/tmp/libhugetlbfs-test.log
function check_mem_size {
# libhugetblfs tests need to allocate 512 hugepages
# so the system needs to have enough memory to accomodate
# that request plus an extra to run the code without hiccups
# in order to provide room for that need, lets ask for, t least,
# 60% more memory than the hugepage pool size, given the size
# of the hugepages for this system.
#MIN_MEM_KB=1872732;
MIN_MEM_KB=$(awk '/Hugepagesize:/ {print int($2*512*1.6);}' /proc/meminfo);
SYS_MEM_KB=$(awk '/MemTotal:/ {print $2;}' /proc/meminfo);
if [[ $MIN_MEM_KB -gt $SYS_MEM_KB || $MIN_MEM_KB -eq $SYS_MEM_KB ]]; then
RETCODE=$FAILURE;
else
RETCODE=$SUCCESS;
fi
}
function setup_and_check_hugepages {
echo 3 > /proc/sys/vm/drop_caches;
echo 1 > /proc/sys/vm/compact_memory;
echo 512 > /proc/sys/vm/nr_hugepages;
sleep 15;
NR_FREE_HP=$(awk '/HugePages_Free:/ {print $2;}' /proc/meminfo);
if [ $NR_FREE_HP -lt 512 ]; then
RETCODE=$FAILURE;
else
RETCODE=$SUCCESS;
fi
}
check_mem_size;
if [ $RETCODE != $SUCCESS ]; then
echo "ERROR: system does not have enough RAM";
exit $RETCODE;
fi
setup_and_check_hugepages;
if [ $RETCODE != $SUCCESS ]; then
echo "ERROR: not possible to allocate enough hugepages for a complete test";
exit $RETCODE;
fi
pushd /usr/lib64/libhugetlbfs/tests/;
./run_tests.py &> $TMPFILE;
popd;
FAILCNT=$(awk '/ FAIL:/ {print $3+$4}' $TMPFILE);
if [ $FAILCNT != 0 ]; then
cat $TMPFILE
echo "FAIL";
exit $FAILURE;
else
echo "PASS";
exit $SUCCESS;
fi

5
tests/provision.fmf Normal file
View File

@ -0,0 +1,5 @@
---
standard-inventory-qcow2:
qemu:
m: 3G

16
tests/tests.yml Normal file
View File

@ -0,0 +1,16 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- libhugetlbfs
- libhugetlbfs-utils
- libhugetlbfs-tests
- gawk
- python3
tests:
- libhugetlbfs_test:
dir: .
run: ./libhugetlbfs-test.sh