From ff43a7b10c2f3a059252e5bfbc77d567b02e8765 Mon Sep 17 00:00:00 2001 From: Martin Coufal Date: Fri, 19 Jun 2026 10:04:36 +0200 Subject: [PATCH] tests/Regression: add downstream tests RPM-Changelog: - RPM-Skip-Release: yes --- .../main.fmf | 18 + .../runtest.sh | 46 + .../main.fmf | 27 + .../runtest.sh | 62 ++ .../.testinfo.tmt | 9 + .../main.fmf | 25 + .../runtest.sh | 54 ++ .../main.fmf | 25 + .../runtest.sh | 55 ++ .../main.fmf | 24 + .../runtest.sh | 54 ++ .../main.fmf | 24 + .../runtest.sh | 51 ++ .../main.fmf | 23 + .../runtest.sh | 51 ++ .../main.fmf | 21 + .../runtest.sh | 77 ++ .../main.fmf | 25 + .../runtest.sh | 50 ++ .../main.fmf | 19 + .../runtest.sh | 55 ++ .../main.fmf | 28 + .../runtest.sh | 46 + .../main.fmf | 25 + .../runtest.sh | 46 + .../main.fmf | 17 + .../runtest.sh | 49 ++ .../main.fmf | 16 + .../runtest.sh | 53 ++ .../tst-RHEL-15867.c | 11 + .../main.fmf | 24 + .../runtest.sh | 60 ++ .../src/gdb-aarch64.script | 17 + .../src/gdb-ppc64le.script | 13 + .../src/gdb-rhel9.script | 10 + .../src/gdb-s390x.script | 18 + .../src/gdb-x86_64.script | 10 + .../src/test.c | 26 + .../main.fmf | 24 + .../rhel-19824.c | 13 + .../runtest.sh | 55 ++ .../main.fmf | 19 + .../runtest.sh | 53 ++ .../main.fmf | 20 + .../runtest.sh | 55 ++ .../main.fmf | 24 + .../runtest.sh | 58 ++ .../test.c | 6 + .../main.fmf | 20 + .../runtest.sh | 54 ++ .../tst-getauxval.c | 27 + .../main.fmf | 22 + .../runtest.sh | 46 + .../main.fmf | 21 + .../runtest.sh | 56 ++ .../main.fmf | 19 + .../runtest.sh | 48 + .../main.fmf | 16 + .../runtest.sh | 50 ++ .../main.fmf | 26 + .../runtest.sh | 52 ++ .../test.c | 15 + .../main.fmf | 17 + .../runtest.sh | 62 ++ .../foobar.redhat.rdns.zone | 112 +++ .../foobar.redhat.zone | 114 +++ .../main.fmf | 19 + .../named.conf | 16 + .../runtest.sh | 86 ++ .../tst-getnameinfo.c | 86 ++ .../lib-1026533.c | 19 + .../bz1026533-gettimeofday-segfault/main.fmf | 21 + .../runtest.sh | 64 ++ .../test-1026533.c | 40 + .../main.fmf | 19 + .../prg1.c | 6 + .../prg2.c | 7 + .../prg3.c | 8 + .../prg4.c | 7 + .../prg5.c | 8 + .../prg6.c | 8 + .../runtest.sh | 54 ++ .../bz1070458-mcount-symbol-missing/main.fmf | 17 + .../runtest.sh | 62 ++ .../tst-_mcount.c | 38 + .../main.fmf | 26 + .../runtest.sh | 72 ++ .../tst-WCHAR_limits.c | 86 ++ .../main.fmf | 18 + .../runtest.sh | 67 ++ .../tst-dlopen-lib.c | 26 + .../tst-dlopen.c | 23 + .../main.fmf | 18 + .../runtest.sh | 66 ++ .../tst-clone-cfi.c | 24 + .../main.fmf | 21 + .../ns.py | 25 + .../runtest.sh | 78 ++ .../tst-gethostbyX.c | 14 + .../main.fmf | 20 + .../runtest.sh | 68 ++ .../main.fmf | 18 + .../runtest.sh | 57 ++ .../simulate-EFAULT.stp | 22 + .../tst-times.c | 15 + .../main.fmf | 17 + .../runtest.sh | 61 ++ .../tst-confstr.c | 24 + .../auditor.c | 187 ++++ .../main.fmf | 19 + .../runtest.sh | 93 ++ .../main.fmf | 23 + .../profil01s.c | 126 +++ .../runtest.sh | 55 ++ .../main.fmf | 17 + .../rpc.c | 141 +++ .../runtest.sh | 58 ++ .../main.fmf | 28 + .../manyLibs.tar.gz | Bin 0 -> 5421 bytes .../runtest.sh | 106 +++ .../main.fmf | 26 + .../runtest.sh | 73 ++ .../unaligned.c | 12 + .../unaligned_main.c | 8 + .../main.fmf | 25 + .../patterns/patterns_p10 | 246 ++++++ .../patterns/patterns_p8 | 122 +++ .../patterns/patterns_p9 | 215 +++++ .../runtest.sh | 78 ++ .../__pycache__/ns.cpython-314.pyc | Bin 0 -> 3273 bytes .../main.fmf | 20 + .../ns.py | 46 + .../runtest.sh | 208 +++++ .../tst-ruserok.c | 34 + .../main.fmf | 16 + .../runtest.sh | 52 ++ .../tst-TCP_USER_TIMEOUT.c | 7 + .../main.fmf | 15 + .../runtest.sh | 61 ++ .../debug_scrpt | 16 + .../main.fmf | 36 + .../prog.c | 48 + .../prog.mk | 6 + .../runtest.sh | 92 ++ .../compres.pl | 14 + .../create_ifs.pl | 23 + .../getaddr.c | 29 + .../main.fmf | 23 + .../runtest.sh | 104 +++ .../libc_fork_test.c | 151 ++++ .../main.fmf | 19 + .../runtest.sh | 60 ++ .../main.c | 124 +++ .../main.fmf | 18 + .../runtest.sh | 86 ++ .../main.fmf | 17 + .../runtest.sh | 55 ++ .../test-rh1299319.c | 65 ++ .../main.fmf | 42 + .../reproduce-helper.c | 75 ++ .../runtest.sh | 59 ++ .../gen.sh | 37 + .../inttypes.txt | 154 ++++ .../main.fmf | 20 + .../runtest.sh | 61 ++ .../stdint1.txt | 64 ++ .../stdint2.txt | 14 + .../main.fmf | 22 + .../pagure_tst-search2.tar.gz | Bin 0 -> 15883 bytes .../runtest.sh | 69 ++ .../main.fmf | 22 + .../runtest.sh | 57 ++ .../main.fmf | 19 + .../runtest.sh | 54 ++ .../main.fmf | 22 + .../runtest.sh | 136 +++ .../holetester.pl | 144 +++ .../main.fmf | 23 + .../runtest.sh | 84 ++ .../tst.c | 18 + .../main.fmf | 22 + .../runtest.sh | 59 ++ .../tst-thr.c | 24 + .../main.fmf | 20 + .../ru.txt | 30 + .../ru.txt_orig | 30 + .../runtest.sh | 62 ++ .../swbz21302-repro.c | 80 ++ .../test.txt | 16 + .../test.txt_orig | 16 + .../ck.c | 161 ++++ .../list.gdb | 6 + .../main.fmf | 23 + .../runtest.sh | 65 ++ .../main.fmf | 23 + .../msgfopen_test.c | 27 + .../runtest.sh | 53 ++ .../main.fmf | 23 + .../power_results | 7 + .../powreal.txt | 1 + .../powtest.c | 15 + .../runtest.sh | 82 ++ .../af_vsock_test.c | 14 + .../main.fmf | 23 + .../runtest.sh | 57 ++ .../main.fmf | 22 + .../runtest.sh | 59 ++ .../test-setmntent.c | 16 + .../main.fmf | 23 + .../runtest.sh | 53 ++ .../tst-rand.c | 15 + .../main.fmf | 18 + .../runtest.sh | 53 ++ .../tst-tai.c | 17 + .../bug-ga2.c | 30 + .../main.fmf | 24 + .../runtest.sh | 69 ++ .../main.fmf | 18 + .../runtest.sh | 53 ++ .../tst-round.cpp | 16 + .../list.gdb | 7 + .../main.fmf | 25 + .../runtest.sh | 60 ++ .../t.c | 7 + .../tlb.c | 19 + .../loop-add-del-link_bz1472832.sh | 2 + .../main.fmf | 19 + .../runtest.sh | 76 ++ .../tester.c | 34 + .../main.fmf | 21 + .../runtest.sh | 53 ++ .../tst-dl.c | 17 + .../main.fmf | 22 + .../runtest.sh | 64 ++ .../tst-getaddr.c | 23 + .../main.fmf | 23 + .../runtest.sh | 65 ++ .../main.fmf | 19 + .../runtest.sh | 54 ++ .../tst-getauxval.c | 16 + .../main.fmf | 19 + .../runtest.sh | 57 ++ .../main.fmf | 19 + .../runtest.sh | 43 + .../main.fmf | 25 + .../runtest.sh | 67 ++ .../tst-sem_open.c | 21 + .../example.c | 26 + .../main.fmf | 25 + .../runtest.sh | 69 ++ .../main.fmf | 22 + .../runtest.sh | 67 ++ .../subsh.sh | 2 + .../audit.c | 8 + .../main.fmf | 18 + .../runtest.sh | 55 ++ .../test.c | 11 + .../main.fmf | 29 + .../runtest.sh | 71 ++ .../main.fmf | 23 + .../runtest.sh | 59 ++ .../tst-pread.c | 17 + .../tst-pwrite.c | 17 + .../main.fmf | 20 + .../origin_kl | 7 + .../runtest.sh | 56 ++ .../main.fmf | 21 + .../runtest.sh | 60 ++ .../main.fmf | 20 + .../runtest.sh | 50 ++ .../main.fmf | 24 + .../runtest.sh | 79 ++ .../support/check.c | 60 ++ .../support/check.h | 192 ++++ .../support/support.h | 113 +++ .../support/support_record_failure.c | 114 +++ .../support/support_test_main.c | 454 ++++++++++ .../support/temp_file-internal.h | 31 + .../support/test-driver.c | 169 ++++ .../support/test-driver.h | 76 ++ .../support/write_message.c | 32 + .../support/xpthread_attr_destroy.c | 26 + .../support/xpthread_attr_init.c | 25 + .../support/xpthread_attr_setdetachstate.c | 27 + .../support/xpthread_attr_setguardsize.c | 26 + .../support/xpthread_attr_setstacksize.c | 26 + .../support/xpthread_barrier_destroy.c | 26 + .../support/xpthread_barrier_init.c | 27 + .../support/xpthread_barrier_wait.c | 28 + .../support/xpthread_barrierattr_destroy.c | 26 + .../support/xpthread_barrierattr_init.c | 26 + .../support/xpthread_barrierattr_setpshared.c | 26 + .../support/xpthread_cancel.c | 25 + .../support/xpthread_check_return.c | 34 + .../support/xpthread_cond_wait.c | 26 + .../support/xpthread_create.c | 29 + .../support/xpthread_detach.c | 25 + .../support/xpthread_join.c | 27 + .../support/xpthread_mutex_consistent.c | 26 + .../support/xpthread_mutex_destroy.c | 26 + .../support/xpthread_mutex_init.c | 26 + .../support/xpthread_mutex_lock.c | 25 + .../support/xpthread_mutex_unlock.c | 25 + .../support/xpthread_mutexattr_destroy.c | 26 + .../support/xpthread_mutexattr_init.c | 25 + .../support/xpthread_mutexattr_setprotocol.c | 26 + .../support/xpthread_mutexattr_setpshared.c | 26 + .../support/xpthread_mutexattr_setrobust.c | 26 + .../support/xpthread_mutexattr_settype.c | 26 + .../support/xpthread_once.c | 25 + .../support/xpthread_rwlock_destroy.c | 26 + .../support/xpthread_rwlock_init.c | 27 + .../support/xpthread_rwlock_rdlock.c | 26 + .../support/xpthread_rwlock_unlock.c | 26 + .../support/xpthread_rwlock_wrlock.c | 26 + .../support/xpthread_rwlockattr_init.c | 26 + .../support/xpthread_rwlockattr_setkind_np.c | 27 + .../support/xpthread_sigmask.c | 34 + .../support/xpthread_spin_lock.c | 25 + .../support/xpthread_spin_unlock.c | 25 + .../support/xsignal.c | 29 + .../support/xsignal.h | 42 + .../support/xthread.h | 91 ++ .../support/xunistd.h | 72 ++ .../support/xwrite.c | 39 + .../tst-rwlock-tryrdlock-stall.c | 357 ++++++++ .../tst-rwlock-trywrlock-stall.c | 108 +++ .../audit.c | 19 + .../gen.sh | 24 + .../main.fmf | 21 + .../runtest.sh | 77 ++ .../targlib.c | 4 + .../tst-audit.c | 60 ++ .../main.fmf | 19 + .../repr.c | 94 ++ .../runtest.sh | 62 ++ .../hello.c | 21 + .../list.gdb | 12 + .../list.gdb_rhel10 | 11 + .../list.gdb_rhel9 | 10 + .../main.fmf | 24 + .../runtest.sh | 76 ++ .../main.fmf | 22 + .../repr.c | 30 + .../runtest.sh | 60 ++ .../main.fmf | 17 + .../runtest.sh | 57 ++ .../tst-pmtudisc.c | 25 + .../bz1702539-glibc-Fix-hang-in-pldd/main.fmf | 16 + .../runtest.sh | 51 ++ .../bz1702539-glibc-Fix-hang-in-pldd/subsh.sh | 2 + .../main.fmf | 18 + .../runtest.sh | 53 ++ .../tst-socket.c | 93 ++ .../main.fmf | 25 + .../runtest.sh | 55 ++ .../tst.c | 12 + .../main.fmf | 21 + .../runtest.sh | 54 ++ .../t.c | 28 + .../m1.stp | 4 + .../main.fmf | 25 + .../runtest.sh | 71 ++ .../t.c | 12 + .../trigger.sh | 16 + .../main.fmf | 21 + .../runtest.sh | 56 ++ .../t.c | 3 + .../main.fmf | 24 + .../mtrace_test.c | 15 + .../runtest.sh | 68 ++ .../inf-test.c | 27 + .../main.fmf | 21 + .../runtest.sh | 57 ++ .../bz1784519-glibc-string-h-Define/1.cpp | 12 + .../bz1784519-glibc-string-h-Define/main.fmf | 21 + .../runtest.sh | 56 ++ .../locale-archive_broken.be.gz | Bin 0 -> 1882836 bytes .../locale-archive_broken.le.gz | Bin 0 -> 1432704 bytes .../main.fmf | 20 + .../runtest.sh | 60 ++ .../main.cc | 16 + .../main.fmf | 18 + .../runtest.sh | 53 ++ .../shared.c | 10 + .../main.fmf | 24 + .../nsconf | 7 + .../runtest.sh | 77 ++ .../tst-grgid.c | 27 + .../tst-grnam.c | 21 + .../tst-pwnam.c | 21 + .../tst-spnam.c | 24 + .../main.fmf | 30 + .../runtest.sh | 135 +++ .../src/bz25733.c | 31 + .../src/bz25733_probe.stp | 1 + .../src/bz25733_probe.stp_fix | 1 + .../src/bz27052.c | 23 + .../src/fms.c | 25 + .../src/uaf.c | 44 + .../main.fmf | 31 + .../runtest.sh | 87 ++ .../trawmemchr.c | 10 + .../tstpcpy.c | 14 + .../tstrcpy.c | 9 + .../tstrlen.c | 9 + .../hang.c | 49 ++ .../main.fmf | 23 + .../runtest.sh | 54 ++ .../.testinfo.tmt | 7 + .../main.fmf | 20 + .../runtest.sh | 60 ++ .../main.fmf | 21 + .../runtest.sh | 46 + .../main.fmf | 19 + .../runtest.sh | 53 ++ .../tst-isnanl.c | 8 + .../main.fmf | 24 + .../reproducer.tar.gz | Bin 0 -> 821879 bytes .../runtest.sh | 49 ++ .../main.fmf | 21 + .../runtest.sh | 53 ++ .../test.c | 828 ++++++++++++++++++ .../main.fmf | 21 + .../runtest.sh | 47 + .../main.fmf | 22 + .../runtest.sh | 61 ++ .../test.c | 32 + .../main.fmf | 26 + .../runtest.sh | 88 ++ .../main.fmf | 27 + .../runtest.sh | 74 ++ .../src/Makefile | 17 + .../src/main.cpp | 83 ++ .../src/tls1.cpp | 2 + .../src/tls2.cpp | 2 + .../main.fmf | 22 + .../runtest.sh | 56 ++ .../test.c | 16 + .../main.fmf | 18 + .../runtest.sh | 54 ++ .../test.c | 7 + .../main.fmf | 23 + .../runtest.sh | 51 ++ .../main.fmf | 21 + .../runtest.sh | 61 ++ .../tempnam.cpp | 15 + .../main.fmf | 25 + .../runtest.sh | 67 ++ .../test.c | 18 + .../main.fmf | 23 + .../runtest.sh | 131 +++ .../test-setlocale-with-locale-a.c | 15 + .../ipc64_header.h | 4 + .../main.fmf | 25 + .../runtest.sh | 58 ++ .../tst-msgctl.c | 25 + .../tst-semctl.c | 33 + .../tst-shmctl.c | 25 + .../bz2183081.cpp | 32 + .../main.fmf | 20 + .../runtest.sh | 53 ++ .../execvp-leak.c | 26 + .../bz437571-vfork-execvp-memleak/main.fmf | 27 + .../bz437571-vfork-execvp-memleak/runtest.sh | 85 ++ .../main.fmf | 19 + .../runtest.sh | 77 ++ .../main.fmf | 18 + .../runtest.sh | 67 ++ .../thrbug-simplified.c | 60 ++ .../bz552960-Possible-deadlock-in/Makefile.at | 35 + .../bz552960-Possible-deadlock-in/fubug.c | 106 +++ .../bz552960-Possible-deadlock-in/main.fmf | 19 + .../bz552960-Possible-deadlock-in/runtest.sh | 72 ++ .../alloca1.c | 17 + .../main.fmf | 20 + .../runtest.sh | 61 ++ .../golden.output | 4 + .../main.fmf | 27 + .../repro.c | 92 ++ .../runtest.sh | 106 +++ .../main.fmf | 18 + .../runtest.sh | 107 +++ .../test.cpp | 203 +++++ .../test2.cpp | 123 +++ .../main.fmf | 18 + .../memsetter.c | 72 ++ .../powerline.c | 15 + .../runtest.sh | 96 ++ .../main.fmf | 34 + .../runtest.sh | 73 ++ .../main.fmf | 16 + .../runtest.sh | 43 + .../main.fmf | 23 + .../numeric.sh | 8 + .../refs/out_rhel10.gold | 128 +++ .../refs/out_rhel7.gold | 124 +++ .../refs/out_rhel8.gold | 128 +++ .../refs/out_rhel9.gold | 128 +++ .../runtest.sh | 62 ++ .../cancel_leak.c | 154 ++++ .../main.fmf | 18 + .../runtest.sh | 58 ++ .../good.txt | 5 + .../main.fmf | 21 + .../order.tar.gz | Bin 0 -> 677 bytes .../runtest.sh | 62 ++ .../main.fmf | 19 + .../runtest.sh | 90 ++ .../Makefile | 64 ++ .../PURPOSE | 5 + .../libdependtest-1.0.tar.gz | Bin 0 -> 1859 bytes .../main.fmf | 21 + .../runtest.sh | 70 ++ .../main.fmf | 19 + .../runtest.sh | 58 ++ .../testcase.c | 31 + .../gcc_assert_dw2.c | 150 ++++ .../main.fmf | 28 + .../runtest.sh | 113 +++ .../main.fmf | 17 + .../runtest.sh | 70 ++ .../tst-shrink-heap.c | 46 + .../main.fmf | 20 + .../runtest.sh | 65 ++ .../tst-pathconf.c | 60 ++ .../gethostbyname.c | 74 ++ .../main.fmf | 19 + .../ns.py | 35 + .../runtest.sh | 118 +++ .../main.fmf | 17 + .../runtest.sh | 59 ++ .../test.c | 46 + .../test_lib.c | 12 + .../main.fmf | 19 + .../runtest.sh | 63 ++ .../tst-__stack_chk_guard.c | 10 + .../main.fmf | 16 + .../runtest.sh | 58 ++ .../tst-getgroups.c | 22 + .../main.fmf | 18 + .../runtest.sh | 57 ++ .../main.fmf | 19 + .../reproducer.c | 40 + .../runtest.sh | 55 ++ .../nscd-should-not-be-in-RHEL10/main.fmf | 15 + .../nscd-should-not-be-in-RHEL10/runtest.sh | 54 ++ tests/Regression/setcontext/main.fmf | 20 + tests/Regression/setcontext/runtest.sh | 55 ++ tests/Regression/setcontext/tst-setcontext.c | 244 ++++++ .../main.fmf | 20 + .../runtest.sh | 51 ++ .../tst-timespec.c | 11 + 553 files changed, 24379 insertions(+) create mode 100644 tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/main.fmf create mode 100755 tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/runtest.sh create mode 100644 tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/main.fmf create mode 100755 tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/runtest.sh create mode 100644 tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/.testinfo.tmt create mode 100644 tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/main.fmf create mode 100755 tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/runtest.sh create mode 100644 tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/main.fmf create mode 100755 tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/runtest.sh create mode 100644 tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/main.fmf create mode 100755 tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/runtest.sh create mode 100644 tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/main.fmf create mode 100755 tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/runtest.sh create mode 100644 tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/main.fmf create mode 100755 tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/runtest.sh create mode 100644 tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/main.fmf create mode 100755 tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/runtest.sh create mode 100644 tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/main.fmf create mode 100755 tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/runtest.sh create mode 100644 tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/main.fmf create mode 100755 tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/runtest.sh create mode 100644 tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/main.fmf create mode 100755 tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/runtest.sh create mode 100644 tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/main.fmf create mode 100755 tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/runtest.sh create mode 100644 tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/main.fmf create mode 100755 tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/runtest.sh create mode 100644 tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/main.fmf create mode 100755 tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/runtest.sh create mode 100644 tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/tst-RHEL-15867.c create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/main.fmf create mode 100755 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/runtest.sh create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-aarch64.script create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-ppc64le.script create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-rhel9.script create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-s390x.script create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-x86_64.script create mode 100644 tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/test.c create mode 100644 tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/main.fmf create mode 100644 tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/rhel-19824.c create mode 100755 tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/runtest.sh create mode 100644 tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/main.fmf create mode 100755 tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/runtest.sh create mode 100644 tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/main.fmf create mode 100755 tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/runtest.sh create mode 100644 tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/main.fmf create mode 100755 tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/runtest.sh create mode 100644 tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/test.c create mode 100644 tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/main.fmf create mode 100755 tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/runtest.sh create mode 100644 tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/tst-getauxval.c create mode 100644 tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/main.fmf create mode 100755 tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/runtest.sh create mode 100644 tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/main.fmf create mode 100755 tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/runtest.sh create mode 100644 tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/main.fmf create mode 100755 tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/runtest.sh create mode 100644 tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/main.fmf create mode 100755 tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/runtest.sh create mode 100644 tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/main.fmf create mode 100755 tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/runtest.sh create mode 100644 tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/test.c create mode 100644 tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/main.fmf create mode 100755 tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/runtest.sh create mode 100644 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.rdns.zone create mode 100644 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.zone create mode 100644 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/main.fmf create mode 100644 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/named.conf create mode 100755 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/runtest.sh create mode 100644 tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/tst-getnameinfo.c create mode 100644 tests/Regression/bz1026533-gettimeofday-segfault/lib-1026533.c create mode 100644 tests/Regression/bz1026533-gettimeofday-segfault/main.fmf create mode 100755 tests/Regression/bz1026533-gettimeofday-segfault/runtest.sh create mode 100644 tests/Regression/bz1026533-gettimeofday-segfault/test-1026533.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/main.fmf create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg1.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg2.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg3.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg4.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg5.c create mode 100644 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg6.c create mode 100755 tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/runtest.sh create mode 100644 tests/Regression/bz1070458-mcount-symbol-missing/main.fmf create mode 100755 tests/Regression/bz1070458-mcount-symbol-missing/runtest.sh create mode 100644 tests/Regression/bz1070458-mcount-symbol-missing/tst-_mcount.c create mode 100644 tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/main.fmf create mode 100755 tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/runtest.sh create mode 100644 tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/tst-WCHAR_limits.c create mode 100644 tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/main.fmf create mode 100755 tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/runtest.sh create mode 100644 tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen-lib.c create mode 100644 tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen.c create mode 100644 tests/Regression/bz1078225-clone-S-missing-CFI-markup/main.fmf create mode 100755 tests/Regression/bz1078225-clone-S-missing-CFI-markup/runtest.sh create mode 100644 tests/Regression/bz1078225-clone-S-missing-CFI-markup/tst-clone-cfi.c create mode 100644 tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/main.fmf create mode 100755 tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/ns.py create mode 100755 tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/runtest.sh create mode 100644 tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/tst-gethostbyX.c create mode 100644 tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/main.fmf create mode 100755 tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/runtest.sh create mode 100644 tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/main.fmf create mode 100755 tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/runtest.sh create mode 100644 tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/simulate-EFAULT.stp create mode 100644 tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/tst-times.c create mode 100644 tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/main.fmf create mode 100755 tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/runtest.sh create mode 100644 tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/tst-confstr.c create mode 100644 tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/auditor.c create mode 100644 tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/main.fmf create mode 100755 tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/runtest.sh create mode 100644 tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/main.fmf create mode 100644 tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/profil01s.c create mode 100755 tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/runtest.sh create mode 100644 tests/Regression/bz1159167-segfault-in-svc_getreq_common/main.fmf create mode 100644 tests/Regression/bz1159167-segfault-in-svc_getreq_common/rpc.c create mode 100755 tests/Regression/bz1159167-segfault-in-svc_getreq_common/runtest.sh create mode 100644 tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/main.fmf create mode 100644 tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/manyLibs.tar.gz create mode 100755 tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/runtest.sh create mode 100644 tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/main.fmf create mode 100755 tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/runtest.sh create mode 100644 tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned.c create mode 100644 tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned_main.c create mode 100644 tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/main.fmf create mode 100644 tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p10 create mode 100644 tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p8 create mode 100644 tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p9 create mode 100755 tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/runtest.sh create mode 100644 tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/__pycache__/ns.cpython-314.pyc create mode 100644 tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/main.fmf create mode 100755 tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/ns.py create mode 100755 tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/runtest.sh create mode 100644 tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/tst-ruserok.c create mode 100644 tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/main.fmf create mode 100755 tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/runtest.sh create mode 100644 tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/tst-TCP_USER_TIMEOUT.c create mode 100644 tests/Regression/bz1223818-gai-conf-ownership-and-attributes/main.fmf create mode 100755 tests/Regression/bz1223818-gai-conf-ownership-and-attributes/runtest.sh create mode 100644 tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/debug_scrpt create mode 100644 tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/main.fmf create mode 100644 tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.c create mode 100644 tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.mk create mode 100755 tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/runtest.sh create mode 100755 tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/compres.pl create mode 100755 tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/create_ifs.pl create mode 100644 tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/getaddr.c create mode 100644 tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/main.fmf create mode 100755 tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/runtest.sh create mode 100644 tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/libc_fork_test.c create mode 100644 tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/main.fmf create mode 100755 tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/runtest.sh create mode 100644 tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.c create mode 100644 tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.fmf create mode 100755 tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/runtest.sh create mode 100644 tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/main.fmf create mode 100755 tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/runtest.sh create mode 100644 tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/test-rh1299319.c create mode 100644 tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/main.fmf create mode 100644 tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/reproduce-helper.c create mode 100755 tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/runtest.sh create mode 100755 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/gen.sh create mode 100644 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/inttypes.txt create mode 100644 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/main.fmf create mode 100755 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/runtest.sh create mode 100644 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint1.txt create mode 100644 tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint2.txt create mode 100644 tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/main.fmf create mode 100644 tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/pagure_tst-search2.tar.gz create mode 100755 tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/runtest.sh create mode 100644 tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/main.fmf create mode 100755 tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/runtest.sh create mode 100644 tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/main.fmf create mode 100755 tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/runtest.sh create mode 100644 tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/main.fmf create mode 100755 tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/runtest.sh create mode 100755 tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/holetester.pl create mode 100644 tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/main.fmf create mode 100755 tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/runtest.sh create mode 100644 tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/tst.c create mode 100644 tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/main.fmf create mode 100755 tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/runtest.sh create mode 100644 tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/tst-thr.c create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/main.fmf create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt_orig create mode 100755 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/runtest.sh create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/swbz21302-repro.c create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt create mode 100644 tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt_orig create mode 100644 tests/Regression/bz1372305-glibc-fopencookie-hardening/ck.c create mode 100644 tests/Regression/bz1372305-glibc-fopencookie-hardening/list.gdb create mode 100644 tests/Regression/bz1372305-glibc-fopencookie-hardening/main.fmf create mode 100755 tests/Regression/bz1372305-glibc-fopencookie-hardening/runtest.sh create mode 100644 tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/main.fmf create mode 100644 tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/msgfopen_test.c create mode 100755 tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/runtest.sh create mode 100644 tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/main.fmf create mode 100644 tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/power_results create mode 100644 tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powreal.txt create mode 100644 tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powtest.c create mode 100755 tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/runtest.sh create mode 100644 tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/af_vsock_test.c create mode 100644 tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/main.fmf create mode 100755 tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/runtest.sh create mode 100644 tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/main.fmf create mode 100755 tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/runtest.sh create mode 100644 tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/test-setmntent.c create mode 100644 tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/main.fmf create mode 100755 tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/runtest.sh create mode 100644 tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/tst-rand.c create mode 100644 tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/main.fmf create mode 100755 tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/runtest.sh create mode 100644 tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/tst-tai.c create mode 100644 tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/bug-ga2.c create mode 100644 tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/main.fmf create mode 100755 tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/runtest.sh create mode 100644 tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/main.fmf create mode 100755 tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/runtest.sh create mode 100644 tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/tst-round.cpp create mode 100644 tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/list.gdb create mode 100644 tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/main.fmf create mode 100755 tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/runtest.sh create mode 100644 tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/t.c create mode 100644 tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/tlb.c create mode 100755 tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/loop-add-del-link_bz1472832.sh create mode 100644 tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/main.fmf create mode 100755 tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/runtest.sh create mode 100644 tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/tester.c create mode 100644 tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/main.fmf create mode 100755 tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/runtest.sh create mode 100644 tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/tst-dl.c create mode 100644 tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/main.fmf create mode 100755 tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/runtest.sh create mode 100644 tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/tst-getaddr.c create mode 100644 tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/main.fmf create mode 100755 tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/runtest.sh create mode 100644 tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/main.fmf create mode 100755 tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/runtest.sh create mode 100644 tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/tst-getauxval.c create mode 100644 tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/main.fmf create mode 100755 tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/runtest.sh create mode 100644 tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/main.fmf create mode 100755 tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/runtest.sh create mode 100644 tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/main.fmf create mode 100755 tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/runtest.sh create mode 100644 tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/tst-sem_open.c create mode 100644 tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/example.c create mode 100644 tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/main.fmf create mode 100755 tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/runtest.sh create mode 100644 tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/main.fmf create mode 100755 tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/runtest.sh create mode 100644 tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/subsh.sh create mode 100644 tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/audit.c create mode 100644 tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/main.fmf create mode 100755 tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/runtest.sh create mode 100644 tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/test.c create mode 100644 tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/main.fmf create mode 100755 tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/runtest.sh create mode 100644 tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/main.fmf create mode 100755 tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/runtest.sh create mode 100644 tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pread.c create mode 100644 tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pwrite.c create mode 100644 tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/main.fmf create mode 100644 tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/origin_kl create mode 100755 tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/runtest.sh create mode 100644 tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/main.fmf create mode 100755 tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/runtest.sh create mode 100644 tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/main.fmf create mode 100755 tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/runtest.sh create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/main.fmf create mode 100755 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/runtest.sh create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_record_failure.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_test_main.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/temp_file-internal.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/write_message.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setdetachstate.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setguardsize.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setstacksize.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_wait.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_setpshared.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cancel.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_check_return.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cond_wait.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_create.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_detach.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_join.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_consistent.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_lock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_unlock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setprotocol.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setpshared.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setrobust.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_settype.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_once.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_destroy.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_rdlock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_unlock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_wrlock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_init.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_setkind_np.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_sigmask.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_lock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_unlock.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xthread.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xunistd.h create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xwrite.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-tryrdlock-stall.c create mode 100644 tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-trywrlock-stall.c create mode 100644 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/audit.c create mode 100755 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/gen.sh create mode 100644 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/main.fmf create mode 100755 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/runtest.sh create mode 100644 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/targlib.c create mode 100644 tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/tst-audit.c create mode 100644 tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/main.fmf create mode 100644 tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/repr.c create mode 100755 tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/runtest.sh create mode 100644 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/hello.c create mode 100644 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb create mode 100644 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel10 create mode 100644 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel9 create mode 100644 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/main.fmf create mode 100755 tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/runtest.sh create mode 100644 tests/Regression/bz1670043-glibc-libresolv-should-use/main.fmf create mode 100644 tests/Regression/bz1670043-glibc-libresolv-should-use/repr.c create mode 100755 tests/Regression/bz1670043-glibc-libresolv-should-use/runtest.sh create mode 100644 tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/main.fmf create mode 100755 tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/runtest.sh create mode 100644 tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/tst-pmtudisc.c create mode 100644 tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/main.fmf create mode 100755 tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/runtest.sh create mode 100644 tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/subsh.sh create mode 100644 tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/main.fmf create mode 100755 tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/runtest.sh create mode 100644 tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/tst-socket.c create mode 100644 tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/main.fmf create mode 100755 tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/runtest.sh create mode 100644 tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/tst.c create mode 100644 tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/main.fmf create mode 100755 tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/runtest.sh create mode 100644 tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/t.c create mode 100644 tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/m1.stp create mode 100644 tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/main.fmf create mode 100755 tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/runtest.sh create mode 100644 tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/t.c create mode 100755 tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/trigger.sh create mode 100644 tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/main.fmf create mode 100755 tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/runtest.sh create mode 100644 tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/t.c create mode 100644 tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/main.fmf create mode 100644 tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/mtrace_test.c create mode 100755 tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/runtest.sh create mode 100644 tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/inf-test.c create mode 100644 tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/main.fmf create mode 100755 tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/runtest.sh create mode 100644 tests/Regression/bz1784519-glibc-string-h-Define/1.cpp create mode 100644 tests/Regression/bz1784519-glibc-string-h-Define/main.fmf create mode 100755 tests/Regression/bz1784519-glibc-string-h-Define/runtest.sh create mode 100644 tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.be.gz create mode 100644 tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.le.gz create mode 100644 tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/main.fmf create mode 100755 tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/runtest.sh create mode 100644 tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.cc create mode 100644 tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.fmf create mode 100755 tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/runtest.sh create mode 100644 tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/shared.c create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/main.fmf create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/nsconf create mode 100755 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/runtest.sh create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grgid.c create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grnam.c create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-pwnam.c create mode 100644 tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-spnam.c create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/main.fmf create mode 100755 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/runtest.sh create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733.c create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp_fix create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz27052.c create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/fms.c create mode 100644 tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/uaf.c create mode 100644 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/main.fmf create mode 100755 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/runtest.sh create mode 100644 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/trawmemchr.c create mode 100644 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstpcpy.c create mode 100644 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrcpy.c create mode 100644 tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrlen.c create mode 100644 tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/hang.c create mode 100644 tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/main.fmf create mode 100755 tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/runtest.sh create mode 100644 tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/.testinfo.tmt create mode 100644 tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/main.fmf create mode 100755 tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/runtest.sh create mode 100644 tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/main.fmf create mode 100755 tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/runtest.sh create mode 100644 tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/main.fmf create mode 100755 tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/runtest.sh create mode 100644 tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/tst-isnanl.c create mode 100644 tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/main.fmf create mode 100644 tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/reproducer.tar.gz create mode 100755 tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/runtest.sh create mode 100644 tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/main.fmf create mode 100755 tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/runtest.sh create mode 100644 tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/test.c create mode 100644 tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/main.fmf create mode 100755 tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/runtest.sh create mode 100644 tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/main.fmf create mode 100755 tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/runtest.sh create mode 100644 tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/test.c create mode 100644 tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/main.fmf create mode 100755 tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/runtest.sh create mode 100644 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/main.fmf create mode 100755 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/runtest.sh create mode 100644 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/Makefile create mode 100644 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/main.cpp create mode 100644 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls1.cpp create mode 100644 tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls2.cpp create mode 100644 tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/main.fmf create mode 100755 tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/runtest.sh create mode 100644 tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/test.c create mode 100644 tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/main.fmf create mode 100755 tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/runtest.sh create mode 100644 tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/test.c create mode 100644 tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/main.fmf create mode 100755 tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/runtest.sh create mode 100644 tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/main.fmf create mode 100755 tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/runtest.sh create mode 100644 tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/tempnam.cpp create mode 100644 tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/main.fmf create mode 100755 tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/runtest.sh create mode 100644 tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/test.c create mode 100644 tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/main.fmf create mode 100755 tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/runtest.sh create mode 100644 tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/test-setlocale-with-locale-a.c create mode 100644 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/ipc64_header.h create mode 100644 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/main.fmf create mode 100755 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/runtest.sh create mode 100644 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-msgctl.c create mode 100644 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-semctl.c create mode 100644 tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-shmctl.c create mode 100644 tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/bz2183081.cpp create mode 100644 tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/main.fmf create mode 100755 tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/runtest.sh create mode 100644 tests/Regression/bz437571-vfork-execvp-memleak/execvp-leak.c create mode 100644 tests/Regression/bz437571-vfork-execvp-memleak/main.fmf create mode 100755 tests/Regression/bz437571-vfork-execvp-memleak/runtest.sh create mode 100644 tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/main.fmf create mode 100755 tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/runtest.sh create mode 100644 tests/Regression/bz491995-race-condition-with-seteuid/main.fmf create mode 100755 tests/Regression/bz491995-race-condition-with-seteuid/runtest.sh create mode 100644 tests/Regression/bz491995-race-condition-with-seteuid/thrbug-simplified.c create mode 100644 tests/Regression/bz552960-Possible-deadlock-in/Makefile.at create mode 100644 tests/Regression/bz552960-Possible-deadlock-in/fubug.c create mode 100644 tests/Regression/bz552960-Possible-deadlock-in/main.fmf create mode 100755 tests/Regression/bz552960-Possible-deadlock-in/runtest.sh create mode 100644 tests/Regression/bz559974-glibc-alloca-problem-in-setenv/alloca1.c create mode 100644 tests/Regression/bz559974-glibc-alloca-problem-in-setenv/main.fmf create mode 100755 tests/Regression/bz559974-glibc-alloca-problem-in-setenv/runtest.sh create mode 100644 tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/golden.output create mode 100644 tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/main.fmf create mode 100644 tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/repro.c create mode 100755 tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/runtest.sh create mode 100644 tests/Regression/bz593396-invalid-fastbin-entry-free/main.fmf create mode 100755 tests/Regression/bz593396-invalid-fastbin-entry-free/runtest.sh create mode 100644 tests/Regression/bz593396-invalid-fastbin-entry-free/test.cpp create mode 100644 tests/Regression/bz593396-invalid-fastbin-entry-free/test2.cpp create mode 100644 tests/Regression/bz607010-memset-fails-to-fully-zero-memory/main.fmf create mode 100644 tests/Regression/bz607010-memset-fails-to-fully-zero-memory/memsetter.c create mode 100644 tests/Regression/bz607010-memset-fails-to-fully-zero-memory/powerline.c create mode 100755 tests/Regression/bz607010-memset-fails-to-fully-zero-memory/runtest.sh create mode 100644 tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/main.fmf create mode 100755 tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/runtest.sh create mode 100644 tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/main.fmf create mode 100755 tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/runtest.sh create mode 100644 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/main.fmf create mode 100755 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/numeric.sh create mode 100644 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel10.gold create mode 100644 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel7.gold create mode 100644 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel8.gold create mode 100644 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel9.gold create mode 100755 tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/runtest.sh create mode 100644 tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/cancel_leak.c create mode 100644 tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/main.fmf create mode 100755 tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/runtest.sh create mode 100644 tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/good.txt create mode 100644 tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/main.fmf create mode 100644 tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/order.tar.gz create mode 100755 tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/runtest.sh create mode 100644 tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/main.fmf create mode 100755 tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/runtest.sh create mode 100644 tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/Makefile create mode 100644 tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/PURPOSE create mode 100644 tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/libdependtest-1.0.tar.gz create mode 100644 tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/main.fmf create mode 100755 tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/runtest.sh create mode 100644 tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/main.fmf create mode 100755 tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/runtest.sh create mode 100644 tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/testcase.c create mode 100644 tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/gcc_assert_dw2.c create mode 100644 tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/main.fmf create mode 100755 tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/runtest.sh create mode 100644 tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/main.fmf create mode 100755 tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/runtest.sh create mode 100644 tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/tst-shrink-heap.c create mode 100644 tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/main.fmf create mode 100755 tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/runtest.sh create mode 100644 tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/tst-pathconf.c create mode 100644 tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/gethostbyname.c create mode 100644 tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/main.fmf create mode 100755 tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/ns.py create mode 100755 tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/runtest.sh create mode 100644 tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/main.fmf create mode 100755 tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/runtest.sh create mode 100644 tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test.c create mode 100644 tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test_lib.c create mode 100644 tests/Regression/bz983327-stack-protector-functionality/main.fmf create mode 100755 tests/Regression/bz983327-stack-protector-functionality/runtest.sh create mode 100644 tests/Regression/bz983327-stack-protector-functionality/tst-__stack_chk_guard.c create mode 100644 tests/Regression/bz995207-getgroup-crashes-on-negative-size/main.fmf create mode 100755 tests/Regression/bz995207-getgroup-crashes-on-negative-size/runtest.sh create mode 100644 tests/Regression/bz995207-getgroup-crashes-on-negative-size/tst-getgroups.c create mode 100644 tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/main.fmf create mode 100755 tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/runtest.sh create mode 100644 tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/main.fmf create mode 100644 tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/reproducer.c create mode 100755 tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/runtest.sh create mode 100644 tests/Regression/nscd-should-not-be-in-RHEL10/main.fmf create mode 100755 tests/Regression/nscd-should-not-be-in-RHEL10/runtest.sh create mode 100644 tests/Regression/setcontext/main.fmf create mode 100755 tests/Regression/setcontext/runtest.sh create mode 100644 tests/Regression/setcontext/tst-setcontext.c create mode 100644 tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/main.fmf create mode 100755 tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/runtest.sh create mode 100644 tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/tst-timespec.c diff --git a/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/main.fmf b/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/main.fmf new file mode 100644 index 0000000..4e4235a --- /dev/null +++ b/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/main.fmf @@ -0,0 +1,18 @@ +summary: Test for RHEL-12894 (Add /usr/share/doc/glibc/gai.conf to glibc-doc) +description: '' +adjust: + - enabled: false + when: distro < rhel-8.10 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.4 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-doc +duration: 5m +extra-summary: /tools/glibc/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc +extra-task: /tools/glibc/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc diff --git a/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/runtest.sh b/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/runtest.sh new file mode 100755 index 0000000..3705ce2 --- /dev/null +++ b/tests/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc/runtest.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/Add-usr-share-doc-glibc-gai-conf-to-glibc-doc +# Description: Test for RHEL-12894 (Add /usr/share/doc/glibc/gai.conf to glibc-doc) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm ${PACKAGE} + rlAssertRpm ${PACKAGE}-doc + rlPhaseEnd + + rlPhaseStartTest + rlAssertExists "/usr/share/doc/glibc/gai.conf" + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/main.fmf b/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/main.fmf new file mode 100644 index 0000000..d45d939 --- /dev/null +++ b/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/main.fmf @@ -0,0 +1,27 @@ +summary: | + Test for RHEL-102553 (glibc: glibc-locale-source needs gzip due to compressed charmaps) +description: | + Despite glibc-locale-source package being installed, localedef fails to find + ANSI_X3.4-1968.gz and UTF-8.gz as it looks for the bz2 compressed files. +contact: Martin Coufal +component: + - glibc +adjust: + - enabled: false + when: distro < rhel-9.8 + - enabled: false + when: distro == rhel-10 and distro < rhel-10.2 +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-locale-source + - gzip +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-102553 +extra-summary: + /tools/glibc/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency +extra-task: + /tools/glibc/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency +id: e102e56c-2187-44de-8243-24c0c9801a58 diff --git a/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/runtest.sh b/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/runtest.sh new file mode 100755 index 0000000..a64c2a9 --- /dev/null +++ b/tests/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-102553-glibc-locale-source-needs-gzip-dependency +# Description: Test for RHEL-102553 (glibc: glibc-locale-source needs gzip due to compressed charmaps) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm glibc-locale-source + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + # Check if gzip is listed in dependencies + rlRun "rpm -qR glibc-locale-source | tee glibc-locale-source-deps.txt" + rlAssertGrep "gzip" glibc-locale-source-deps.txt + + # Check if gzip is available on the system (should be if dependency works) + rlAssertRpm gzip + + # Check for the UTF-8 and ANSI_X3.4-1968 charmaps + rlAssertExists "/usr/share/i18n/charmaps/UTF-8.gz" + rlAssertExists "/usr/share/i18n/charmaps/ANSI_X3.4-1968.gz" + + rlRun -l "localedef -c -i en_US -f UTF-8 test_en_US.UTF-8" 0 "localedef should work with UTF-8 charmap" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -rf $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd + +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/.testinfo.tmt b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/.testinfo.tmt new file mode 100644 index 0000000..30410b7 --- /dev/null +++ b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/.testinfo.tmt @@ -0,0 +1,9 @@ +Description: glibc Build glibc32 from the main glibc package +Owner: Martin Coufal +RunFor: glibc +RunTest: ./runtest.sh +Path: /mnt/tests/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package +RhtsRequires: library(distribution/RpmSnapshot) +Requires: git +Requires: +TestTime: 5m diff --git a/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/main.fmf b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/main.fmf new file mode 100644 index 0000000..d61b60c --- /dev/null +++ b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/main.fmf @@ -0,0 +1,25 @@ +summary: glibc Build glibc32 from the main glibc package +description: | + Test for RHEL-106470 (glibc: Build glibc32 from the main glibc package). +contact: Martin Coufal +adjust: + - enabled: false + when: arch != x86_64 + - enabled: false + when: distro < rhel-9.7 +component: + - glibc +test: ./runtest.sh +tag: + - buildroot +framework: beakerlib +require: + - library(distribution/RpmSnapshot) + - git +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-106470 +extra-summary: + /tools/glibc/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package +extra-task: + /tools/glibc/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package diff --git a/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/runtest.sh b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/runtest.sh new file mode 100755 index 0000000..49a3027 --- /dev/null +++ b/tests/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-106470-glibc-build-glibc32-from-the-main-glibc-package +# Description: Test for RHEL-106470 (glibc: Build glibc32 from the main glibc package). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlImport distribution/RpmSnapshot || rlFail rlImport + RpmSnapshotCreate + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "dnf -y install glibc32 --allowerasing" + rlAssertRpm "glibc32" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + RpmSnapshotRevert "$RPM_SNAPSHOT" + RpmSnapshotDiscard "$RPM_SNAPSHOT" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/main.fmf b/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/main.fmf new file mode 100644 index 0000000..88cc79b --- /dev/null +++ b/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/main.fmf @@ -0,0 +1,25 @@ +summary: enhance ld.so --list-diagnostics on aarch64 similar to x86_64 +description: | + Test for RHEL-107540 (enhance ld.so --list-diagnostics on aarch64 similar + to x86_64). +contact: Martin Coufal +adjust: + - enabled: false + when: distro < rhel-9.5 + - enabled: false + when: distro == rhel-10 and distro < rhel-10.1 + - enabled: false + when: arch = ppc64le +component: + - glibc +test: ./runtest.sh +framework: beakerlib +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-107540 + - relates: https://issues.redhat.com/browse/RHEL-22165 +extra-summary: | + /tools/glibc/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64 +extra-task: | + /tools/glibc/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64 +id: abdf73f3-db27-455f-8317-24357270ddfa diff --git a/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/runtest.sh b/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/runtest.sh new file mode 100755 index 0000000..c5258c4 --- /dev/null +++ b/tests/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-107540-enhance-ld-so-list-diagnostics-on-aarch64-similar-to-x86-64 +# Description: Test for RHEL-107540 (enhance ld.so --list-diagnostics on aarch64 similar to x86_64). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "ld.so --list-diagnostics > diagnostics.out" + rlAssertGrep "cpu_features" diagnostics.out + rlLogInfo "cpu_features:\n$(cat diagnostics.out | grep cpu_features)" + if [ "$(uname -m)" = "aarch64" ] + then + rlAssertGrep "aarch64\.cpu_features\.midr_el1=" diagnostics.out + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/main.fmf b/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/main.fmf new file mode 100644 index 0000000..acdccb7 --- /dev/null +++ b/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/main.fmf @@ -0,0 +1,24 @@ +summary: glibc Add definition of _dl_find_object to libc.a +description: | + Test for RHEL-107564 (glibc: Add definition of _dl_find_object to libc.a). +contact: Martin Coufal +adjust: + - enabled: false + when: distro < rhel-9.7 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-static + - gcc + - binutils +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-107564 +extra-summary: + /tools/glibc/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a +extra-task: + /tools/glibc/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a +id: f7e1a4fa-8b17-43aa-af32-634ac8f2574d diff --git a/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/runtest.sh b/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/runtest.sh new file mode 100755 index 0000000..a5639a4 --- /dev/null +++ b/tests/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-107564-glibc-add-definition-of-dl-find-object-to-libc-a +# Description: Test for RHEL-107564 (glibc: Add definition of _dl_find_object to libc.a). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlAssertRpm "glibc-static" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "nm $(gcc --print-file-name=libc.a) 2> /dev/null | grep dl_find_object 1> log" + # grep for exact match: 'T _dl_find_object' (symbol in the text section, + # no _init, _update or other suffixes) + rlRun "grep -E '[tT][[:space:]]+_dl_find_object$' log" + rlLogInfo "log:\n$(cat log)" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/main.fmf b/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/main.fmf new file mode 100644 index 0000000..0cb3e4e --- /dev/null +++ b/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/main.fmf @@ -0,0 +1,24 @@ +summary: Provide GLIBC_ABI_DT_X86_64_PLT symbol version +description: | + Test for RHEL-109621 (Provide GLIBC_ABI_DT_X86_64_PLT symbol version). +contact: Martin Coufal +adjust: + - enabled: false + when: distro < rhel-9.7 + - enabled: false + when: arch != x86_64 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - binutils +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-109621 + - relates: https://issues.redhat.com/browse/RHEL-109622 +extra-summary: | + /tools/glibc/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version +extra-task: | + /tools/glibc/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version diff --git a/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/runtest.sh b/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/runtest.sh new file mode 100755 index 0000000..eebb7a1 --- /dev/null +++ b/tests/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version/runtest.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-109621-provide-glibc-abi-dt-x86-64-plt-symbol-version +# Description: Test for RHEL-109621 (Provide GLIBC_ABI_DT_X86_64_PLT symbol version). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlRun "LIBCSO=$(readlink -f /lib64/libc.so.6)" + rlPhaseEnd + + rlPhaseStartTest + rlRun "readelf -V -W \"$LIBCSO\" > readelf.out" + rlAssertGrep "GLIBC_ABI_DT_X86_64_PLT" readelf.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/main.fmf b/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/main.fmf new file mode 100644 index 0000000..1505268 --- /dev/null +++ b/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/main.fmf @@ -0,0 +1,23 @@ +summary: Provide Add GLIBC_ABI_GNU2_TLS symbol version +description: | + Test for RHEL-109625 (Provide Add GLIBC_ABI_GNU2_TLS symbol version). +contact: Martin Coufal +adjust: + - enabled: false + when: distro < rhel-10 + - enabled: false + when: arch != x86_64 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - binutils +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-109625 +extra-summary: | + /tools/glibc/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version +extra-task: | + /tools/glibc/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version diff --git a/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/runtest.sh b/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/runtest.sh new file mode 100755 index 0000000..56c8259 --- /dev/null +++ b/tests/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version/runtest.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-109625-provide-add-glibc-abi-gnu2-tls-symbol-version +# Description: Test for RHEL-109625 (Provide Add GLIBC_ABI_GNU2_TLS symbol version). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2025 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlRun "LIBCSO=$(readlink -f /lib64/libc.so.6)" + rlPhaseEnd + + rlPhaseStartTest + rlRun "readelf -V -W \"$LIBCSO\" > readelf.out" + rlAssertGrep "GLIBC_ABI_GNU2_TLS" readelf.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/main.fmf b/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/main.fmf new file mode 100644 index 0000000..0701b77 --- /dev/null +++ b/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/main.fmf @@ -0,0 +1,21 @@ +summary: Improve the documentation of the Thread APIs included in the safety scope +description: | + Test for RHEL-119437 (Improve the documentation of the Thread APIs included in the safety scope). +contact: Martin Coufal +component: + - glibc +adjust: + - when: distro < rhel-9 + enabled: false +test: ./runtest.sh +framework: beakerlib +require: + - glibc-doc +duration: 10m +link: + - relates: https://issues.redhat.com/browse/RHEL-119437 +extra-summary: | + /tools/glibc/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope +extra-task: | + /tools/glibc/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope +id: 93dd5060-f23f-4744-937f-254b4807bd27 diff --git a/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/runtest.sh b/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/runtest.sh new file mode 100755 index 0000000..d18bef3 --- /dev/null +++ b/tests/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope/runtest.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-119437-improve-the-documentation-of-the-thread-apis-included-in-the-safety-scope +# Description: Test for RHEL-119437 (Improve the documentation of the Thread APIs included in the safety scope). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +INFO_DIR="/usr/share/info" + +# functions/macros to check +FUNCTIONS=( + sched_getcpu sched_setattr sched_getattr + pthread_attr_destroy pthread_attr_getaffinity_np pthread_attr_getdetachstate + pthread_attr_init pthread_attr_setaffinity_np pthread_attr_setdetachstate + pthread_create pthread_detach pthread_equal pthread_getcpuclockid + pthread_join pthread_self pthread_setname_np pthread_once pthread_sigmask + pthread_getaffinity_np pthread_getname_np pthread_setaffinity_np + pthread_mutex_clocklock pthread_mutex_destroy pthread_mutex_init + pthread_mutex_lock pthread_mutex_timedlock pthread_mutex_trylock + pthread_mutex_unlock pthread_mutexattr_destroy pthread_mutexattr_gettype + pthread_mutexattr_init pthread_mutexattr_settype + pthread_barrier_init pthread_barrier_destroy pthread_barrier_wait + pthread_spin_init pthread_spin_destroy pthread_spin_lock + pthread_spin_trylock pthread_spin_unlock + CPU_ZERO CPU_SET CPU_CLR CPU_ISSET CPU_COUNT CPU_AND CPU_OR CPU_XOR CPU_EQUAL CPU_SETSIZE + pthread_clockjoin_np pthread_tryjoin_np pthread_timedjoin_np + sched_yield sched_setaffinity sched_getaffinity +) + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest "Check pthread/sched APIs in glibc manual" + # Extract glibc manual (info) to a temp file + rlRun "zcat ${INFO_DIR}/libc.info*.gz > $TmpDir/libc_info.txt" 0 "Extract glibc manual from ${INFO_DIR}" + rlAssertExists "$TmpDir/libc_info.txt" + + # Check each pthread/sched API is documented (Function or Macro in info format) + for func in "${FUNCTIONS[@]}"; do + rlRun "grep -qE \"^[[:space:]]*-- (Function|Macro):.*[[:space:]]${func}[[:space:]]?(\(|$)\" $TmpDir/libc_info.txt" 0 "pthread/sched API '$func' is documented in glibc manual" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/main.fmf b/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/main.fmf new file mode 100644 index 0000000..3d1e8c0 --- /dev/null +++ b/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/main.fmf @@ -0,0 +1,25 @@ +summary: glibc Locale updates for Bulgaria joining the Euro +description: | + Test for RHEL-137184 (glibc: Locale updates for Bulgaria joining the Euro) +contact: Martin Coufal +adjust: + - enabled: false + when: distro < rhel-8.10 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.8 + - enabled: false + when: distro == rhel-10 and distro < rhel-10.2 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-langpack-bg +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-137184 +extra-summary: | + /tools/glibc/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro +extra-task: | + /tools/glibc/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro diff --git a/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/runtest.sh b/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/runtest.sh new file mode 100755 index 0000000..df6f359 --- /dev/null +++ b/tests/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro/runtest.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-137184-glibc-locale-updates-for-bulgaria-joining-the-euro +# Description: Test for RHEL-137184 (glibc: Locale updates for Bulgaria joining the Euro) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlAssertEquals "Expected 'currency_symbol' is '€'" "$(LANG=bg_BG.UTF-8 locale currency_symbol)" "€" + rlAssertEquals "Expected 'int_curr_symbol' is 'EUR'" "$(LANG=bg_BG.UTF-8 locale int_curr_symbol)" "EUR " + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/main.fmf b/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/main.fmf new file mode 100644 index 0000000..58684a0 --- /dev/null +++ b/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/main.fmf @@ -0,0 +1,19 @@ +summary: 'Test for RHEL-13720 (glibc: ldconfig should skip temporary files created + by RPM).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.10 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - nftables +duration: 10m +extra-summary: + /tools/glibc/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM +extra-task: + /tools/glibc/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM diff --git a/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/runtest.sh b/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/runtest.sh new file mode 100755 index 0000000..b263072 --- /dev/null +++ b/tests/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-13720-glibc-ldconfig-should-skip-temporary-files-created-by-RPM +# Description: Test for RHEL-13720 (glibc: ldconfig should skip temporary files created by RPM). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +SKIPPABLE_DSO_NAMES="libnftables.so.#prelink# libnftables.so.#prelink#.ABC123 libnftables.so;13720 libnftables.so.dpkg-new libnftables.so.dpkg-tmp" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "cp /usr/lib64/libnftables.so.*.* $TmpDir" + rlRun "truncate -s 163840 $TmpDir/libnftables.so.*.*" + for name in $SKIPPABLE_DSO_NAMES; do + rlRun "mv $TmpDir/libnftables.so* '$TmpDir/$name'" + rlRun -l "ldconfig -v -n $TmpDir/" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/main.fmf b/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/main.fmf new file mode 100644 index 0000000..a65f25b --- /dev/null +++ b/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/main.fmf @@ -0,0 +1,28 @@ +summary: glibc Update locales for Croatia to use EUR as currency symbol +description: | + Test for RHEL-140103 (glibc: Update locales for Croatia to use EUR as currency symbol) +contact: Martin Coufal +adjust: + # bug fixed in rhel-8.10 z-stream + - enabled: false + when: distro < rhel-8.10 + + - enabled: false + when: distro == rhel-9 and distro < rhel-9.8 + + - enabled: false + when: distro == rhel-10 and distro < rhel-10.2 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-langpack-hr +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-140103 +extra-summary: | + /tools/glibc/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol +extra-task: | + /tools/glibc/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol diff --git a/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/runtest.sh b/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/runtest.sh new file mode 100755 index 0000000..57ef961 --- /dev/null +++ b/tests/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol/runtest.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-140103-glibc-update-locales-for-croatia-to-use-eur-as-currency-symbol +# Description: Test for RHEL-140103 (glibc: Update locales for Croatia to use EUR as currency symbol) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlPhaseEnd + + rlPhaseStartTest + rlAssertEquals "Expected 'currency_symbol' is '€'" "$(LANG=hr_HR.UTF-8 locale currency_symbol)" "€" + rlAssertEquals "Expected 'int_curr_symbol' is 'EUR'" "$(LANG=hr_HR.UTF-8 locale int_curr_symbol)" "EUR " + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/main.fmf b/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/main.fmf new file mode 100644 index 0000000..32a32ae --- /dev/null +++ b/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/main.fmf @@ -0,0 +1,25 @@ +summary: RHEL-141922 glibc Remove trailing tabs from changelog lines +description: | + Test for RHEL-141922 (glibc: Remove trailing tabs from changelog lines) +adjust: + - enabled: false + when: distro < rhel-9.8 + continue: true + - enabled: false + when: distro == rhel-10 and distro < rhel-10.1 + continue: true +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-141922 + - relates: https://redhat.atlassian.net/browse/RHEL-140226 +extra-summary: | + /tools/glibc/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines +extra-task: | + /tools/glibc/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines diff --git a/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/runtest.sh b/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/runtest.sh new file mode 100755 index 0000000..0520b50 --- /dev/null +++ b/tests/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines/runtest.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-141922-glibc-remove-trailing-tabs-from-changelog-lines +# Description: Test for RHEL-141922 (glibc: Remove trailing tabs from changelog lines) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlPhaseEnd + + rlPhaseStartTest + # no tabs should be present in RPM changelog + rlRun "rpm -q --changelog glibc | grep -P '\t'" 1 + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/main.fmf b/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/main.fmf new file mode 100644 index 0000000..315049c --- /dev/null +++ b/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/main.fmf @@ -0,0 +1,17 @@ +summary: glibc Remove default value for LD_PROFILE_OUTPUT +description: | + Test for RHEL-142197 (glibc: Remove default value for LD_PROFILE_OUTPUT) +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-142197 +extra-summary: | + /tools/glibc/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output +extra-task: | + /tools/glibc/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output diff --git a/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/runtest.sh b/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/runtest.sh new file mode 100755 index 0000000..5d31905 --- /dev/null +++ b/tests/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output/runtest.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-142197-glibc-remove-default-value-for-ld-profile-output +# Description: Test for RHEL-142197 (glibc: Remove default value for LD_PROFILE_OUTPUT) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlPhaseEnd + + rlPhaseStartTest + rlRun "LD_PROFILE=libc.so.6 /bin/true" + rlAssertNotExists "/var/tmp/libc.so.6.profile" + rlPhaseEnd + + rlPhaseStartCleanup + if [ -f /var/tmp/libc.so.6.profile ]; then + rlRun "rm -rf /var/tmp/libc.so.6.profile" + fi + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/main.fmf b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/main.fmf new file mode 100644 index 0000000..9ecff0d --- /dev/null +++ b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/main.fmf @@ -0,0 +1,16 @@ +summary: 'Test for RHEL-15867 (glibc: is no longer compatible with C90 + compilers).' +description: '' +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers +extra-task: + /tools/glibc/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers diff --git a/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/runtest.sh b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/runtest.sh new file mode 100755 index 0000000..a8a43c0 --- /dev/null +++ b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers +# Description: Test for RHEL-15867 (glibc: is no longer compatible with C90 compilers). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TEST_NAME="tst-RHEL-15867" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -D_FORTIFY_SOURCE=0 -O ${TEST_NAME}.c -o $TEST_NAME" + rlPhaseEnd + + rlPhaseStartTest + rlAssertExists "$TEST_NAME" + rlRun -l "./$TEST_NAME" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/tst-RHEL-15867.c b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/tst-RHEL-15867.c new file mode 100644 index 0000000..60c686a --- /dev/null +++ b/tests/Regression/RHEL-15867-glibc-sys-cdefs-h-is-no-longer-compatible-with-C90-compilers/tst-RHEL-15867.c @@ -0,0 +1,11 @@ +#include + +int main(int argc, char** argv) { + + #ifdef __glibc_fortify + printf("ERROR: __glibc_fortify is defined! Possible regression (RHEL-15867)\n"); + return(1); + #endif + return(0); + +} diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/main.fmf b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/main.fmf new file mode 100644 index 0000000..c74314e --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/main.fmf @@ -0,0 +1,24 @@ +summary: 'Test for RHEL-19445 (glibc: Report __resolv_context_get memory allocation + failure in getaddrinfo).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.10 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.4 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc + - gdb + - glibc-debuginfo + - glibc-debugsource +duration: 10m +extra-summary: + /tools/glibc/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo +extra-task: + /tools/glibc/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/runtest.sh b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/runtest.sh new file mode 100755 index 0000000..d9c43be --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo +# Description: Test for RHEL-19444, RHEL-19445, RHEL-21239, RHEL-21240 (glibc: Report __resolv_context_get memory allocation failure in getaddrinfo). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTNAME="test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp src/* $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc -g -pthread ${TESTNAME}.c -o $TESTNAME" + rlAssertExists $TESTNAME + if rlIsRHEL ">=9" || rlIsCentOS ">=9" || rlIsFedora + then + rlRun "gdb --batch -x gdb-rhel9.script ./$TESTNAME &> gdb.out" + else + rlRun "gdb --batch -x gdb-$(uname -m).script ./$TESTNAME &> gdb.out" + fi + rlAssertGrep "RHEL-19445:PASS" gdb.out + rlFileSubmit gdb.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-aarch64.script b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-aarch64.script new file mode 100644 index 0000000..887c985 --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-aarch64.script @@ -0,0 +1,17 @@ +set confirm off +set breakpoint pending on +b gaih_inet +r +b __resolv_context_get +c +s +return +n +n +n +n +n +set variable res_ctx=0 +set variable errno=12 +c +q diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-ppc64le.script b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-ppc64le.script new file mode 100644 index 0000000..c9b1ac8 --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-ppc64le.script @@ -0,0 +1,13 @@ +set confirm off +set breakpoint pending on +b gaih_inet +r +b __resolv_context_get +c +s +return +n +set variable res_ctx=0 +set variable errno=12 +c +q diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-rhel9.script b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-rhel9.script new file mode 100644 index 0000000..8a4837d --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-rhel9.script @@ -0,0 +1,10 @@ +set confirm off +set breakpoint pending on +b gaih_inet +b __resolv_context_get +r +set variable errno=12 +return 0 +c +q + diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-s390x.script b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-s390x.script new file mode 100644 index 0000000..212b3db --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-s390x.script @@ -0,0 +1,18 @@ +set confirm off +set breakpoint pending on +b gaih_inet +r +b __resolv_context_get +c +s +return +n +n +n +n +n +n +set variable res_ctx = 0 +set variable errno=12 +c +q diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-x86_64.script b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-x86_64.script new file mode 100644 index 0000000..f385fcf --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/gdb-x86_64.script @@ -0,0 +1,10 @@ +set confirm off +set breakpoint pending on +b gaih_inet +r +b __resolv_context_get +c +return 0 +set variable errno=12 +c +q diff --git a/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/test.c b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/test.c new file mode 100644 index 0000000..870ab46 --- /dev/null +++ b/tests/Regression/RHEL-19445-glibc-Report-__resolv_context_get-memory-allocation-failure-in-getaddrinfo/src/test.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[] ) { + struct addrinfo ai; + struct addrinfo *ailist = NULL; + int ret=0; + memset(&ai, 0, sizeof(ai)); + ai.ai_family = AF_UNSPEC; + ai.ai_flags = AI_ADDRCONFIG; + + ret=getaddrinfo("12.34.56.78.abcd", "0", &ai, &ailist); + if (ret == EAI_MEMORY) { + printf("RHEL-19445:PASS\n"); + } + else { + printf("FAIL: Unexpected: res=%d\nExpected EAI_MEMORY: %d\n", ret, EAI_MEMORY); + } + + freeaddrinfo(ailist); + return 0; +} + diff --git a/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/main.fmf b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/main.fmf new file mode 100644 index 0000000..8c4bb42 --- /dev/null +++ b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/main.fmf @@ -0,0 +1,24 @@ +summary: Test for RHEL-19824 (Slow wide-character stream flush in rhel8 when compared + rhel7) +description: '' +adjust: + - enabled: false + when: distro < rhel-8 + - enabled: false + when: distro == rhel-8 and distro < rhel-8.9 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.4 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - strace + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7 +extra-task: + /tools/glibc/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7 diff --git a/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/rhel-19824.c b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/rhel-19824.c new file mode 100644 index 0000000..4a8069e --- /dev/null +++ b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/rhel-19824.c @@ -0,0 +1,13 @@ +#include +#include +#include +void main(void) +{ + FILE *f; + int i; + setlocale (LC_ALL, "en_US.UTF-8"); + f = fopen("test.txt", "w"); + for (i = 0; i < 1024; i++) + fputws(L"test", f); + fclose(f); +} diff --git a/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/runtest.sh b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/runtest.sh new file mode 100755 index 0000000..072dc5f --- /dev/null +++ b/tests/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-19824-Slow-wide-character-stream-flush-in-rhel8-when-compared-rhel7 +# Description: Test for RHEL-19824 (Slow wide-character stream flush in rhel8 when compared rhel7) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TEST_NAME="rhel-19824" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp $TEST_NAME.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -o $TEST_NAME $TEST_NAME.c" + rlAssertExists $TEST_NAME + rlPhaseEnd + + rlPhaseStartTest + rlRun "strace -o $TEST_NAME.trace ./$TEST_NAME" + rlAssertExists "$TEST_NAME.trace" + rlAssertEquals "Only one write() syscall is expected" $(cat $TEST_NAME.trace | grep 'write' | wc -l) "1" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/main.fmf b/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/main.fmf new file mode 100644 index 0000000..a76d5ad --- /dev/null +++ b/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/main.fmf @@ -0,0 +1,19 @@ +summary: What the test does +description: '' +adjust: + - enabled: false + when: distro < rhel-9.5 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - python + - strace +duration: 10m +extra-summary: + /tools/glibc/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments +extra-task: + /tools/glibc/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments diff --git a/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/runtest.sh b/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/runtest.sh new file mode 100755 index 0000000..13b6ff2 --- /dev/null +++ b/tests/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-21884-malloc-backport-Do-not-use-MAP_NORESERVE-to-allocate-heap-segments +# Description: What the test does +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +MMAPLOG="log" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "strace -f -emmap python -c 'import threading; threading.Thread(None, lambda: 0).start()' 2>&1 |grep mmap >$MMAPLOG" + rlAssertGrep mmap $MMAPLOG + rlAssertNotGrep MAP_NORESERVE $MMAPLOG + rlFileSubmit $MMAPLOG + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/main.fmf b/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/main.fmf new file mode 100644 index 0000000..a24ef4b --- /dev/null +++ b/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/main.fmf @@ -0,0 +1,20 @@ +summary: 'Test for RHEL-21997 (glibc: ld.so --list-diagnostics output does not print + correct cache sizes, thresholds on x86-64).' +description: '' +adjust: + - enabled: false + when: arch != x86_64 + - enabled: false + when: distro < rhel-8.10 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64 +extra-task: + /tools/glibc/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64 diff --git a/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/runtest.sh b/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/runtest.sh new file mode 100755 index 0000000..f810f4c --- /dev/null +++ b/tests/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-21997-glibc-ld-so-list-diagnostics-output-does-not-print-correct-cache-sizes-thresholds-on-x86-64 +# Description: Test for RHEL-21997 (glibc: ld.so --list-diagnostics output does not print correct cache sizes, thresholds on x86-64). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "ld.so --list-diagnostics > diagnostics.out" + rlLogInfo "diagnostics.out:\n$(cat diagnostics.out)" + rlAssertNotEquals "'x86.cpu_features.data_cache_size' should not be zero" "$(cat diagnostics.out | grep 'x86.cpu_features.data_cache_size' | cut -d "=" -f2)" "0x0" + rlAssertNotEquals "'x86.cpu_features.shared_cache_size' should not be zero" "$(cat diagnostics.out | grep 'x86.cpu_features.shared_cache_size' | cut -d "=" -f2)" "0x0" + rlAssertNotEquals "'x86.cpu_features.non_temporal_threshold' should not be zero" "$(cat diagnostics.out | grep 'x86.cpu_features.non_temporal_threshold' | cut -d "=" -f2)" "0x0" + rlAssertNotEquals "'x86.cpu_features.rep_movsb_threshold' should not be zero" "$(cat diagnostics.out | grep 'x86.cpu_features.rep_movsb_threshold' | cut -d "=" -f2)" "0x0" + rlAssertNotEquals "'x86.cpu_features.rep_stosb_threshold' should not be zero" "$(cat diagnostics.out | grep 'x86.cpu_features.rep_stosb_threshold' | cut -d "=" -f2)" "0x0" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/main.fmf b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/main.fmf new file mode 100644 index 0000000..517bb24 --- /dev/null +++ b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/main.fmf @@ -0,0 +1,24 @@ +summary: RHEL-23472 Binaries linked against libcap and libasan crash due to stack + smashing on ppc64le due prctl change in glibc +description: '' +adjust: + - enabled: false + when: distro < rhel-8 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.5 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-devel + - gcc + - libasan + - libcap-devel +duration: 20m +extra-summary: + /tools/glibc/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le +extra-task: + /tools/glibc/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le diff --git a/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/runtest.sh b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/runtest.sh new file mode 100755 index 0000000..69dfebe --- /dev/null +++ b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le +# Description: RHEL-23472 Binaries linked against libcap and libasan crash due to stack smashing on ppc64le due prctl change in glibc +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG -lcap" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlRun -l "gcc ${TESTPROG}.c -o $TESTPROG -lcap -fsanitize=address" + rlRun -l "ulimit -a" + rlRun -l "ulimit -c unlimited" + rlRun -l "ulimit -a" + rlRun -l "ASAN_OPTIONS=madv_dontdump=1:disable_coredump=0 ./test" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/test.c b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/test.c new file mode 100644 index 0000000..87cb3ab --- /dev/null +++ b/tests/Regression/RHEL-23472-Binaries-linked-against-libcap-and-libasan-crash-due-to-stack-smashing-on-ppc64le/test.c @@ -0,0 +1,6 @@ +#include + +int main(void) { + puts("Hello world"); + return 0; +} diff --git a/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/main.fmf b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/main.fmf new file mode 100644 index 0000000..ad0069c --- /dev/null +++ b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/main.fmf @@ -0,0 +1,20 @@ +summary: 'Test for RHEL-24761 (GLIBC: Base enablement support for Power11 platform)' +description: '' +adjust: + - enabled: false + when: arch != ppc64le + - enabled: false + when: distro < rhel-10 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform +extra-task: + /tools/glibc/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform diff --git a/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/runtest.sh b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/runtest.sh new file mode 100755 index 0000000..75508fe --- /dev/null +++ b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform +# Description: Test for RHEL-24761 (GLIBC: Base enablement support for Power11 platform) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-getauxval" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd + diff --git a/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/tst-getauxval.c b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/tst-getauxval.c new file mode 100644 index 0000000..9958835 --- /dev/null +++ b/tests/Regression/RHEL-24761-GLIBC-Base-enablement-support-for-Power11-platform/tst-getauxval.c @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include + +int getauxval_wrap (unsigned long type, char* name) { + unsigned long ret; + errno=0; + ret = getauxval (type); + printf ("%s ret: %lx\n", name, ret); + printf ("%s errno: %d (%s)\n", name, errno, strerror(errno)); + /* This test requires POWER11 and kernel support that is not yet implemented. + * As of now, we expect the return value to be 0 and errno set to ENOENT. + * */ + if (ret != 0 || errno != ENOENT) + return -1; + return 0; +} + +int main (void) { + unsigned long res; + res = getauxval_wrap (AT_HWCAP3, "AT_HWCAP3,"); + res &= getauxval_wrap (AT_HWCAP4, "AT_HWCAP4,"); + return res; +} + diff --git a/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/main.fmf b/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/main.fmf new file mode 100644 index 0000000..6c735d9 --- /dev/null +++ b/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/main.fmf @@ -0,0 +1,22 @@ +summary: + 'Test for RHEL-31523 (glibc: Forward port POWER10 multilib support to RHEL10)' +description: '' +tag: + - power10 +adjust: + - enabled: false + when: distro != rhel-10 + - enabled: false + when: arch != ppc64le +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10 +extra-task: + /tools/glibc/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10 diff --git a/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/runtest.sh b/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/runtest.sh new file mode 100755 index 0000000..de6ed73 --- /dev/null +++ b/tests/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10/runtest.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-31523-glibc-Forward-port-POWER10-multilib-support-to-RHEL10 +# Description: Test for RHEL-31523 (glibc: Forward port POWER10 multilib support to RHEL10) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest + rlAssertExists "/lib64/glibc-hwcaps/power10/libc.so.6" + rlAssertExists "/lib64/glibc-hwcaps/power10/libm.so.6" + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/main.fmf b/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/main.fmf new file mode 100644 index 0000000..2c0e328 --- /dev/null +++ b/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/main.fmf @@ -0,0 +1,21 @@ +summary: + 'Test for RHEL-2283 (glibc: Do not install libc_malloc_debug.so.0 by default)' +enabled: true +description: '' +adjust: + - enabled: false + when: distro < rhel-10 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-utils +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default +extra-task: + /tools/glibc/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default +id: 64212a72-c9c9-42cb-9a55-fc1338fa80db diff --git a/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/runtest.sh b/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/runtest.sh new file mode 100755 index 0000000..ec72cca --- /dev/null +++ b/tests/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default/runtest.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-35602-glibc-Do-not-install-libc_malloc_debug-so-0-by-default +# Description: Test for RHEL-2283 (glibc: Do not install libc_malloc_debug.so.0 by default) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +LIB_MEMUSAGE=$(find /usr/lib64/ -type f -name libmemusage.so) +LIB_MALLOC_DEBUG=$(find /lib64/ -type f -name libc_malloc_debug.so.0) + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + [ -z "$LIB_MEMUSAGE" ] && rlFail "libmemusage.so not found in /usr/lib64/" + [ -z "$LIB_MALLOC_DEBUG" ] && rlFail "libc_malloc_debug.so.0 not found in /lib64/" + rlPhaseEnd + + rlPhaseStartTest + rlRun "rpm -qf $LIB_MEMUSAGE > log" + rlAssertGrep "glibc-utils" log + rlRun "rpm -qf $LIB_MALLOC_DEBUG > log" + rlAssertGrep "glibc-utils" log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/main.fmf b/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/main.fmf new file mode 100644 index 0000000..aed8b3a --- /dev/null +++ b/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/main.fmf @@ -0,0 +1,19 @@ +summary: 'Test for RHEL-41206.' +description: 'glibc: Remove ANSI_X3.110-1983 support from main package' +contact: Martin Coufal +component: + - glibc +adjust: + - enabled: false + when: distro < rhel-9 +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-gconv-extra +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package +extra-task: + /tools/glibc/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package +id: 07796b0f-a593-41f3-8675-c9a27c5141b8 diff --git a/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/runtest.sh b/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/runtest.sh new file mode 100755 index 0000000..16b04e8 --- /dev/null +++ b/tests/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package/runtest.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-41206-glibc-Remove-ANSI_X3-110-1983-support-from-main-package +# Description: Test for RHEL-41206 (glibc: Remove ANSI_X3.110-1983 support from main package). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES="glibc glibc-gconv-extra" + +rlJournalStart + rlPhaseStartSetup + for PACKAGE in $PACKAGES + do + rlAssertRpm $PACKAGE + done + rlPhaseEnd + + rlPhaseStartTest + rlRun "rpm -qf /usr/lib64/gconv/ANSI_X3.110.so | grep glibc-gconv-extra" 0 "Check ANSI_X3.110-1983 support is in correct package." + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/main.fmf b/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/main.fmf new file mode 100644 index 0000000..34abf07 --- /dev/null +++ b/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/main.fmf @@ -0,0 +1,16 @@ +summary: 'Test for RHEL-61392 (glibc: ldconfig auxcache format change without file + magic update).' +description: '' +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc +duration: 5m +extra-summary: + /tools/glibc/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update +extra-task: + /tools/glibc/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update +id: d60ab820-ebf2-4d64-9a3e-77551bcfe616 diff --git a/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/runtest.sh b/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/runtest.sh new file mode 100755 index 0000000..2fb478d --- /dev/null +++ b/tests/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update/runtest.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-61392-glibc-ldconfig-auxcache-format-change-without-file-magic-update +# Description: Test for RHEL-61392 (glibc: ldconfig auxcache format change without file magic update). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "ldconfig &> log" 0 + rlAssertEquals "No output is expected." "$(cat log | wc -l)" "0" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/main.fmf b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/main.fmf new file mode 100644 index 0000000..f7e68fe --- /dev/null +++ b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/main.fmf @@ -0,0 +1,26 @@ +summary: glibc Add the RWF_ATOMIC flag +description: | + Test for RHEL-87645 (glibc: Add the RWF_ATOMIC flag) +contact: Martin Coufal +adjust: + - enabled: false + when: distro >= rhel-10.0 and distro < rhel-10.2 + continue: false + - enabled: false + when: distro < rhel-9.8 + continue: false +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - gcc +duration: 5m +link: + - relates: https://issues.redhat.com/browse/RHEL-87645 +extra-summary: | + /tools/glibc/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag +extra-task: | + /tools/glibc/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag +id: f57b2dc5-9f7c-4a6e-b5f6-e2530636be48 diff --git a/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/runtest.sh b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/runtest.sh new file mode 100755 index 0000000..062ca34 --- /dev/null +++ b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/runtest.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag +# Description: Test for RHEL-87645 (glibc: Add the RWF_ATOMIC flag) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2026 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm "$PACKAGE" + rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp test.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc test.c -o test" 0 "Compile test program" + rlAssertExists test + rlRun -l "./test" 0 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/test.c b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/test.c new file mode 100644 index 0000000..94e8c78 --- /dev/null +++ b/tests/Regression/RHEL-87645-glibc-add-the-rwf-atomic-flag/test.c @@ -0,0 +1,15 @@ +#define _GNU_SOURCE +#include +#include + +int main(void) +{ +#ifdef RWF_ATOMIC + printf("RWF_ATOMIC: 0x%x\n", RWF_ATOMIC); + return 0; +#else + printf("RWF_ATOMIC: not defined\n"); + return 1; +#endif +} + diff --git a/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/main.fmf b/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/main.fmf new file mode 100644 index 0000000..bb0378d --- /dev/null +++ b/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/main.fmf @@ -0,0 +1,17 @@ +summary: Tests that first day of week in Catalan is Monday +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1011900 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - util-linux + - util-linux-ng + - glibc-langpack-ca +duration: 5m +extra-summary: /tools/glibc/Regression/bz1011900-locales-for-Catalan-are-incorrect +extra-task: /tools/glibc/Regression/bz1011900-locales-for-Catalan-are-incorrect diff --git a/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/runtest.sh b/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/runtest.sh new file mode 100755 index 0000000..0e9aac0 --- /dev/null +++ b/tests/Regression/bz1011900-locales-for-Catalan-are-incorrect/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1011900-locales-for-Catalan-are-incorrect +# Description: Tests that first day of week in Catalan is Monday +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="glibc util-linux-ng util-linux" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + if rlIsRHEL 8 + then + rlAssertRpm glibc-langpack-ca + fi + rlRun "rpm -qa | grep util-linux" 0 "Checking for the presence of util-linux-ng or util-linux rpm" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "LC_ALL=ca_ES cal > cal.out" + rlRun "cat cal.out | head -n 2 > cal-header.out" + rlRun "cat cal-header.out | tail -n 1 > cal-weekdays.out" + # In Catalan, the first day of the week should be Monday (dl) + rlAssertGrep "^dl" cal-weekdays.out + # Just to be sure, really. Check that it's NOT Sunday (dg) + rlAssertNotGrep "^dg" cal-weekdays.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.rdns.zone b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.rdns.zone new file mode 100644 index 0000000..46a5d3c --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.rdns.zone @@ -0,0 +1,112 @@ +$ORIGIN 125.126.127.in-addr.arpa. +$TTL 86400 +@ IN SOA ns.foobar.redhat. hostmaster.foobar.redhat. ( + 2014042211 ; Serial Number + 86400 ; Refresh + 7200 ; Retry + 3600000 ; Expire + 86400 ; Minimum +) +; + IN NS ns.foobar.redhat. +; +1 IN PTR some-longish-hostname-1.foobar.redhat. +1 IN PTR some-longish-hostname-2.foobar.redhat. +1 IN PTR some-longish-hostname-3.foobar.redhat. +1 IN PTR some-longish-hostname-4.foobar.redhat. +1 IN PTR some-longish-hostname-5.foobar.redhat. +1 IN PTR some-longish-hostname-6.foobar.redhat. +1 IN PTR some-longish-hostname-7.foobar.redhat. +1 IN PTR some-longish-hostname-8.foobar.redhat. +1 IN PTR some-longish-hostname-9.foobar.redhat. +1 IN PTR some-longish-hostname-10.foobar.redhat. +1 IN PTR some-longish-hostname-11.foobar.redhat. +1 IN PTR some-longish-hostname-12.foobar.redhat. +1 IN PTR some-longish-hostname-13.foobar.redhat. +1 IN PTR some-longish-hostname-14.foobar.redhat. +1 IN PTR some-longish-hostname-15.foobar.redhat. +1 IN PTR some-longish-hostname-16.foobar.redhat. +1 IN PTR some-longish-hostname-17.foobar.redhat. +1 IN PTR some-longish-hostname-18.foobar.redhat. +1 IN PTR some-longish-hostname-19.foobar.redhat. +1 IN PTR some-longish-hostname-20.foobar.redhat. +1 IN PTR some-longish-hostname-21.foobar.redhat. +1 IN PTR some-longish-hostname-22.foobar.redhat. +1 IN PTR some-longish-hostname-23.foobar.redhat. +1 IN PTR some-longish-hostname-24.foobar.redhat. +1 IN PTR some-longish-hostname-25.foobar.redhat. +1 IN PTR some-longish-hostname-26.foobar.redhat. +1 IN PTR some-longish-hostname-27.foobar.redhat. +1 IN PTR some-longish-hostname-28.foobar.redhat. +1 IN PTR some-longish-hostname-29.foobar.redhat. +1 IN PTR some-longish-hostname-30.foobar.redhat. +1 IN PTR some-longish-hostname-31.foobar.redhat. +1 IN PTR some-longish-hostname-32.foobar.redhat. +1 IN PTR some-longish-hostname-33.foobar.redhat. +1 IN PTR some-longish-hostname-34.foobar.redhat. +1 IN PTR some-longish-hostname-35.foobar.redhat. +1 IN PTR some-longish-hostname-36.foobar.redhat. +1 IN PTR some-longish-hostname-37.foobar.redhat. +1 IN PTR some-longish-hostname-38.foobar.redhat. +1 IN PTR some-longish-hostname-39.foobar.redhat. +1 IN PTR some-longish-hostname-40.foobar.redhat. +1 IN PTR some-longish-hostname-41.foobar.redhat. +1 IN PTR some-longish-hostname-42.foobar.redhat. +1 IN PTR some-longish-hostname-43.foobar.redhat. +1 IN PTR some-longish-hostname-44.foobar.redhat. +1 IN PTR some-longish-hostname-45.foobar.redhat. +1 IN PTR some-longish-hostname-46.foobar.redhat. +1 IN PTR some-longish-hostname-47.foobar.redhat. +1 IN PTR some-longish-hostname-48.foobar.redhat. +1 IN PTR some-longish-hostname-49.foobar.redhat. +1 IN PTR some-longish-hostname-50.foobar.redhat. +1 IN PTR some-longish-hostname-51.foobar.redhat. +1 IN PTR some-longish-hostname-52.foobar.redhat. +1 IN PTR some-longish-hostname-53.foobar.redhat. +1 IN PTR some-longish-hostname-54.foobar.redhat. +1 IN PTR some-longish-hostname-55.foobar.redhat. +1 IN PTR some-longish-hostname-56.foobar.redhat. +1 IN PTR some-longish-hostname-57.foobar.redhat. +1 IN PTR some-longish-hostname-58.foobar.redhat. +1 IN PTR some-longish-hostname-59.foobar.redhat. +1 IN PTR some-longish-hostname-60.foobar.redhat. +1 IN PTR some-longish-hostname-61.foobar.redhat. +1 IN PTR some-longish-hostname-62.foobar.redhat. +1 IN PTR some-longish-hostname-63.foobar.redhat. +1 IN PTR some-longish-hostname-64.foobar.redhat. +1 IN PTR some-longish-hostname-65.foobar.redhat. +1 IN PTR some-longish-hostname-66.foobar.redhat. +1 IN PTR some-longish-hostname-67.foobar.redhat. +1 IN PTR some-longish-hostname-68.foobar.redhat. +1 IN PTR some-longish-hostname-69.foobar.redhat. +1 IN PTR some-longish-hostname-70.foobar.redhat. +1 IN PTR some-longish-hostname-71.foobar.redhat. +1 IN PTR some-longish-hostname-72.foobar.redhat. +1 IN PTR some-longish-hostname-73.foobar.redhat. +1 IN PTR some-longish-hostname-74.foobar.redhat. +1 IN PTR some-longish-hostname-75.foobar.redhat. +1 IN PTR some-longish-hostname-76.foobar.redhat. +1 IN PTR some-longish-hostname-77.foobar.redhat. +1 IN PTR some-longish-hostname-78.foobar.redhat. +1 IN PTR some-longish-hostname-79.foobar.redhat. +1 IN PTR some-longish-hostname-80.foobar.redhat. +1 IN PTR some-longish-hostname-81.foobar.redhat. +1 IN PTR some-longish-hostname-82.foobar.redhat. +1 IN PTR some-longish-hostname-83.foobar.redhat. +1 IN PTR some-longish-hostname-84.foobar.redhat. +1 IN PTR some-longish-hostname-85.foobar.redhat. +1 IN PTR some-longish-hostname-86.foobar.redhat. +1 IN PTR some-longish-hostname-87.foobar.redhat. +1 IN PTR some-longish-hostname-88.foobar.redhat. +1 IN PTR some-longish-hostname-89.foobar.redhat. +1 IN PTR some-longish-hostname-90.foobar.redhat. +1 IN PTR some-longish-hostname-91.foobar.redhat. +1 IN PTR some-longish-hostname-92.foobar.redhat. +1 IN PTR some-longish-hostname-93.foobar.redhat. +1 IN PTR some-longish-hostname-94.foobar.redhat. +1 IN PTR some-longish-hostname-95.foobar.redhat. +1 IN PTR some-longish-hostname-96.foobar.redhat. +1 IN PTR some-longish-hostname-97.foobar.redhat. +1 IN PTR some-longish-hostname-98.foobar.redhat. +1 IN PTR some-longish-hostname-99.foobar.redhat. +1 IN PTR some-longish-hostname-100.foobar.redhat. diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.zone b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.zone new file mode 100644 index 0000000..fa2180f --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/foobar.redhat.zone @@ -0,0 +1,114 @@ +$ORIGIN foobar.redhat. +$TTL 86400 +@ IN SOA ns.foobar.redhat. hostmaster.foobar.redhat. ( + 2014042211 ; Serial Number + 86400 ; Refresh + 7200 ; Retry + 3600000 ; Expire + 86400 ; Minimum +) +; + IN NS ns.foobar.redhat. +ns IN A 127.0.0.1 +; + +some-longish-hostname-1 IN A 127.126.125.1 +some-longish-hostname-2 IN A 127.126.125.1 +some-longish-hostname-3 IN A 127.126.125.1 +some-longish-hostname-4 IN A 127.126.125.1 +some-longish-hostname-5 IN A 127.126.125.1 +some-longish-hostname-6 IN A 127.126.125.1 +some-longish-hostname-7 IN A 127.126.125.1 +some-longish-hostname-8 IN A 127.126.125.1 +some-longish-hostname-9 IN A 127.126.125.1 +some-longish-hostname-10 IN A 127.126.125.1 +some-longish-hostname-11 IN A 127.126.125.1 +some-longish-hostname-12 IN A 127.126.125.1 +some-longish-hostname-13 IN A 127.126.125.1 +some-longish-hostname-14 IN A 127.126.125.1 +some-longish-hostname-15 IN A 127.126.125.1 +some-longish-hostname-16 IN A 127.126.125.1 +some-longish-hostname-17 IN A 127.126.125.1 +some-longish-hostname-18 IN A 127.126.125.1 +some-longish-hostname-19 IN A 127.126.125.1 +some-longish-hostname-20 IN A 127.126.125.1 +some-longish-hostname-21 IN A 127.126.125.1 +some-longish-hostname-22 IN A 127.126.125.1 +some-longish-hostname-23 IN A 127.126.125.1 +some-longish-hostname-24 IN A 127.126.125.1 +some-longish-hostname-25 IN A 127.126.125.1 +some-longish-hostname-26 IN A 127.126.125.1 +some-longish-hostname-27 IN A 127.126.125.1 +some-longish-hostname-28 IN A 127.126.125.1 +some-longish-hostname-29 IN A 127.126.125.1 +some-longish-hostname-30 IN A 127.126.125.1 +some-longish-hostname-31 IN A 127.126.125.1 +some-longish-hostname-32 IN A 127.126.125.1 +some-longish-hostname-33 IN A 127.126.125.1 +some-longish-hostname-34 IN A 127.126.125.1 +some-longish-hostname-35 IN A 127.126.125.1 +some-longish-hostname-36 IN A 127.126.125.1 +some-longish-hostname-37 IN A 127.126.125.1 +some-longish-hostname-38 IN A 127.126.125.1 +some-longish-hostname-39 IN A 127.126.125.1 +some-longish-hostname-40 IN A 127.126.125.1 +some-longish-hostname-41 IN A 127.126.125.1 +some-longish-hostname-42 IN A 127.126.125.1 +some-longish-hostname-43 IN A 127.126.125.1 +some-longish-hostname-44 IN A 127.126.125.1 +some-longish-hostname-45 IN A 127.126.125.1 +some-longish-hostname-46 IN A 127.126.125.1 +some-longish-hostname-47 IN A 127.126.125.1 +some-longish-hostname-48 IN A 127.126.125.1 +some-longish-hostname-49 IN A 127.126.125.1 +some-longish-hostname-50 IN A 127.126.125.1 +some-longish-hostname-51 IN A 127.126.125.1 +some-longish-hostname-52 IN A 127.126.125.1 +some-longish-hostname-53 IN A 127.126.125.1 +some-longish-hostname-54 IN A 127.126.125.1 +some-longish-hostname-55 IN A 127.126.125.1 +some-longish-hostname-56 IN A 127.126.125.1 +some-longish-hostname-57 IN A 127.126.125.1 +some-longish-hostname-58 IN A 127.126.125.1 +some-longish-hostname-59 IN A 127.126.125.1 +some-longish-hostname-60 IN A 127.126.125.1 +some-longish-hostname-61 IN A 127.126.125.1 +some-longish-hostname-62 IN A 127.126.125.1 +some-longish-hostname-63 IN A 127.126.125.1 +some-longish-hostname-64 IN A 127.126.125.1 +some-longish-hostname-65 IN A 127.126.125.1 +some-longish-hostname-66 IN A 127.126.125.1 +some-longish-hostname-67 IN A 127.126.125.1 +some-longish-hostname-68 IN A 127.126.125.1 +some-longish-hostname-69 IN A 127.126.125.1 +some-longish-hostname-70 IN A 127.126.125.1 +some-longish-hostname-71 IN A 127.126.125.1 +some-longish-hostname-72 IN A 127.126.125.1 +some-longish-hostname-73 IN A 127.126.125.1 +some-longish-hostname-74 IN A 127.126.125.1 +some-longish-hostname-75 IN A 127.126.125.1 +some-longish-hostname-76 IN A 127.126.125.1 +some-longish-hostname-77 IN A 127.126.125.1 +some-longish-hostname-78 IN A 127.126.125.1 +some-longish-hostname-79 IN A 127.126.125.1 +some-longish-hostname-80 IN A 127.126.125.1 +some-longish-hostname-81 IN A 127.126.125.1 +some-longish-hostname-82 IN A 127.126.125.1 +some-longish-hostname-83 IN A 127.126.125.1 +some-longish-hostname-84 IN A 127.126.125.1 +some-longish-hostname-85 IN A 127.126.125.1 +some-longish-hostname-86 IN A 127.126.125.1 +some-longish-hostname-87 IN A 127.126.125.1 +some-longish-hostname-88 IN A 127.126.125.1 +some-longish-hostname-89 IN A 127.126.125.1 +some-longish-hostname-90 IN A 127.126.125.1 +some-longish-hostname-91 IN A 127.126.125.1 +some-longish-hostname-92 IN A 127.126.125.1 +some-longish-hostname-93 IN A 127.126.125.1 +some-longish-hostname-94 IN A 127.126.125.1 +some-longish-hostname-95 IN A 127.126.125.1 +some-longish-hostname-96 IN A 127.126.125.1 +some-longish-hostname-97 IN A 127.126.125.1 +some-longish-hostname-98 IN A 127.126.125.1 +some-longish-hostname-99 IN A 127.126.125.1 +some-longish-hostname-100 IN A 127.126.125.1 diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/main.fmf b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/main.fmf new file mode 100644 index 0000000..e297d88 --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/main.fmf @@ -0,0 +1,19 @@ +summary: Sets up bind to serve many PTR records, then queries. +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1020486 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - bind + - bind-utils + - caching-nameserver +duration: 5m +extra-summary: /tools/glibc/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip +extra-task: /tools/glibc/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/named.conf b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/named.conf new file mode 100644 index 0000000..a7a7f05 --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/named.conf @@ -0,0 +1,16 @@ +options { + directory "/var/named"; + allow-query { localhost; }; +}; + +zone "125.126.127.in-addr.arpa" IN { + type master; + file "foobar.redhat.rdns.zone"; + allow-update { none; }; +}; + +zone "foobar.redhat" { + type master; + file "foobar.redhat.zone"; + allow-update { none; }; +}; diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/runtest.sh b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/runtest.sh new file mode 100755 index 0000000..657a5b6 --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/runtest.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip +# Description: Sets up bind to serve many PTR records, then queries. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-devel bind) + +rlJournalStart + rlPhaseStartSetup + rlFileBackup /etc/hosts + + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + + # reconfigure bind + + rlServiceStop "named" + rlRun "sleep 10" + + rlFileBackup --clean "/etc/named.conf" + rlRun "cp named.conf /etc/" + rlRun "cp foobar.redhat*zone /var/named/" + rlRun "chown -R named:named /var/named/*" + rlRun "restorecon -F /etc/named.conf" + rlRun "restorecon -RF /var/named" + rlRun "restorecon -RF /var/run/named" + rlServiceStart "named" + rlRun "sleep 10" + + # reconfigure resolver + rlFileBackup "/etc/resolv.conf" + rlRun "echo 'nameserver 127.0.0.1' > /etc/resolv.conf" + + rlRun "TmpDir=\$(mktemp -d)" + rlRun "cp tst-getnameinfo.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -o tst-getnameinfo tst-getnameinfo.c" + rlAssertExists "tst-getnameinfo" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./tst-getnameinfo 127.126.125.1 > out" + rlLog "$(cat out)" + rlAssertGrep "Hostname:\s*some-longish-hostname" "out" + rlAssertGrep "Address:\s*127.126.125.1" "out" + rlPhaseEnd + + rlPhaseStartCleanup + + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + + rlRun "rm -f /var/named/foobar.redhat*zone" + rlFileRestore + rlServiceRestore "named" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/tst-getnameinfo.c b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/tst-getnameinfo.c new file mode 100644 index 0000000..1364200 --- /dev/null +++ b/tests/Regression/bz1020486-getnameinfo-fails-for-many-ptr-records-per-ip/tst-getnameinfo.c @@ -0,0 +1,86 @@ + /* + * getnameinfo(3) (address->name lookup) tester. + * + * Compile with: + * + * cc -o getnameinfo getnameinfo.c (BSD, Linux) + * + * cc -o getnameinfo getnameinfo.c -lsocket -lnsl (SunOS 5.x) + * + * Run as: getnameinfo address + * + * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. + * + * Author: Wietse Venema, IBM T.J. Watson Research, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int +main (int argc, char **argv) +{ + char hostbuf[NI_MAXHOST]; /* XXX */ + struct addrinfo hints; + struct addrinfo *res0; + struct addrinfo *res; + const char *host; + const char *addr; + int err; + +#define NO_SERVICE ((char *) 0) + + if (argc != 2) + { + fprintf (stderr, "usage: %s ipaddres\n", argv[0]); + exit (1); + } + + /* + * Convert address to internal form. + */ + host = argv[1]; + memset ((char *) &hints, 0, sizeof (hints)); + hints.ai_family = (strchr (host, ':') ? AF_INET6 : AF_INET); + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags |= AI_NUMERICHOST; + if ((err = getaddrinfo (host, NO_SERVICE, &hints, &res0)) != 0) + { + fprintf (stderr, "getaddrinfo %s: %s\n", host, gai_strerror (err)); + exit (1); + } + + /* + * Convert host address to name. + */ + for (res = res0; res != 0; res = res->ai_next) + { + err = getnameinfo (res->ai_addr, res->ai_addrlen, + hostbuf, sizeof (hostbuf), + NO_SERVICE, 0, NI_NAMEREQD); + if (err) + { + fprintf (stderr, "getnameinfo %s: %s\n", host, gai_strerror (err)); + exit (1); + } + printf ("Hostname:\t%s\n", hostbuf); + addr = (res->ai_family == AF_INET ? + (char *) &((struct sockaddr_in *) res->ai_addr)->sin_addr : + (char *) &((struct sockaddr_in6 *) res->ai_addr)->sin6_addr); + if (inet_ntop (res->ai_family, addr, hostbuf, sizeof (hostbuf)) == 0) + { + perror ("inet_ntop:"); + exit (1); + } + printf ("Address:\t%s\n", hostbuf); + } + freeaddrinfo (res0); + exit (0); +} diff --git a/tests/Regression/bz1026533-gettimeofday-segfault/lib-1026533.c b/tests/Regression/bz1026533-gettimeofday-segfault/lib-1026533.c new file mode 100644 index 0000000..18e635d --- /dev/null +++ b/tests/Regression/bz1026533-gettimeofday-segfault/lib-1026533.c @@ -0,0 +1,19 @@ +#include +#include +#include + +int +func_1026533 (void) +{ + struct timeval now; + int ret; + ret = gettimeofday (&now, NULL); + if (ret == -1) + { + perror ("gettimeofday"); + fprintf (stderr, "FAIL: gettimeofday returned -1.\n"); + exit (1); + } + fprintf (stdout, "Time is %ld.%06ld.\n", now.tv_sec, now.tv_usec); + return 0xdeadbeef; +} diff --git a/tests/Regression/bz1026533-gettimeofday-segfault/main.fmf b/tests/Regression/bz1026533-gettimeofday-segfault/main.fmf new file mode 100644 index 0000000..9b73a40 --- /dev/null +++ b/tests/Regression/bz1026533-gettimeofday-segfault/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1026533 (Calls to gettimeofday could crash with a segfault) +description: | + Bug summary: Calls to gettimeofday could crash with a segfault in __glink_PLTresolve. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1026533 +adjust: + - enabled: false + when: arch != ppc64le +contact: Martin Cermak +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc + - rpm-python +duration: 45m +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1026533 +extra-summary: /tools/glibc/Regression/bz1026533-gettimeofday-segfault +extra-task: /tools/glibc/Regression/bz1026533-gettimeofday-segfault diff --git a/tests/Regression/bz1026533-gettimeofday-segfault/runtest.sh b/tests/Regression/bz1026533-gettimeofday-segfault/runtest.sh new file mode 100755 index 0000000..61eeb2c --- /dev/null +++ b/tests/Regression/bz1026533-gettimeofday-segfault/runtest.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1026533-gettimeofday-segfault +# Description: Test for BZ#1026533 (Calls to gettimeofday could crash with a segfault) +# Author: Martin Cermak +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm binutils + rlRun "TMPDIR=$(mktemp -d)" + rlRun "cp test-1026533.c lib-1026533.c $TMPDIR/" + rlRun "pushd $TMPDIR" + ld --plt-thread-safe 2> test_ld + grep -q "unrecognized option" test_ld + if [ $? -eq 0 ]; then + rlFail "ld does not support --plt-thread-safe option so the test will not be relevant." + rlPhaseEnd; rlJournalPrintText; rlJournalEnd + exit 0 + else + rlLog "ld does support --plt-thread-safe option so we can continue." + fi + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc -Wl,--plt-thread-safe -g3 -O0 -Wall -pedantic -m64 -shared -fPIC -Wl,--soname,lib-1026533.so -o lib-1026533.so lib-1026533.c" + rlRun "gcc -Wl,--plt-thread-safe -ldl -g3 -O0 -Wall -pedantic -m64 -o test-1026533 test-1026533.c" + rlRun "./test-1026533 2>&1 | tee output.txt" + rlRun "grep '^PASS' output.txt" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1026533-gettimeofday-segfault/test-1026533.c b/tests/Regression/bz1026533-gettimeofday-segfault/test-1026533.c new file mode 100644 index 0000000..cc019d3 --- /dev/null +++ b/tests/Regression/bz1026533-gettimeofday-segfault/test-1026533.c @@ -0,0 +1,40 @@ +#include +#include +#include + +union fptr { + int (*func)(void); + void *vfunc; +}; + +int +main (void) +{ + void *handle; + union fptr myfptr; + char *error; + int ret; + handle = dlopen ("./lib-1026533.so", RTLD_NOW); + if (handle == NULL) + { + fprintf (stderr, "FAIL: dlopen failed (%s)\n", dlerror ()); + exit (1); + } + dlerror (); + myfptr.vfunc = dlsym (handle, "func_1026533"); + if ((error = dlerror ()) != NULL) + { + fprintf (stderr, "FAIL: dlsym failed (%s)\n", dlerror ()); + exit (1); + } + ret = myfptr.func (); + if (ret != 0xdeadbeef) + { + fprintf (stderr, "FAIL: dlopen'd library function failed to " + "return expected value.\n"); + exit (1); + } + dlclose (handle); + fprintf (stderr, "PASS: dlopen'd library function did not crash.\n"); + exit (0); +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/main.fmf b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/main.fmf new file mode 100644 index 0000000..562b035 --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/main.fmf @@ -0,0 +1,19 @@ +summary: What the test does +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1053178 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - kernel-headers +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc +extra-task: + /tools/glibc/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg1.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg1.c new file mode 100644 index 0000000..52e4a74 --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg1.c @@ -0,0 +1,6 @@ +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg2.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg2.c new file mode 100644 index 0000000..0d0504c --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg2.c @@ -0,0 +1,7 @@ +#include +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg3.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg3.c new file mode 100644 index 0000000..d16d5a9 --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg3.c @@ -0,0 +1,8 @@ +#include +#include +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg4.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg4.c new file mode 100644 index 0000000..7c877ae --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg4.c @@ -0,0 +1,7 @@ +#include +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg5.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg5.c new file mode 100644 index 0000000..556558b --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg5.c @@ -0,0 +1,8 @@ +#include +#include +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg6.c b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg6.c new file mode 100644 index 0000000..80eaa4d --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/prg6.c @@ -0,0 +1,8 @@ +#include +#include +#include + +int main(void) +{ + return 0; +} diff --git a/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/runtest.sh b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/runtest.sh new file mode 100755 index 0000000..ce0e585 --- /dev/null +++ b/tests/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1053178-coordinate-IPv6-definitions-for-Linux-and-glibc +# Description: What the test does +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + for i in {1..6}; do + rlRun -l "gcc -W -Wall -o prg$i prg$i.c" + rlAssertExists "prg$i" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1070458-mcount-symbol-missing/main.fmf b/tests/Regression/bz1070458-mcount-symbol-missing/main.fmf new file mode 100644 index 0000000..2853317 --- /dev/null +++ b/tests/Regression/bz1070458-mcount-symbol-missing/main.fmf @@ -0,0 +1,17 @@ +summary: Tests availability of _mcount +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1070458 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - binutils + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz1070458-mcount-symbol-missing +extra-task: /tools/glibc/Regression/bz1070458-mcount-symbol-missing diff --git a/tests/Regression/bz1070458-mcount-symbol-missing/runtest.sh b/tests/Regression/bz1070458-mcount-symbol-missing/runtest.sh new file mode 100755 index 0000000..2244280 --- /dev/null +++ b/tests/Regression/bz1070458-mcount-symbol-missing/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1070458-mcount-symbol-missing +# Description: Tests availability of _mcount +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "gcc -Wall -pedantic -g -O0 -pg tst-_mcount.c -o tst-_mcount &> gcc.err" + rlAssertExists "tst-_mcount" + rlAssertExists "gcc.err" + rlAssertNotGrep "mcount" gcc.err # if mcount doesn't exist, it shows up as error + + rlRun -l "./tst-_mcount" + rlAssertExists "gmon.out" + + rlRun -l "gprof -b tst-_mcount &> gprof.out" + rlAssertExists "gprof.out" + rlAssertGrep "10\s\+\.\?do_lots_of_work_with" gprof.out + rlAssertGrep "10240\s\+\.\?do_something_with" gprof.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1070458-mcount-symbol-missing/tst-_mcount.c b/tests/Regression/bz1070458-mcount-symbol-missing/tst-_mcount.c new file mode 100644 index 0000000..661f1b5 --- /dev/null +++ b/tests/Regression/bz1070458-mcount-symbol-missing/tst-_mcount.c @@ -0,0 +1,38 @@ +#include +#include + +#define ASIZE 1024 + +volatile unsigned v = 1; +unsigned do_something_with (unsigned); +unsigned do_lots_of_work_with (volatile unsigned *, unsigned); + +int +main (void) +{ + unsigned i; + unsigned *a = calloc (ASIZE, sizeof (unsigned)); + + for (i = 0; i < 10; i++) + printf ("%u\n", do_lots_of_work_with (a, ASIZE)); + + return 0; +} + +unsigned +do_something_with (unsigned i) +{ + return i + v; +} + +unsigned +do_lots_of_work_with (volatile unsigned *a, unsigned size) +{ + unsigned i; + unsigned c = 0; + for (i = 0; i < size; i++) + { + c += do_something_with (a[i]); + } + return c; +} diff --git a/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/main.fmf b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/main.fmf new file mode 100644 index 0000000..fd2300a --- /dev/null +++ b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/main.fmf @@ -0,0 +1,26 @@ +summary: Tests the value and type of WCHAR_* definitions +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1070471 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - libgcc + - glibc.i686 + - glibc-devel.i686 + - libgcc.i686 + - glibc.s390 + - glibc-devel.s390 + - libgcc.s390 + - glibc.ppc + - glibc-devel.ppc + - libgcc.ppc +duration: 5m +extra-summary: /tools/glibc/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type +extra-task: /tools/glibc/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type diff --git a/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/runtest.sh b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/runtest.sh new file mode 100755 index 0000000..7f5d246 --- /dev/null +++ b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/runtest.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type +# Description: Tests the value and type of WCHAR_* definitions +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp tst-WCHAR_limits.c $TmpDir" + rlRun "pushd $TmpDir" + + rlRun -l "gcc -Wall -pedantic -std=gnu99 tst-WCHAR_limits.c -o tst-WCHAR_limits" + rlAssertExists "tst-WCHAR_limits" + + if [ "$(uname -m)" == "s390x" ]; then + cflag="-m31" + else + cflag="-m32" + fi + + if rlGetSecondaryArch && rlIsRHEL "<10"; then + rlRun -l "gcc $cflag -Wall -pedantic -std=gnu99 tst-WCHAR_limits.c -o tst-WCHAR_limits${cflag}" + rlAssertExists "tst-WCHAR_limits${cflag}" + fi + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./tst-WCHAR_limits > tst.out" + rlLog "$(cat tst.out)" + + if rlGetSecondaryArch && rlIsRHEL "<10"; then + rlRun -l "./tst-WCHAR_limits${cflag} > tst${cflag}.out" + rlLog "$(cat tst${cflag}.out)" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/tst-WCHAR_limits.c b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/tst-WCHAR_limits.c new file mode 100644 index 0000000..1e2edde --- /dev/null +++ b/tests/Regression/bz1070471-WCHAR_MIN-and-WCHAR_MAX-value-and-type/tst-WCHAR_limits.c @@ -0,0 +1,86 @@ +#include +#include +#include +#include +#include + +#define BUF_SIZE 100 + +#define FAIL(fmt, ...) \ + do { printf ("FAIL: " fmt "\n", __VA_ARGS__); exit (1); } while (0) + +union number +{ + int16_t i16; + int32_t i32; + int64_t i64; +}; + +#ifdef __aarch64__ /* wchar_t is unsigned */ +# define WCHAR_MIN_STRING "0" +# define WCHAR_MAX_STRING "4294967295" +#else +# define WCHAR_MIN_STRING "-2147483648" +# define WCHAR_MAX_STRING "2147483647" +#endif + +void +test_limits (void) +{ + union number *n; + wchar_t min, max; + char buf[BUF_SIZE]; + min = WCHAR_MIN; + max = WCHAR_MAX; + + if (sizeof (wchar_t) == 4) + { + + n = (void *) &min; +#ifdef __aarch64__ + snprintf (buf, BUF_SIZE, "%" PRIu32, n->i32); +#else + snprintf (buf, BUF_SIZE, "%" PRId32, n->i32); +#endif + printf ("WCHAR_MIN is %s\n", buf); + + if (strcmp (buf, WCHAR_MIN_STRING)) + FAIL ("Expected %s", WCHAR_MIN_STRING); + + n = (void *) &max; +#ifdef __aarch64__ + snprintf (buf, BUF_SIZE, "%" PRIu32, n->i32); +#else + snprintf (buf, BUF_SIZE, "%" PRId32, n->i32); +#endif + printf ("WCHAR_MAX is %s\n", buf); + + if (strcmp (buf, WCHAR_MAX_STRING)) + FAIL ("Expected %s", WCHAR_MAX_STRING); + } + else + { + FAIL ("sizeof (wchar_t) is %zu", sizeof (wchar_t)); + } +} + +void +test_types (void) +{ + if (__builtin_types_compatible_p (int, long)) + FAIL ("%s is not sane", "__builtin_types_compatible_p"); + + if (!__builtin_types_compatible_p (wchar_t, typeof (WCHAR_MIN))) + FAIL ("%s is not of the same type as %s", "WCHAR_MIN", "wchar_t"); + + if (!__builtin_types_compatible_p (wchar_t, typeof (WCHAR_MAX))) + FAIL ("%s is not of the same type as %s", "WCHAR_MAX", "wchar_t"); +} + +int +main (void) +{ + test_limits (); + test_types (); + return 0; +} diff --git a/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/main.fmf b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/main.fmf new file mode 100644 index 0000000..2ddee69 --- /dev/null +++ b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/main.fmf @@ -0,0 +1,18 @@ +summary: What the test does +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1077389 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set +extra-task: + /tools/glibc/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set diff --git a/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/runtest.sh b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/runtest.sh new file mode 100755 index 0000000..499216c --- /dev/null +++ b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/runtest.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set +# Description: What the test does +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +REQUIRES="gcc glibc glibc-devel" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -Wall -pedantic -g3 -O0 -o tst-dlopen tst-dlopen.c -ldl" + rlAssertExists "tst-dlopen" + + rlRun "gcc -Wall -pedantic -g3 -O0 -shared -fPIC -Wl,-soname=libtst-dlopen.so -o libtst-dlopen.so tst-dlopen-lib.c" + rlAssertExists "libtst-dlopen.so" + + rlRun "chmod 755 $TmpDir" + rlRun "chmod 755 tst-dlopen" + rlRun "chmod 755 libtst-dlopen.so" + rlRun "chmod a+s tst-dlopen" + + rlRun "useradd bz1077389" + rlRun "sed -i 's/^.*requiretty/#&/' /etc/sudoers" + rlPhaseEnd + + rlPhaseStartTest + rlRun "sudo -u bz1077389 -i sh -c 'cd $TmpDir; export LD_LIBRARY_PATH=$TmpDir; ./tst-dlopen'" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlRun "userdel -f bz1077389" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen-lib.c b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen-lib.c new file mode 100644 index 0000000..83ecfcb --- /dev/null +++ b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen-lib.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include + +void __attribute__ ((constructor)) +setup (void) +{ + char tmbuf[1024]; + char buf[1024]; + int ret; + struct timeval tv; + time_t nowtime; + struct tm *nowtm; + ret = gettimeofday (&tv, NULL); + if (ret == -1) + { + perror ("gettimeofday"); + abort (); + } + nowtime = tv.tv_sec; + nowtm = localtime (&nowtime); + strftime(tmbuf, sizeof tmbuf, "%Y-%m-%d %H:%M:%S", nowtm); + snprintf(buf, sizeof buf, "%s.%06ld", tmbuf, tv.tv_usec); + printf ("%s\n", buf); +} diff --git a/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen.c b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen.c new file mode 100644 index 0000000..14fc2c4 --- /dev/null +++ b/tests/Regression/bz1077389-crash-in-constructor-of-dlopened-library-with-LD_LIBRARY_PATH-set/tst-dlopen.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +#define DSO "./libtst-dlopen.so" + +int +main(int argc, char **argv) +{ + void *dl; + printf ("dlopen (\"%s\", RTLD_NOW);\n", DSO); + /* Use dlopen to trigger constructors to run. */ + dl = dlopen(DSO, RTLD_NOW); + if (dl == NULL) + { + fprintf (stderr, "dlopen failure: %s\n", dlerror ()); + return 1; + } + dlerror (); + dlclose(dl); + return 0; +} diff --git a/tests/Regression/bz1078225-clone-S-missing-CFI-markup/main.fmf b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/main.fmf new file mode 100644 index 0000000..430549d --- /dev/null +++ b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/main.fmf @@ -0,0 +1,18 @@ +summary: Runs a gdb backtrace in the clone wrapper +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1078225 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gdb + - glibc + - glibc-debuginfo + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1078225-clone-S-missing-CFI-markup +extra-task: /tools/glibc/Regression/bz1078225-clone-S-missing-CFI-markup diff --git a/tests/Regression/bz1078225-clone-S-missing-CFI-markup/runtest.sh b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/runtest.sh new file mode 100755 index 0000000..cb8b5e5 --- /dev/null +++ b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/runtest.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1078225-clone-S-missing-CFI-markup +# Description: Runs a gdb backtrace in the clone wrapper +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun -l "gcc -Wall -pedantic -g -lpthread tst-clone-cfi.c -o tst-clone-cfi" + rlAssertExists "tst-clone-cfi" + rlRun -c "echo -e 'b foo\nrun\nbt\nc' > gdb.script" + rlPhaseEnd + + rlPhaseStartTest + rlLog -l "gdb -batch -x gdb.script ./tst-clone-cfi &> gdb.out &" + gdb -batch -x gdb.script ./tst-clone-cfi &> gdb.out & + PID=$! + rlLog "PID=$PID" + rlRun "sleep 10" + if kill -0 $PID; then + rlFail "gdb is hung printing a backtrace" + rlRun "kill -9 $PID" + fi + rlLog "$(cat gdb.out)" + rlAssertGrep "clone" gdb.out + rlAssertGrep "foo" gdb.out + rlAssertGrep "Hello, World!" gdb.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1078225-clone-S-missing-CFI-markup/tst-clone-cfi.c b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/tst-clone-cfi.c new file mode 100644 index 0000000..69e3c38 --- /dev/null +++ b/tests/Regression/bz1078225-clone-S-missing-CFI-markup/tst-clone-cfi.c @@ -0,0 +1,24 @@ +#include +#include + +int r; + +static void * +foo (void *p) +{ + char *m = (char *) p; + printf ("%s\n", m); + + r = 0; + return &r; +} + +int +main (void) +{ + void *tr; + pthread_t t; + pthread_create (&t, NULL, foo, "Hello, World!"); + pthread_join (t, &tr); + return *((int *) tr); +} diff --git a/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/main.fmf b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/main.fmf new file mode 100644 index 0000000..6c86329 --- /dev/null +++ b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/main.fmf @@ -0,0 +1,21 @@ +summary: Tests gethostbyXX for spurious logs for DNSSEC responses +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1088301 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - bind-utils + - gcc + - glibc + - glibc-devel + - python3 + - python3-pip +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions +extra-task: + /tools/glibc/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions diff --git a/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/ns.py b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/ns.py new file mode 100755 index 0000000..08761f4 --- /dev/null +++ b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/ns.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +from dnslib import DNSRecord, QTYPE +from dnslib.server import DNSServer, DNSLogger +from dnslib.dns import RR +import time + +class TestResolver: + def resolve(self, request, handler): + for question in request.questions: + if (question.get_qname() == "bz1088301.red.hat." and question.qtype == QTYPE.A): + reply = request.reply() + # Authoritative response + reply.add_answer(*RR.fromZone("bz1088301.red.hat 0 IN A 127.126.125.124")) + # an incorrect but sufficient RR + reply.add_answer(*RR.fromZone("bz1088301.red.hat 0 IN RRSIG A 8 4 60 20150323201003 20150309201003 4019 red.hat. foo/849/bar/baz/zoo/beep/mug=")) + return reply + +resolver = TestResolver() +logger = DNSLogger(prefix=False) +server = DNSServer(resolver, port=53, address="localhost", logger=logger, tcp=False) +server.start_thread() + +while True: + time.sleep(1) diff --git a/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/runtest.sh b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/runtest.sh new file mode 100755 index 0000000..4007eac --- /dev/null +++ b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/runtest.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions +# Description: Tests gethostbyXX for spurious logs for DNSSEC responses +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel" + +RCONF=/etc/resolv.conf + +rlJournalStart + rlPhaseStartSetup + rlFileBackup /etc/hosts + rlAssertRpm --all $REQUIRES + rlRun "python3 -m pip install dnslib" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c *.py $TmpDir" + rlRun "pushd $TmpDir" + + rlRun "gcc -o tst-gethostbyX tst-gethostbyX.c" + rlAssertExists "tst-gethostbyX" + + # Start local NS + rlRun "./ns.py &" + rlRun "NS_PID=$!" + rlRun "sleep 5" + rlRun "kill -0 $NS_PID" + + # resolver=localhost + rlFileBackup "$RCONF" + rlRun "echo 'nameserver 127.0.0.1' > $RCONF" + + rlPhaseEnd + + rlPhaseStartTest + rlRun "./tst-gethostbyX bz1088301.red.hat" + rlRun "sync" + rlRun "sleep 5" + rlAssertNotGrep "bz1088301.red.hat" /var/log/messages + rlPhaseEnd + + rlPhaseStartCleanup + rlFileRestore + rlRun "kill $NS_PID" + rlRun "sleep 5" + rlRun "kill -0 $NS_PID" 1 && (kill -9 $NS_PID &> /dev/null) + + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/tst-gethostbyX.c b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/tst-gethostbyX.c new file mode 100644 index 0000000..554e39e --- /dev/null +++ b/tests/Regression/bz1088301-gethostby-functions-log-errors-in-non-error-conditions/tst-gethostbyX.c @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include + +int +main (int argc, char *argv[]) +{ + res_init (); + _res.options |= RES_USE_DNSSEC; + gethostbyname2 (argv[1], AF_INET); + return 0; +} diff --git a/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/main.fmf b/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/main.fmf new file mode 100644 index 0000000..75dbf14 --- /dev/null +++ b/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1101858 (glibc Add el_GR@euro, ur_IN, and wal_ET locales) +description: | + Bug summary: glibc: Add el_GR@euro, ur_IN, and wal_ET locales + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1101858 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1101858 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-common + - glibc-langpack-el + - glibc-langpack-ur + - glibc-langpack-wal +duration: 20m +extra-summary: /tools/glibc/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales +extra-task: /tools/glibc/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales diff --git a/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/runtest.sh b/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/runtest.sh new file mode 100755 index 0000000..9d1d619 --- /dev/null +++ b/tests/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales/runtest.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1101858-glibc-Add-el-GR-euro-ur-IN-and-wal-ET-locales +# Description: Test for BZ#1101858 (glibc Add el_GR@euro, ur_IN, and wal_ET locales) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +TELOS="el_GR@euro ur_IN wal_ET" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + if rlIsRHEL '>=8' + then + rlAssertRpm glibc-langpack-el + rlAssertRpm glibc-langpack-ur + rlAssertRpm glibc-langpack-wal + fi + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + TELOS1=$(echo $TELOS| sed 's/ /|/g') + echo "TELOS1=$TELOS1" + if rlIsRHEL '>=8' + then + rlRun -l "locale -a | grep -E '($TELOS1)'" + else + rlRun -l "localedef --list-archive | grep -E '($TELOS1)'" + fi + for LOC in $TELOS + do + rlRun -l "LC_ALL=$LOC locale date_fmt 2>&1| grep \"Cannot set\"" 1 + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/main.fmf b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/main.fmf new file mode 100644 index 0000000..abc0064 --- /dev/null +++ b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/main.fmf @@ -0,0 +1,18 @@ +summary: Calls times(NULL) and simulates a syscall EFAULT +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1124204 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - systemtap + - kernel-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL +extra-task: /tools/glibc/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL diff --git a/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/runtest.sh b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/runtest.sh new file mode 100755 index 0000000..d5162e9 --- /dev/null +++ b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL +# Description: Calls times(NULL) and simulates a syscall EFAULT +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel systemtap" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c *.stp $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -g -o tst-times tst-times.c" + rlAssertExists "tst-times" + rlPhaseEnd + + rlPhaseStartTest + rlRun "stap -g simulate-EFAULT.stp -c ./tst-times &>tst-times.out" + rlAssertGrep "rc=-14 errno=0" tst-times.out + rlAssertEquals "Check expected output" "$(cat tst-times.out | grep 'rc=-14 errno=0' | wc -l)" "2" \ + || (rlLog "tst-times.out:"; rlLog "$(cat tst-times.out)") + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/simulate-EFAULT.stp b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/simulate-EFAULT.stp new file mode 100644 index 0000000..077b239 --- /dev/null +++ b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/simulate-EFAULT.stp @@ -0,0 +1,22 @@ + // sim-efault.stp +function tweak_retval(regs:long, val:long) %{ +long val = STAP_ARG_val; +struct pt_regs *regs = (void *) STAP_ARG_regs; +if (regs == NULL) { STAP_ERROR ("null regs"); } +#if defined (STAPCONF_X86_UNIREGS) && (defined (__x86_64__) || defined (__i386__)) + regs->ax = val; +#elif defined (__i386__) + regs->eax = val; +#elif defined (__x86_64__) + regs->rax = val; +#elif defined (__powerpc__) + regs->gpr[3] = val; +#elif defined (__s390x__) + regs->gprs[2] = val; +#elif defined (__aarch64__) + regs->regs[0] = val; +#else + STAP_ERROR("unsupported architecture"); +#endif +%} +probe tp_syscall.times.return { if (pid() != target()) pass; else tweak_retval($regs, -14); } diff --git a/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/tst-times.c b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/tst-times.c new file mode 100644 index 0000000..afd4958 --- /dev/null +++ b/tests/Regression/bz1124204-times-handle-EFAULT-when-buf-is-NULL/tst-times.c @@ -0,0 +1,15 @@ +#include +#include +#include +#include + +int +main (void) +{ + struct tms t; + int rc = times (NULL); + printf("rc=%d errno=%d\n", rc, errno); + rc = times (&t); + printf("rc=%d errno=%d\n", rc, errno); + return 0; +} diff --git a/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/main.fmf b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/main.fmf new file mode 100644 index 0000000..5f0aabe --- /dev/null +++ b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/main.fmf @@ -0,0 +1,17 @@ +summary: Tests getconf and confstr after UsrMove changes +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1124453 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-common + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH +extra-task: /tools/glibc/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH diff --git a/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/runtest.sh b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/runtest.sh new file mode 100755 index 0000000..e366632 --- /dev/null +++ b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH +# Description: Tests getconf and confstr after UsrMove changes +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-common glibc-devel) + +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -Wall -pedantic tst-confstr.c -o tst-confstr" + rlAssertExists "tst-confstr" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./tst-confstr > tst-confstr.out" + rlRun "confstr_out=$(cat tst-confstr.out)" + rlAssertEquals "PATH should be /usr/bin" "$confstr_out" "/usr/bin" + rlRun "getconf PATH > getconf.out" + rlRun "getconf_out=$(cat getconf.out)" + rlAssertEquals "PATH should be /usr/bin" "$getconf_out" "/usr/bin" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/tst-confstr.c b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/tst-confstr.c new file mode 100644 index 0000000..df3f65c --- /dev/null +++ b/tests/Regression/bz1124453-getconf-and-confstr-return-bin-in-PATH/tst-confstr.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include + +int +main (void) +{ + char *pathbuf; + size_t n; + + n = confstr (_CS_PATH, NULL, (size_t) 0); + if (n < 1) + abort (); + + pathbuf = malloc (n); + if (pathbuf == NULL) + abort (); + + confstr (_CS_PATH, pathbuf, n); + printf ("%s\n", pathbuf); + + return strcmp (pathbuf, "/usr/bin")? 1 : 0; +} diff --git a/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/auditor.c b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/auditor.c new file mode 100644 index 0000000..7d0661b --- /dev/null +++ b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/auditor.c @@ -0,0 +1,187 @@ +#define _GNU_SOURCE +#include +#include +#include + +unsigned int +la_version (unsigned int version) +{ + return version; +} + +char * +la_objsearch (const char *name, uintptr_t * cookie, unsigned int flag) +{ + /* We do this weird copy because we aren't allowed + to return a const char *. */ + char *name_copy = malloc (strlen (name) + 1); + + if (name_copy) + strcpy (name_copy, name); + + return name_copy; +} + +void +la_activity (uintptr_t * cookie, unsigned int flag) +{ + return; +} + +unsigned int +la_objopen (struct link_map *map, Lmid_t lmid, uintptr_t * cookie) +{ + return LA_FLG_BINDTO | LA_FLG_BINDFROM; +} + +unsigned int +la_objclose (uintptr_t * cookie) +{ + return 0; +} + +void +la_preinit (uintptr_t * cookie) +{ + return; +} + +uintptr_t +la_symbind32 (Elf32_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + unsigned int *flags, + const char *symname) +{ + return sym->st_value; +} + +uintptr_t +la_symbind64 (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + unsigned int *flags, + const char *symname) +{ + return sym->st_value; +} + +#if defined (__x86_64__) +Elf64_Addr +la_x86_64_gnu_pltenter (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + La_x86_64_regs * regs, + unsigned int *flags, + const char *symname, long int *framesizep) +{ + return sym->st_value; +} + +unsigned int +la_x86_64_gnu_pltexit (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + const struct La_x86_64_regs *inregs, + struct La_x86_64_retval *outregs, const char *symname) +{ + return 0; +} +#elif defined (__i386__) +Elf32_Addr +la_i86_gnu_pltenter (Elf32_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + La_i86_regs * regs, + unsigned int *flags, + const char *symname, long int *framesizep) +{ + return sym->st_value; +} + +unsigned int +la_i86_gnu_pltexit (Elf32_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + const struct La_i86_regs * inregs, + struct La_i86_retval * outregs, const char *symname) +{ + return 0; +} +#elif defined (__powerpc64__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +Elf64_Addr +la_ppc64_gnu_pltenter (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + La_ppc64_regs * regs, + unsigned int *flags, + const char *symname, long int *framesizep) +{ + return sym->st_value; +} + +unsigned int +la_ppc64_gnu_pltexit (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + const struct La_ppc64_regs *inregs, + struct La_ppc64_retval *outregs, const char *symname) +{ + return 0; +} +#elif defined (__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +Elf64_Addr +la_ppc64v2_gnu_pltenter (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + La_ppc64v2_regs * regs, + unsigned int *flags, + const char *symname, long int *framesizep) +{ + return sym->st_value; +} + +unsigned int +la_ppc64v2_gnu_pltexit (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + const struct La_ppc64v2_regs *inregs, + struct La_ppc64v2_retval *outregs, const char *symname) +{ + return 0; +} +#elif defined (__s390x__) +Elf64_Addr +la_s390_64_gnu_pltenter (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + La_s390_64_regs * regs, + unsigned int *flags, + const char *symname, long int *framesizep) +{ + return sym->st_value; +} + +unsigned int +la_s390_64_gnu_pltexit (Elf64_Sym * sym, + unsigned int ndx, + uintptr_t * refcook, + uintptr_t * defcook, + const struct La_s390_64_regs *inregs, + struct La_s390_64_retval *outregs, + const char *symname) +{ + return 0; +} +#endif diff --git a/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/main.fmf b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/main.fmf new file mode 100644 index 0000000..5374ca1 --- /dev/null +++ b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/main.fmf @@ -0,0 +1,19 @@ +summary: Tests dl-reloc's PLT reloc cache size code using gdb voodoo +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1144132 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gdb + - glibc + - glibc-debuginfo +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT +extra-task: + /tools/glibc/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT diff --git a/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/runtest.sh b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/runtest.sh new file mode 100755 index 0000000..f48e1ca --- /dev/null +++ b/tests/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT/runtest.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1144132-dl-reloc-c-computes-incorrect-PLT-reloc-cache-size-during-AUDIT +# Description: Tests dl-reloc's PLT reloc cache size code using gdb voodoo +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gdb glibc glibc-debuginfo" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES || rlDie "Required packages not found" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -g -Wall -shared -fPIC -o auditor.so auditor.c" + rlAssertExists "auditor.so" + + # 32 bit Intels are fun + re='i.86' + if [[ "$(uname -m)" =~ $re ]]; then + LIBC="/lib/libc.so.6" + else + LIBC="/lib64/libc.so.6" + fi + + rlRun "pltsz=$(readelf -Wd $LIBC | grep PLTRELSZ | gawk '{ print $3 }')" + re='^[0-9]+$' + if ! [[ $pltsz =~ $re ]]; then + rlDie "Could not calculate PLTRELSZ" + fi + rlPhaseEnd + + rlPhaseStartTest + if readelf -sW /usr/bin/ld.so | grep -q __minimal_calloc ; then + calloc=__minimal_calloc + elif readelf -sW /usr/bin/ld.so | grep -q __rtld_calloc ; then + calloc=rtld_calloc + else + calloc=calloc + fi + +cat > gdb.script <out 2>err" + rlAssertGrep "Breakpoint 2 at" out + rlAssertNotGrep "Breakpoint 2, calloc" out + rlFileSubmit out + rlFileSubmit err + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/main.fmf b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/main.fmf new file mode 100644 index 0000000..a250c93 --- /dev/null +++ b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1144516 (LTP profil01 test fails on RHELSA aarch64) +description: | + Bug summary: LTP profil01 test fails on RHELSA aarch64 + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1144516 + + The test program uses profil() function for checking if it records data. +adjust: + - enabled: false + when: arch != aarch64 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1144516 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 2h +extra-summary: /tools/glibc/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64 +extra-task: /tools/glibc/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64 diff --git a/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/profil01s.c b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/profil01s.c new file mode 100644 index 0000000..4a829db --- /dev/null +++ b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/profil01s.c @@ -0,0 +1,126 @@ +/* + * Copyright (c) International Business Machines Corp., 2002 + * Copyright (C) 2014 Linux Test Project, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See + * the GNU General Public License for more details. + */ +/* + * ALGORITHM + * Set up a profiling buffer, turn profiling on, set a timer for + * cpu time, spin the pc and wait for timer to go off. + * The profiling buffer should contain some info, highly concentrated. + * We just do a "looks reasonable" check. + */ + +#include +#include +#include +#include +#include +#include + +#define PROFIL_TIME 5 + +/* Should be large enough to hold data for test_profil() .text, + * on x86_64 this is ~600 bytes, so 16k should enough for all arches. + * We will monitor 16k on each side around current pc value, + * just in case compiler put call to get_pc() below "data shuffling" code */ +#define PROFIL_BUFLEN (32*1024) + +char *TCID = "profil01"; +int TST_TOTAL = 1; + +static volatile sig_atomic_t profil_done; + +static void alrm_handler(int sig) +{ + (void) sig; + profil_done = 1; +} + +static void __attribute__ ((noinline)) *get_pc(void) +{ +#if defined(__s390__) && __WORDSIZE == 32 + /* taken from glibc, + * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h + * 31-bit s390 pointers don't use the 32th bit, however integers do, + * so wrap the value around at 31 bits */ + return (void *) + ((unsigned long) __builtin_return_address(0) & 0x7fffffffUL); +#else + return __builtin_return_address(0); +#endif +} + +static int test_profil(void) +{ + unsigned short buf[PROFIL_BUFLEN] = { 0 }; + volatile int data[8] = { 0 }; + size_t offset = (size_t) get_pc() - PROFIL_BUFLEN/2, count = 0; + int ret, i; + + /* reset for test looping */ + profil_done = 0; + + /* profil_count in glibc calculates offset as + * i = (pc - pc_offset - (void *) 0) / 2 + * i = i * pc_scale / 65536 + * set scale to 2*65536 to have 1:1 mapping for $pc */ + ret = profil(buf, sizeof(buf), offset, 2*65536); + if (ret) + { printf("ERROR: profil returned: %d\n", ret); exit(-1); } + + signal(SIGALRM, alrm_handler); + alarm(PROFIL_TIME); + + while (!profil_done) { + if (data[0]) + data[0] = -data[7]; + else + data[1] = data[0] / 2; + if (data[2]) + data[2] = data[1] * 2; + else + data[3] = data[2] + data[0]; + if (data[4]) + data[4] = data[3] - data[1]; + else + data[5] = data[4] * data[2]; + if (data[6]) + data[6] = data[5] + data[3]; + else + data[7] = data[6] - data[4]; + } + + for (i = 0; i < PROFIL_BUFLEN; i++) + if (buf[i]) { + printf("INFO: buf[0x%04x]=%d\n", i, buf[i]); + count += buf[i]; + } + + if (count > 0) { + printf("PASS: profil recorded some data\n"); + return 0; + } + + else { + printf("FAIL: profil failed to record anything\n"); + return 1; + } +} + +int main(int ac, char *av[]) +{ + int res = test_profil(); + + exit(res); +} + diff --git a/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/runtest.sh b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/runtest.sh new file mode 100755 index 0000000..a1432d6 --- /dev/null +++ b/tests/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1144516-LTP-profil01-test-fails-on-RHELSA-aarch64 +# Description: Test for BZ#1144516 (LTP profil01 test fails on RHELSA aarch64) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="profil01s" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG} > out.txt" + rlAssertGrep "PASS" out.txt + rlAssertNotGrep "FAIL" out.txt + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1159167-segfault-in-svc_getreq_common/main.fmf b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/main.fmf new file mode 100644 index 0000000..47e079b --- /dev/null +++ b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/main.fmf @@ -0,0 +1,17 @@ +summary: Runs an RPC server and client test +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1159167 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - gcc + - glibc + - glibc-devel + - libtirpc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1159167-segfault-in-svc_getreq_common +extra-task: /tools/glibc/Regression/bz1159167-segfault-in-svc_getreq_common diff --git a/tests/Regression/bz1159167-segfault-in-svc_getreq_common/rpc.c b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/rpc.c new file mode 100644 index 0000000..6029083 --- /dev/null +++ b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/rpc.c @@ -0,0 +1,141 @@ +/* Author: Siddhesh Poyarekar. */ + +#include +#include +#include +#include +#include +#include + +#define PROG 0x20000000 +#define VER 42 +#define DUMMY_PROC 0 +#define SIZE (64 * 1024) +#define PORT 8000 + +int fds[2]; + +static void +init_addr (struct sockaddr_in *addr) +{ + memset(addr, '0', sizeof(struct sockaddr_in)); + + addr->sin_family = AF_INET; + addr->sin_addr.s_addr = htonl(INADDR_LOOPBACK); + addr->sin_port = htons(PORT); +} + +/* Our dummy XDR routine. */ +static bool_t +_xdr_dummy (XDR *u1, void *u2, ...) +{ + return 0; +} + +/* Dummy dispatch routine. We won't really need this. */ +static void +dispatch (struct svc_req *request, SVCXPRT * xprt) +{ + printf ("SERVER: hell oh world\n"); +} + +/* The client thread. */ +static void * +clnt (void *u) +{ + int sock = RPC_ANYSOCK; + struct sockaddr_in addr; + struct timeval tv = {1, 0}; + bool_t val = 0; + + init_addr (&addr); + + /* Send a dummy client request to trigger a call to svc_getreq_common. */ + int i = 1; + CLIENT *c = NULL; + + sleep (1); + c = clnttcp_create (&addr, PROG, VER, &sock, 0, 0); + + if (c == NULL) + { + printf ("CLIENT: Could not connect to server. This may be because a " + "previous run of the test left a lingering TIME_WAIT socket. " + "Wait and try again after some time\n"); + exit (1); + } + + printf ("CLIENT: Calling dummy\n"); + + /* Make the client call and also write to the pipe. That way, svc_getreqset + will try to process both and choke on the pipe fd. */ + write (fds[1], "a", 1); + clnt_call (c, DUMMY_PROC, (xdrproc_t) _xdr_dummy, NULL, (xdrproc_t) _xdr_dummy, NULL, tv); + clnt_destroy (c); + + return NULL; +} + +int +main (void) +{ + SVCXPRT *svc_handle; + + /* Dirty the heap so that xports is a reused block and not freshly allocated + from the kernel. */ + void *p = malloc (SIZE); + memset (p, 0xa, SIZE); + free (p); + + /* Listen on the TCP port. */ + struct sockaddr_in serv_addr; + int listenfd = socket (AF_INET, SOCK_STREAM, 0); + init_addr (&serv_addr); + bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); + listen(listenfd, 1); + + /* Our non-rpc fds to sneak into svc_fdset. */ + pipe (fds); + + /* Create the client in a thread. */ + pthread_t t; + pthread_create (&t, NULL, clnt, NULL); + + /* Accept the connection. */ + int fd = accept(listenfd, (struct sockaddr*)NULL, NULL); + printf ("SERVER: Accepted connection\n"); + + /* Create our own handle. */ + svc_handle = svcfd_create (fd, 0, 0); + + if (svc_register (svc_handle, PROG, VER, dispatch, 0) == 0) + { + printf ("SERVER: Error in svc_register\n"); + exit (1); + } + + /* Use the svc_fdset to hide our own file descriptors and then 'accidentally' + let svc_getreqset process it */ + fd_set rfds = svc_fdset; + FD_SET (fds[0], &rfds); + + /* Wait for a request and process it. */ + if (select (32, &rfds, NULL,NULL,NULL) > 0) + /* This will crash with the bug. */ + svc_getreqset (&rfds); + else + { + perror ("SERVER: select returned a non-positive result"); + return 1; + } + + /* We came through without crashing. */ + printf ("SERVER: Done!\n"); + close (fd); + close (listenfd); + pthread_join (t, NULL); + close (fds[0]); + close (fds[1]); + + return 0; +} diff --git a/tests/Regression/bz1159167-segfault-in-svc_getreq_common/runtest.sh b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/runtest.sh new file mode 100755 index 0000000..1ee0fee --- /dev/null +++ b/tests/Regression/bz1159167-segfault-in-svc_getreq_common/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1159167-segfault-in-svc_getreq_common +# Description: Runs an RPC server and client test +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel libtirpc-devel" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + if rlIsRHEL ">=8"; then + rlRun -l "gcc -lpthread -ltirpc -o rpc -I /usr/include/tirpc rpc.c" + else + rlRun -l "gcc -lpthread -o rpc rpc.c" + fi + rlAssertExists "rpc" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./rpc" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/main.fmf b/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/main.fmf new file mode 100644 index 0000000..1c4ca7d --- /dev/null +++ b/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/main.fmf @@ -0,0 +1,28 @@ +summary: 'Test for bz1159809 (glibc: Improve performance of dynamic loader for deeply + nested DSO dependencies.).' +description: '' +adjust: + - enabled: false + when: arch = aarch64 + - enabled: false + when: distro < rhel-8.8 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1159809 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-static + - glibc-debuginfo + - rpm-build + - gcc-c++ + - tcsh +duration: 30m +extra-summary: + /tools/glibc/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies +extra-task: + /tools/glibc/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies diff --git a/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/manyLibs.tar.gz b/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/manyLibs.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c6fd489e441f437a5c84b152d1b064a79505571f GIT binary patch literal 5421 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 literal 0 HcmV?d00001 diff --git a/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/runtest.sh b/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/runtest.sh new file mode 100755 index 0000000..6b2f310 --- /dev/null +++ b/tests/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies/runtest.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1159809-glibc-Improve-performance-of-dynamic-loader-for-deeply-nested-DSO-dependencies +# Description: Test for bz1159809 (glibc: Improve performance of dynamic loader for deeply nested DSO dependencies.). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +BASEPATCH="glibc-rh1159809" +WATCHDOG_TIMEOUT=10 # "suitable" value in seconds, may need to be changed in the future +CPU_TIMEOUT=100 # "suitable" value in miliseconds, may need to be changed in the future + +rlJournalStart + rlPhaseStartSetup + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp manyLibs.tar.gz $TmpDir" + rlRun "pushd $TmpDir" + rlRun "tar -xvzf manyLibs.tar.gz" + # checking patches makes sense for RHEL8 only + if rlIsRHEL "8"; then + PRARCH="$(rlGetPrimaryArch)" + BUILDDIR="$(rpm -E '%{_builddir}')" + SPECDIR="$(rpm -E '%{_specdir}')" + rlAssertRpm $PACKAGE + rlLog "Build directory: $BUILDDIR" + rlLog "Spec directory: $SPECDIR" + rlLog "Architecture : $PRARCH" + + rlLog "Cleaning build and spec directories of glibc files" + rlRun "rm -rf $BUILDDIR/glibc*" 0 "Cleaning $BUILDDIR/glibc*" + rlRun "rm -rf $SPECDIR/glibc*.spec" 0 "Cleaning $SPECDIR/glibc*.spec" + rlRun "rm -rf glibc*.src.rpm" 0 "Removing any present glibc src.rpm" + + rlLog "Installing glibc srpm" + rlFetchSrcForInstalled $PACKAGE + rlRun "rpm -Uhv $PACKAGE*.src.rpm" + rlAssertExists $SPECDIR/$PACKAGE.spec + + rlRun "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependences" + fi + rlPhaseEnd + +# checking patches makes sense for RHEL8 only +if rlIsRHEL "8"; then + rlPhaseStartTest "Testing patches" + rlRun "rpmbuild -bp ${SPECDIR}/${PACKAGE}.spec &> glibc_prep_log.txt" 0 "Unpacking $PACKAGE" + ISSUCCESS=$? + if [ $ISSUCCESS -ne 0 ] + then + rlFail "Glibc preparation error" + fi + rlFileSubmit glibc_prep_log.txt + + BUILDSUBDIR="$(echo ${BUILDDIR}/glibc-*)" + rlLog "BUILDSUBDIR=$BUILDSUBDIR" + + for i in {1..12}; do + rlAssertGrep "${BASEPATCH}-${i}.patch" glibc_prep_log.txt + done + rlPhaseEnd +fi + + rlPhaseStartTest "Original reproducer" + rlRun "cd manyLibs" + rlRun "PATH=.:$PATH LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH make all" + rlWatchdog "PATH=.:$PATH LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH ./timedlopen libM16X18.so libM22X22.so > test1.out 2>&1" $WATCHDOG_TIMEOUT + rlRun "CPU_TIMES=\"$(cat test1.out | grep -oP '\K[0-9]+(?= CPU)' | tr '\n' ' ')\"" + for TIME in $CPU_TIMES; do + rlAssertLesser "Check CPU time does not exceed treshold." $TIME $CPU_TIMEOUT + done + rlWatchdog "PATH=.:$PATH LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH ./timedlopen libA101.so libB103.so > test2.out 2>&1" $WATCHDOG_TIMEOUT + rlRun "CPU_TIMES=\"$(cat test2.out | grep -oP '\K[0-9]+(?= CPU)' | tr '\n' ' ')\"" + for TIME in $CPU_TIMES; do + rlAssertLesser "Check CPU time does not exceed treshold." $TIME $CPU_TIMEOUT + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/main.fmf b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/main.fmf new file mode 100644 index 0000000..67979c3 --- /dev/null +++ b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/main.fmf @@ -0,0 +1,26 @@ +summary: Runs a test case that leads to incorrect relocation of UADDR64,32,16. +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1162847 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - libgcc + - glibc.i686 + - glibc-devel.i686 + - libgcc.i686 + - glibc.ppc + - glibc-devel.ppc + - libgcc.ppc + - glibc.s390 + - glibc-devel.s390 + - libgcc.s390 +duration: 10m +extra-summary: /tools/glibc/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations +extra-task: /tools/glibc/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations diff --git a/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/runtest.sh b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/runtest.sh new file mode 100755 index 0000000..9cd910f --- /dev/null +++ b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/runtest.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations +# Description: Runs a test case that leads to incorrect relocation of UADDR64,32,16. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + + if [ "$(uname -m)" == "s390x" ]; then + cflag="-m31" + else + cflag="-m32" + fi + + rlRun "gcc -fPIC -shared -o unaligned.so unaligned.c" + rlRun "gcc -o unaligned_main unaligned_main.c unaligned.so" + rlAssertExists "unaligned.so" + rlAssertExists "unaligned_main" + + if rlGetSecondaryArch && rlIsRHEL "<10"; then + rlRun "gcc $flag32 -fPIC -shared -o unaligned_32.so unaligned.c" + rlRun "gcc $flag32 -o unaligned_32_main unaligned_main.c unaligned_32.so" + rlAssertExists "unaligned_32.so" + rlAssertExists "unaligned_32_main" + fi + + rlPhaseEnd + + rlPhaseStartTest + rlRun "LD_LIBRARY_PATH=. ./unaligned_main" + if rlGetSecondaryArch && rlIsRHEL "<10"; then + rlRun "LD_LIBRARY_PATH=. ./unaligned_32_main" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned.c b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned.c new file mode 100644 index 0000000..be51b1b --- /dev/null +++ b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned.c @@ -0,0 +1,12 @@ +extern int foo; + +struct unalign { + char c; + void *p; +} __attribute__ ((packed)) unaligned = { '!', &foo }; + +int +result (void) +{ + return unaligned.p == &foo ? 0 : 1; +} diff --git a/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned_main.c b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned_main.c new file mode 100644 index 0000000..60ae0a5 --- /dev/null +++ b/tests/Regression/bz1162847-incorrect-handling-of-ppc64le-relocations/unaligned_main.c @@ -0,0 +1,8 @@ +int foo; +extern int result (void); + +int +main (void) +{ + return result (); +} diff --git a/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/main.fmf b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/main.fmf new file mode 100644 index 0000000..d166f2e --- /dev/null +++ b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1183088 (Generate POWER8 instructions for POWER8 runtime.) +description: | + Bug summary: Generate POWER8 instructions for POWER8 runtime. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1183088 + + This test checks whether the power8 instructions (instructions which are not contained in power7) are used in glibc on ppc64le. However the test ignore 'fmrgow' instruction. Because of 'fmrgow' was generated by gcc even for the temporary pre-POWER8 ppc64le mode. +contact: Michal Kolar +adjust: + - enabled: false + when: arch != ppc64le +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1183088 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime +extra-task: + /tools/glibc/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime diff --git a/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p10 b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p10 new file mode 100644 index 0000000..dcf37dd --- /dev/null +++ b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p10 @@ -0,0 +1,246 @@ +\sbrd\s +\sbrh\s +\sbrw\s +\scfuged\s +\scntlzdm\s +\scnttzdm\s +\sdcffixqq\s +\sdctfixqq\s +\slqm\s +\slxvkq\s +\slxvp\s +\slxvpx\s +\slxvrbx\s +\slxvrdx\s +\slxvrhx\s +\slxvrwx\s +\sMMIRR:XX3-form\s +\smtvsrbm\s +\smtvsrbmi\s +\smtvsrdm\s +\smtvsrhm\s +\smtvsrqm\s +\smtvsrwm\s +\spaddi\s +\spdepd\s +\spextd\s +\splbz\s +\spld\s +\splfd\s +\splfs\s +\splha\s +\splhz\s +\splq\s +\splwa\s +\splwz\s +\splxsd\s +\splxssp\s +\splxv\s +\splxvp\s +\spmxvbf16ger2\s +\spmxvbf16ger2nn\s +\spmxvbf16ger2np\s +\spmxvbf16ger2pn\s +\spmxvbf16ger2pp\s +\spmxvf16ger2\s +\spmxvf16ger2nn\s +\spmxvf16ger2np\s +\spmxvf16ger2pn\s +\spmxvf16ger2pp\s +\spmxvf32gernn\s +\spmxvf32gernp\s +\spmxvf32gerpn\s +\spmxvf32gerpp\s +\spmxvf64ger\s +\spmxvf64gernn\s +\spmxvf64gernp\s +\spmxvf64gerpn\s +\spmxvf64gerpp\s +\spmxvi16ger2\s +\spmxvi16ger2pp\s +\spmxvi16ger2s\s +\spmxvi16ger2spp\s +\spmxvi4ger8\s +\spmxvi4ger8pp\s +\spmxvi8ger4\s +\spmxvi8ger4pp\s +\spmxvi8ger4spp\s +\spnop\s +\spstb\s +\spstd\s +\spstfd\s +\spstfs\s +\spsth\s +\spstq\s +\spstw\s +\spstxsd\s +\spstxssp\s +\spstxv\s +\spstxvp\s +\ssetbc\s +\ssetbcr\s +\ssetnbc\s +\ssetnbcr\s +\sspom\s +\sstxvp\s +\sstxvpx\s +\sstxvrbx\s +\sstxvrdx\s +\sstxvrhx\s +\sstxvrwx\s +\svcfuged\s +\svclrlb\s +\svclrrb\s +\svclzdm\s +\svcmpequq\s +\svcmpequq\.\s +\svcmpgtsq\s +\svcmpgtsq\.\s +\svcmpgtuq\s +\svcmpgtuq\.\s +\svcmpsq\s +\svcmpuq\s +\svcntmbb\s +\svcntmbd\s +\svcntmbh\s +\svcntmbw\s +\svctzdm\s +\svdivesd\s +\svdivesq\s +\svdivesw\s +\svdiveud\s +\svdiveuq\s +\svdiveuw\s +\svdivsd\s +\svdivsq\s +\svdivsw\s +\svdivud\s +\svdivuq\s +\svdivuw\s +\svexpandbm\s +\svexpanddm\s +\svexpandhm\s +\svexpandqm\s +\svexpandwm\s +\svextddvlx\s +\svextddvrx\s +\svextdubvlx\s +\svextdubvrx\s +\svextduhvlx\s +\svextduhvrx\s +\svextduwvlx\s +\svextduwvrx\s +\svextractbm\s +\svextractdm\s +\svextracthm\s +\svextractqm\s +\svextractwm\s +\svextsd2q\s +\svgnb\s +\svinsblx\s +\svinsbrx\s +\svinsbvlx\s +\svinsbvrx\s +\svinsd\s +\svinsdlx\s +\svinsdrx\s +\svinshlx\s +\svinshrx\s +\svinshvlx\s +\svinshvrx\s +\svinsw\s +\svinswlx\s +\svinswrx\s +\svinswvlx\s +\svinswvrx\s +\svmodsd\s +\svmodsq\s +\svmodsw\s +\svmodud\s +\svmoduq\s +\svmoduw\s +\svmsumcud\s +\svmulesd\s +\svmuleud\s +\svmulhsd\s +\svmulhsw\s +\svmulhud\s +\svmulhuw\s +\svmulld\s +\svmulosd\s +\svmuloud\s +\svpdepd\s +\svpextd\s +\svrlq\s +\svrlqmi\s +\svrlqnm\s +\svsldbi\s +\svslq\s +\svsraq\s +\svsrdbi\s +\svsrq\s +\svstribl\s +\svstribl\.\s +\svstribr\s +\svstribr\.\s +\svstrihl\s +\svstrihl\.\s +\svstrihr\s +\svstrihr\.\s +\sxscmpeqqp\s +\sxscmpgeqp\s +\sxscmpgtqp\s +\sxscvqpsqz\s +\sxscvqpuqz\s +\sxscvsqqp\s +\sxscvuqqp\s +\sxsmaxcqp\s +\sxsmincqp\s +\sxvbf16ger2\s +\sxvbf16ger2nn\s +\sxvbf16ger2np\s +\sxvbf16ger2pn\s +\sxvbf16ger2pp\s +\sxvcvbf16sp\s +\sxvcvspbf16\s +\sxvf16ger2\s +\sxvf16ger2nn\s +\sxvf16ger2np\s +\sxvf16ger2pn\s +\sxvf16ger2pp\s +\sxvf32ger\s +\sxvf32gernn\s +\sxvf32gernp\s +\sxvf32gerpn\s +\sxvf32gerpp\s +\sxvf64ger\s +\sxvf64gernn\s +\sxvf64gernp\s +\sxvf64gerpn\s +\sxvf64gerpp\s +\sxvi16ger2\s +\sxvi16ger2pp\s +\sxvi16ger2s\s +\sxvi16ger2spp\s +\sxvi4ger8\s +\sxvi4ger8pp\s +\sxvi8ger4\s +\sxvi8ger4pp\s +\sxvi8ger4spp\s +\sxvtlsbb\s +\sxxblendvb\s +\sxxblendvd\s +\sxxblendvh\s +\sxxblendvw\s +\sxxeval\s +\sxxgenpcvbm\s +\sxxgenpcvdm\s +\sxxgenpcvhm\s +\sxxgenpcvwm\s +\sxxmfacc\s +\sxxmtacc\s +\sxxpermx\s +\sxxsetaccz\s +\sxxsplti32dx\s +\sxxspltidp\s +\sxxspltiw\s diff --git a/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p8 b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p8 new file mode 100644 index 0000000..410f345 --- /dev/null +++ b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p8 @@ -0,0 +1,122 @@ +\sbcdadd\.\s +\sbcdsub\.\s +\sbctar\s +\sbctarl\s +\sclrbhrb\s +\sdcblq\.\s +\sfmrgew\s +\sicblq\.\s +\slqarx\s +\slxsiwax\s +\slxsiwzx\s +\slxsspx\s +\smfbhrbe\s +\smfvsrd\s +\smfvsrwz\s +\smsgclrp\s +\smsgsndp\s +\smtsle\s +\smtvsrd\s +\smtvsrwa\s +\smtvsrwz\s +\srfebb\s +\sstqcx\.\s +\sstxsiwx\s +\sstxsspx\s +\stabort\.\s +\stabortdc\.\s +\stabortdci\.\s +\stabortwc\.\s +\stabortwci\.\s +\stbegin\.\s +\stcheck\s +\stend\.\s +\strechkpt\.\s +\streclaim\.\s +\stsr\.\s +\svaddcuq\s +\svaddecuq\s +\svaddeuqm\s +\svaddudm\s +\svadduqm\s +\svbpermq\s +\svcipher\s +\svcipherlast\s +\svclzb\s +\svclzd\s +\svclzh\s +\svclzw\s +\svcmpequd\s +\svcmpequd\.\s +\svcmpgtsd\s +\svcmpgtsd\.\s +\svcmpgtud\s +\svcmpgtud\.\s +\sveqv\s +\svgbbd\s +\svmaxsd\s +\svmaxud\s +\svminsd\s +\svminud\s +\svmrgew\s +\svmrgow\s +\svmulesw\s +\svmuleuw\s +\svmulosw\s +\svmulouw\s +\svmuluwm\s +\svnand\s +\svncipher\s +\svncipherlast\s +\svorc\s +\svpermxor\s +\svpksdss\s +\svpksdus\s +\svpkudum\s +\svpkudus\s +\svpmsumb\s +\svpmsumd\s +\svpmsumh\s +\svpmsumw\s +\svpopcntb\s +\svpopcntd\s +\svpopcnth\s +\svpopcntw\s +\svrld\s +\svsbox\s +\svshasigmad\s +\svshasigmaw\s +\svsld\s +\svsrad\s +\svsrd\s +\svsubcuq\s +\svsubecuq\s +\svsubeuqm\s +\svsubudm\s +\svsubuqm\s +\svupkhsw\s +\svupklsw\s +\sxnop\s +\sxsaddsp\s +\sxscvdpspn\s +\sxscvspdpn\s +\sxscvsxdsp\s +\sxscvuxdsp\s +\sxsdivsp\s +\sxsmaddasp\s +\sxsmaddmsp\s +\sxsmsubasp\s +\sxsmsubmsp\s +\sxsmulsp\s +\sxsnmaddasp\s +\sxsnmaddmsp\s +\sxsnmsubasp\s +\sxsnmsubmsp\s +\sxsresp\s +\sxsrsp\s +\sxsrsqrtesp\s +\sxssqrtsp\s +\sxssubsp\s +\sxxleqv\s +\sxxlnand\s +\sxxlorc\s diff --git a/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p9 b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p9 new file mode 100644 index 0000000..e197935 --- /dev/null +++ b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/patterns/patterns_p9 @@ -0,0 +1,215 @@ +\saddex\s +\saddpcis\s +\sbcdcfn\.\s +\sbcdcfsq\.\s +\sbcdcfz\.\s +\sbcdcpsgn\.\s +\sbcdctn\.\s +\sbcdctsq\.\s +\sbcdctz\.\s +\sbcds\.\s +\sbcdsetsgn\.\s +\sbcdsr\.\s +\sbcdtrunc\.\s +\sbcdus\.\s +\sbcdutrunc\.\s +\scmpeqb\s +\scmprb\s +\scnttzd\s +\scnttzd\.\s +\scnttzw\s +\scnttzw\.\s +\scopy\s +\scpabort\s +\sdarn\s +\sdtstsfi\s +\sdtstsfiq\s +\sextswsli\s +\sextswsli\.\s +\sldat\s +\slwat\s +\slxsd\s +\slxsibzx\s +\slxsihzx\s +\slxssp\s +\slxv\s +\slxvb16x\s +\slxvh8x\s +\slxvl\s +\slxvll\s +\slxvwsx\s +\slxvx\s +\smaddhd\s +\smaddhdu\s +\smaddld\s +\smcrxrx\s +\smffscdrn\s +\smffscdrni\s +\smffsce\s +\smffscrn\s +\smffscrni\s +\smffsl\s +\smfvsrld\s +\smodsd\s +\smodsw\s +\smodud\s +\smoduw\s +\smsgclru\s +\smsgsndu\s +\smsgsync\s +\smtvsrdd\s +\smtvsrws\s +\spaste\s +\spaste\.\s +\ssetb\s +\sslbiag\s +\sslbieg\s +\sslbsync\s +\sstdat\s +\sstop\s +\sstwat\s +\sstxsd\s +\sstxsibx\s +\sstxsihx\s +\sstxssp\s +\sstxv\s +\sstxvb16x\s +\sstxvh8x\s +\sstxvl\s +\sstxvll\s +\sstxvx\s +\surfid\s +\svabsdub\s +\svabsduh\s +\svabsduw\s +\svbpermd\s +\svclzlsbb\s +\svcmpneb\s +\svcmpneb\.\s +\svcmpneh\s +\svcmpneh\.\s +\svcmpnew\s +\svcmpnew\.\s +\svcmpnezb\s +\svcmpnezb\.\s +\svcmpnezh\s +\svcmpnezh\.\s +\svcmpnezw\s +\svcmpnezw\.\s +\svctzb\s +\svctzd\s +\svctzh\s +\svctzlsbb\s +\svctzw\s +\svextractd\s +\svextractub\s +\svextractuh\s +\svextractuw\s +\svextsb2d\s +\svextsb2w\s +\svextsh2d\s +\svextsh2w\s +\svextsw2d\s +\svextublx\s +\svextubrx\s +\svextuhlx\s +\svextuhrx\s +\svextuwlx\s +\svextuwrx\s +\svinsertb\s +\svinsertd\s +\svinserth\s +\svinsertw\s +\svmsumudm\s +\svmul10cuq\s +\svmul10ecuq\s +\svmul10euq\s +\svmul10uq\s +\svnegd\s +\svnegw\s +\svpermr\s +\svprtybd\s +\svprtybq\s +\svprtybw\s +\svrldmi\s +\svrldnm\s +\svrlwmi\s +\svrlwnm\s +\svslv\s +\svsrv\s +\swait\s +\sxsabsqp\s +\sxsaddqp\s +\sxsaddqpo\s +\sxscmpeqdp\s +\sxscmpexpdp\s +\sxscmpexpqp\s +\sxscmpgedp\s +\sxscmpgtdp\s +\sxscmpoqp\s +\sxscmpuqp\s +\sxscpsgnqp\s +\sxscvdphp\s +\sxscvdpqp\s +\sxscvhpdp\s +\sxscvqpdp\s +\sxscvqpdpo\s +\sxscvqpsdz\s +\sxscvqpswz\s +\sxscvqpudz\s +\sxscvqpuwz\s +\sxscvsdqp\s +\sxscvudqp\s +\sxsdivqp\s +\sxsdivqpo\s +\sxsiexpdp\s +\sxsiexpqp\s +\sxsmaddqp\s +\sxsmaddqpo\s +\sxsmaxcdp\s +\sxsmaxjdp\s +\sxsmincdp\s +\sxsminjdp\s +\sxsmsubqp\s +\sxsmsubqpo\s +\sxsmulqp\s +\sxsmulqpo\s +\sxsnabsqp\s +\sxsnegqp\s +\sxsnmaddqp\s +\sxsnmaddqpo\s +\sxsnmsubqp\s +\sxsnmsubqpo\s +\sxsrqpi\s +\sxsrqpix\s +\sxsrqpxp\s +\sxssqrtqp\s +\sxssqrtqpo\s +\sxssubqp\s +\sxssubqpo\s +\sxststdcdp\s +\sxststdcqp\s +\sxststdcsp\s +\sxsxexpdp\s +\sxsxexpqp\s +\sxsxsigdp\s +\sxsxsigqp\s +\sxvcvhpsp\s +\sxvcvsphp\s +\sxviexpdp\s +\sxviexpsp\s +\sxvtstdcdp\s +\sxvtstdcsp\s +\sxvxexpdp\s +\sxvxexpsp\s +\sxvxsigdp\s +\sxvxsigsp\s +\sxxbrd\s +\sxxbrh\s +\sxxbrq\s +\sxxbrw\s +\sxxextractuw\s +\sxxinsertw\s +\sxxperm\s +\sxxpermr\s +\sxxspltib\s diff --git a/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/runtest.sh b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/runtest.sh new file mode 100755 index 0000000..48e354a --- /dev/null +++ b/tests/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime/runtest.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1183088-Generate-POWER8-instructions-for-POWER8-runtime +# Description: Test for BZ#1183088 (Generate POWER8 instructions for POWER8 runtime.) +# Author: Michal Kolar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel" + +rlJournalStart + + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp patterns/patterns_* $TmpDir/" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + + # Instructions used by: + # POWER8: Power ISA v.2.07 + # POWER9: Power ISA v.3.0 + # POWER10: Power ISA v.3.1 + # See 'Appendix F.: Power ISA Instruction Set Sorted by Version' in Power + # ISA Specification for a complete overview. + if rlIsRHEL 7 || rlIsRHEL 8; then + PATTERNS=patterns_p8 + elif rlIsRHEL 9 || rlIsRHEL 10; then + cat patterns_p9 patterns_p10 > patterns_used + PATTERNS=patterns_used + else + rlFail "Test is not compatible with current distro." + fi + rlRun "rpm -lq glibc | grep '.so$' >libs" + while read LIB; do + echo "$LIB" + objdump -S $LIB >asm + grep -o -f $PATTERNS asm >>grepLog + done da!E|8r*k|J&(sI&28amtX!j{!bR6f02n%oRz`e0t_-Jgm^rTQu{qlVcx`>c?zlp zDh-u^%0jjBw(l}26VElGl$p0fOYsh9EjMZ2+4mMgQLx#DZdwAUw_?Hvx=-pg=z2=l zrqWz2ne0-eXxD<6O1rvyE_ZeJT!MNLYHymG7nLd%Ch6+LJ|9ol&Q@w?u|u?IJQg$L zzOfP$ufo?IF;%=G9SzkCb?+@q4xtOlrdA~2IhgGi0rghKeSe0n*~!-Ch=g8vY)}{Q zEbeSE))A7;0uJF$N6iWr%ps&75O~mrCTC_nod;xetj&A>-=<)iw$!Mo3}^9S%@|EH zFLLoF!*`?iA&@)d@x&TJym{LCqO?$zp5|Vp8W%6%3#OAONL^2RCdI{AQdyFs{-LQE z|MH5YtZEifjl|;`?h4YHc~MGeHbGomk%ko|sc5t)%Tgk$(NQUqj7l2y<77OcSr(Ib zBqc~`v@Aw$ODT;`#$qbz7sYvLQH5Sg+)6E|6nJ&!jNh+W5^9&cs&TTYs8V=2AudTu zJrG}ks(uDd29+JI%t+bhEOYLAGdb_aH%gp;x4y0Lot|R-g@XM;+1>cbi8Z>+IyB(JKl0ma1#j<;ci@qC;NfV|J5*wa zLDe?fbQd%^H~QB5vLi*Vb%zT);sQnPWL_w69R;dm51d1hYAC{lT!bF3Z$O(lHe^Ef zKGT-mD+2@LFS z450yhwsJ;M*nb=BU10YqGAD3VnpXz`9bF0gbWPeAM=V&3#G1rBmhFPQDy{E2geGyw zEIVFU$FPoMC(jBd-r8An|DDwnM@Vqg&SY23JsZewI08Mn=UHC}3(gQAd~ZdMTsP-7 zn1njPR(oTH@3OnbzaNoZ3+`!;A$8F6HbVkV>{yPMddP(UGQmHpw*qP})!1OzpN9K5 zS^`M08ybw>hvu3MKEZ9Q0z}!L0<^<_i3yD9rGH8x05O#|!$O+T@v7f{J%}|+Y;i?h zh(r3JrwA@bB_XtBPg{U-d@Sft$l+?Vno?FG081+g0#rKUXck$CCsG>24`02;56x)i zTL4@Xp=;Lp)s!SEinyxL(mN>~_|&A1aMpN2N`=K#63~xuslj@Mgquby(sDQ+)vTnC zEsD2PjaiOHk}F^Xhc(MS){$s{acWhTGK-Wy2{X;HB;J<72CH%b z)=ooJZ^9{N&@N+JyY!QHvwVqZ{L1Bda_-eXp8x&%ht{o2e?9q^f#SJqkEpYmk?fs3 z&Ufd&R?*DKliTwB3)CNuVgvaXG0hqIRpw$^;_Hr4*M z+nWn~)UxC5D7ZVoR^T^W=Jm&?x<0tIaeMuC?sUoN-yF(}K6W>)59Y+o@MBNQx|qkA z(XZ>gxnMrF-O{;TcYf2dU3W1vzU%O8+_-xq*PI{OTz+_Vt9wfs_1yRN33H{ZV9 ze6Hx~$c+7)ahBP-4cEFW$CcPqmGOQ03+~rke)Pecn|QN(Q!F<1mDul9i91d0e`{)g z&{%BhF0nmNxVmi9FJCKAEegrk2-IpJzXAXuwD%1(@FS@brmLfaL7sw4y+RpRiNh>NS^I6yz!xl zK7@j1g`7ehf!3f&A3wba3qeNlL#Hu=BjNF>;p>`h=GxVX@X#nfIH^(dagsEO6nQ(Q zB$xC!hJ1%iN+sc8LXouHPf&{FkJ1C0^ydgkiv3KWmc)2MxdMbyLWD;%NdV5hapmrn z``#~3e0Jgw-ko6oqhNoL8^{cmDfSoR?~fOpz7pjp@07;YPv86Kz5GnEF}QADqjx?2 zytn9SUt`Ohr^NZn_PULU^@$w&cl%lW?lm?XCMLt-%FdJ~FsZbXhGeY12i+gSNuEgI z@b8c=y6-Ui{iS4dWl{QpG6?MCm!y(-dS=EL@7WP{{sTFlvB*+i@SG}B?wYo~&~Um; w9cr@^&s;2L$}rEp4&3?N@58OnhcJWNpEV%LzLqYTo4=yipO5^ +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1217186 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - bind-utils + - gcc + - glibc + - glibc-devel + - tcpdump + - python3 + - python3-pip +duration: 10m +extra-summary: /tools/glibc/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry +extra-task: /tools/glibc/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry diff --git a/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/ns.py b/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/ns.py new file mode 100755 index 0000000..674e828 --- /dev/null +++ b/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/ns.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +# A simple nameserver that responds to queries for "A" records of a few +# predefined host names. For all other queries returns a reply with "NXDOMAIN" +# rcode. + +from dnslib import DNSRecord, QTYPE, RCODE +from dnslib.server import DNSServer, DNSLogger +from dnslib.dns import RR +import time + +class TestResolver: + def resolve(self, request, handler): + for question in request.questions: + print("query: " + str(question), flush=True) + rdata = "" + if ((question.get_qname() == "foo.red.hat.") or \ + (question.get_qname() == "bar.red.hat.") or \ + (question.get_qname() == "baz.red.hat.") or \ + (question.get_qname() == "bizz.red.hat.") or \ + (question.get_qname() == "buzz.red.hat.") or \ + (question.get_qname() == "fizz.red.hat.")) and \ + (question.qtype == QTYPE.A): + rdata = "127.126.125.124" + reply = request.reply() + reply.add_answer(*RR.fromZone(f"{question.get_qname()} 0 IN {QTYPE[question.qtype]} {rdata}")) + reply.header.rcode = RCODE.NOERROR + return reply + else: + if (question.get_qname() == "diff.red.hat."): + rdata = "127.0.0.1" + reply = request.reply() + reply.add_answer(*RR.fromZone(f"{question.get_qname()} 0 IN {QTYPE[question.qtype]} {rdata}")) + reply.header.rcode = RCODE.NOERROR + return reply + reply = request.reply() + reply.header.rcode = RCODE.NXDOMAIN + return reply + +resolver = TestResolver() +logger = DNSLogger(prefix=False) +server = DNSServer(resolver, port=53, address="localhost", logger=logger, tcp=False) +server.start_thread() + +while True: + time.sleep(1) diff --git a/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/runtest.sh b/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/runtest.sh new file mode 100755 index 0000000..c73b729 --- /dev/null +++ b/tests/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry/runtest.sh @@ -0,0 +1,208 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1217186-rlogind-multiple-DNS-lookups-per-rhosts-entry +# Description: Tests ruserok function for DNS lookups +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel tcpdump" + +rlJournalStart + rlPhaseStartSetup + rlFileBackup /etc/hosts + rlAssertRpm --all $REQUIRES + rlRun "python3 -m pip install dnslib" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c ns.py $TmpDir" + rlRun "pushd $TmpDir" + + # Test program + rlRun "gcc -Wall -pedantic tst-ruserok.c -o tst-ruserok" + rlAssertExists "tst-ruserok" + + # Config + rlFileBackup --clean "/etc/hosts.equiv" + rlRun "rm -f /etc/hosts.equiv" + + # Clean root user + rlFileBackup --clean "/root/.rhosts" + rlRun "rm -f /root/.rhosts" + + # Clean non-root user + rlRun "useradd -m -g users bz1217186" + rlAssertExists "/home/bz1217186" + + # Another clean non-root user + rlRun "useradd -m -g users fizzbuzz" + rlAssertExists "/home/fizzbuzz" + + # Name Server + rlFileBackup --clean /etc/resolv.conf + rlRun "echo 'nameserver 127.0.0.1' > /etc/resolv.conf" + rlPhaseEnd + +function start_ns_tdump +{ + rlRun "./ns.py &> ${rsh_user}.ns.out &" + rlRun "NS_PID=$!" + rlRun "tcpdump -nn -i any port 53 &> ${rsh_user}.tcpdump.out &" + rlRun "TCPDUMP_PID=$!" + rlRun "sleep 5" +} + +function stop_ns_tdump +{ + rlRun "sleep 5" + rlRun "kill $TCPDUMP_PID" + rlRun "kill $NS_PID" + rlRun "sleep 5" + rlRun "kill -0 $TCPDUMP_PID" 1-255 && rlRun "kill -9 $TCPDUMP_PID" + rlRun "kill -0 $NS_PID" 1-255 && rlRun "kill -9 $NS_PID" +} + +function test_with +{ + rsh_user=$1 + is_root=$2 + + #1 when ~/.rhosts is empty: ruserok fails + rlRun "./tst-ruserok baz.red.hat $is_root $rsh_user $rsh_user" 255 + + #2 when ~/.rhosts is populated: avoid useless DNS queries, + # and ruserok fails due to bizz.red.hat having same IP as baz.red.hat + rlRun "cat > ~${rsh_user}/.rhosts < ~${rsh_user}/.rhosts < ~${rsh_user}/.rhosts < ~${rsh_user}/.rhosts < +#include +#include +#include + +void +usage (const char *prog) +{ + printf ("Usage: %s rhost 0/1 ruser luser\n", prog); + exit (EXIT_FAILURE); +} + +int +main (int argc, char *argv[]) +{ + char *prog, *rhost, *ruser, *luser; + int superuser; + + prog = argv[0]; + + if (argc != 5) + usage (prog); + + rhost = argv[1]; + ruser = argv[3]; + luser = argv[4]; + + errno = 0; + superuser = strtol (argv[2], NULL, 0); + if (errno || ((superuser != 0) && (superuser !=1))) + usage (prog); + + exit (ruserok (rhost, superuser, ruser, luser)); +} diff --git a/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/main.fmf b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/main.fmf new file mode 100644 index 0000000..4bd42f2 --- /dev/null +++ b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/main.fmf @@ -0,0 +1,16 @@ +summary: Tests for presence of TCP_USER_TIMEOUT in netinet/tcp.h +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1219891 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header +extra-task: /tools/glibc/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header diff --git a/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/runtest.sh b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/runtest.sh new file mode 100755 index 0000000..fd3b280 --- /dev/null +++ b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/runtest.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header +# Description: Tests for presence of TCP_USER_TIMEOUT in netinet/tcp.h +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc tst-TCP_USER_TIMEOUT.c" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/tst-TCP_USER_TIMEOUT.c b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/tst-TCP_USER_TIMEOUT.c new file mode 100644 index 0000000..11eb0ee --- /dev/null +++ b/tests/Regression/bz1219891-missing-TCP_USER_TIMEOUT-in-netinet-tcp-header/tst-TCP_USER_TIMEOUT.c @@ -0,0 +1,7 @@ +#include + +#ifndef TCP_USER_TIMEOUT +#error TCP_USER_TIMEOUT not defined +#endif + +int main (void) {return 0;} diff --git a/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/main.fmf b/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/main.fmf new file mode 100644 index 0000000..f03bba4 --- /dev/null +++ b/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/main.fmf @@ -0,0 +1,15 @@ +summary: gai.conf is owned by glibc not glibc-common and misses attributes +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1223818 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-common +duration: 5m +extra-summary: /tools/glibc/Regression/bz1223818-gai-conf-ownership-and-attributes +extra-task: /tools/glibc/Regression/bz1223818-gai-conf-ownership-and-attributes diff --git a/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/runtest.sh b/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/runtest.sh new file mode 100755 index 0000000..683c38c --- /dev/null +++ b/tests/Regression/bz1223818-gai-conf-ownership-and-attributes/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1223818-gai-conf-ownership-and-attributes +# Description: gai.conf is owned by glibc not glibc-common and misses attributes +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="glibc glibc-common" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlFileBackup --clean /etc/gai.conf + rlPhaseEnd + +function test_gai_conf () +{ + rlRun -c "/bin/rpm -V glibc glibc-common --nodigest --nosignature --nolinkto --nosize --nouser --nogroup --nomtime --nordev --nocaps --nomode > rpm-V.out" + rlAssertEquals "rpm -V should produce no output" "0" "$(cat rpm-V.out | wc -l)" + rlRun -l "cat rpm-V.out" +} + rlPhaseStartTest + test_gai_conf + rlRun "echo ' ' >> /etc/gai.conf" + test_gai_conf + rlPhaseEnd + + rlPhaseStartCleanup + rlFileRestore + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/debug_scrpt b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/debug_scrpt new file mode 100644 index 0000000..6bb483f --- /dev/null +++ b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/debug_scrpt @@ -0,0 +1,16 @@ +set pagination off +set non-stop off + +break prog.c:17 +run +clear prog.c:17 +set scheduler-locking on + +thread 2 +break malloc.c:_int_malloc thread 2 +continue + +thread 3 +break reused_arena thread 3 +continue +break prog.c:18 thread 3 diff --git a/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/main.fmf b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/main.fmf new file mode 100644 index 0000000..d0dc859 --- /dev/null +++ b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/main.fmf @@ -0,0 +1,36 @@ +summary: Test for BZ#1255822 (glibc malloc may fall back to calling mmap) +description: | + Bug summary: glibc: malloc may fall back to calling mmap prematurely if arenas are contended + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1255822 + + prog.c: + - set arena limit to 1 + - start two threads which calls malloc() + + debug_scrpt: + - advance first thread until it take arena lock (past 'arena_get') + - advance second thread until it try take arena lock + + expectation: + - arena limit should cause second thread is stuck on arena lock + (breakpoint __lll_lock_wait_private) + + - test FAILs if thread is not stuck but finished +contact: Michal Kolar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1255822 +component: + - glibc + - glibc-devel + - gcc + - gdb +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-devel + - gcc + - gdb +duration: 5m +extra-summary: /tools/glibc/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap +extra-task: /tools/glibc/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap diff --git a/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.c b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.c new file mode 100644 index 0000000..82f8f93 --- /dev/null +++ b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include + +typedef struct thread_info { + pthread_t thread_id; + int thread_num; +} THREAD_INFO; + +void *thread_fcn(void *arg) +{ + char *p; + + sleep(1); + p = (char *) malloc(sizeof(char) * 2); + free(p); + return NULL; +} + +int main(int argc, char *argv[]) +{ + THREAD_INFO thread[2]; + int i; + + if (!(errno = mallopt(M_ARENA_MAX, 1))) { + errno = EPERM; + perror("mallopt"); + exit(EXIT_FAILURE); + } + + for (i = 0; i < 2; ++i) { + thread[i].thread_num = i; + if((errno = pthread_create(&thread[i].thread_id, NULL, &thread_fcn, &thread[i]))) { + perror("pthread_create"); + exit(EXIT_FAILURE); + } + } + for (i = 0; i < 2; ++i) { + if((errno = pthread_join(thread[i].thread_id, NULL))) { + perror("pthread_join"); + exit(EXIT_FAILURE); + } + } + + exit(EXIT_SUCCESS); +} diff --git a/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.mk b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.mk new file mode 100644 index 0000000..21be583 --- /dev/null +++ b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/prog.mk @@ -0,0 +1,6 @@ +prog: prog.c + gcc -Wall -g -O0 -lpthread -o prog prog.c + +.PHONY: clean +clean: + rm -rf prog diff --git a/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/runtest.sh b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/runtest.sh new file mode 100755 index 0000000..c5feaac --- /dev/null +++ b/tests/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap/runtest.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1255822-glibc-malloc-may-fall-back-to-calling-mmap +# Description: Test for BZ#1255822 (glibc malloc may fall back to calling mmap) +# Author: Michal Kolar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +FILE='lowlevellock.S' +SLEEP=8 + + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp prog.mk prog.c debug_scrpt $TmpDir" + rlRun "pushd $TmpDir" + + if rlIsRHEL ">=9"; then + FUNCTION='__GI___lll_lock_wait_private' + else + FUNCTION='__lll_lock_wait_private' + fi + + rlRun "mv prog.mk makefile" + rlRun "make" + rlRun "debuginfo-install -y glibc.$(arch)" + + if [ "$(arch)" = "x86_64" ] && rlIsRHEL "<9"; then + file=$(find /usr/src/debug | grep $FILE) + if [ $? -ne 0 ]; then + rlFail "File should be found" + else + line=$(cat -n $file | grep "${FUNCTION}:$" | grep -o -E '[0-9]+' | head -n 1) + if [ $? -ne 0 ]; then + rlRun "false" "Line number should be found" + else + rlRun "echo \"break ${FILE}:${line} thread 3\" >>debug_scrpt" + fi + fi + else + rlRun "echo -e \"break lowlevellock.c:${FUNCTION} thread 3\n\" >> debug_scrpt" + fi + rlRun "echo -e \"continue\n\nquit\" >>debug_scrpt" + rlPhaseEnd + + + rlPhaseStartTest + rlRun "gdb -x debug_scrpt ./prog >log &" + rlRun "sleep $SLEEP" + + pid=$(pidof gdb) + if [ "$pid" != "" ]; then + rlRun "kill -9 $pid" + rlRun "false" "GDB should be finished" + fi + + rlRun "grep 'Breakpoint 5,.*${FUNCTION}' log" + rlFileSubmit log + rlPhaseEnd + + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/compres.pl b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/compres.pl new file mode 100755 index 0000000..dd253f8 --- /dev/null +++ b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/compres.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl +use strict; + +my $delta=0.01; +my $meerror=2; +my ($valB,$valA)=(@ARGV[0],@ARGV[1]); +#print $val1, $val2; + +my $difab=abs(($valB+$delta) - ($valA+$delta)); +my $allowdiff=($valB+$delta)*$meerror; +print "$difab > $allowdiff\n"; +if($difab > $allowdiff){ + exit 1; +} else {exit 0;}; diff --git a/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/create_ifs.pl b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/create_ifs.pl new file mode 100755 index 0000000..9e94d3a --- /dev/null +++ b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/create_ifs.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl + +sub ipaddrtool{ + my $add = $_[0]; + my $addrCount = $_[1]; + my $addrIface = $_[2]; #interface + my $cmd; + my $cmd = $add ? "add" : "del"; + my $nmaskfix = $add ? "" : "/32"; + print "cmd:$cmd\n"; + + for (my $i=1; $i < $addrCount; $i++) { + my $w1 = ($i % 254) + 1; + my $w2 = ($i / 254) + 1; + my $s = sprintf("ip addr %s 10.5.%d.%d%s dev %s", $cmd, $w2, $w1, $nmaskfix, $addrIface); + #print "$s\n"; + system ($s) == 0 or die "system: \"$s\" failed: $?"; + } +} + +print "$ARGV[0],$ARGV[1], $ARGV[2]\n"; +ipaddrtool($ARGV[0], $ARGV[1], $ARGV[2]); + diff --git a/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/getaddr.c b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/getaddr.c new file mode 100644 index 0000000..4d48101 --- /dev/null +++ b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/getaddr.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[] ) { + struct addrinfo ai; + struct addrinfo *ailist = NULL; + int ret=0; + memset(&ai, 0, sizeof(ai)); + ai.ai_family = AF_INET; + ai.ai_flags = AI_PASSIVE; + + /* + if(argc != 2) { + printf("usage: %s ipaddress\n",argv[0]); + } + ret=getaddrinfo(argv[1], "0", &ai, &ailist); + */ + ret=getaddrinfo("10.5.1.1", "0", &ai, &ailist); + if(ret!=0) { + fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret)); + return 1; + } + + freeaddrinfo(ailist); + return 0; +} diff --git a/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/main.fmf b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/main.fmf new file mode 100644 index 0000000..a20f66c --- /dev/null +++ b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1270950 (getaddrinfo() takes long time when lots of IP) +description: | + Bug summary: getaddrinfo() takes long time when lots of IP addresses are configured + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1270950 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1270950 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - gawk + - glibc + - time + - perl + - bc +tag: + - regression + - slow +duration: 2h +extra-summary: /tools/glibc/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP +extra-task: /tools/glibc/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP diff --git a/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/runtest.sh b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/runtest.sh new file mode 100755 index 0000000..f238b32 --- /dev/null +++ b/tests/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP/runtest.sh @@ -0,0 +1,104 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1270950-getaddrinfo-takes-long-time-when-lots-of-IP +# Description: Test for BZ#1270950 (getaddrinfo() takes long time when lots of IP) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +IPCOUNT=60000 +GETADDRFILE="getaddr" +CHECKCOUNT=5 +CHECKFILE="timeres" +AVGVAL="" +IFACE="" + +getAverageTime () { + + SUMVAL=0 + for ((i=0;i opc" + rlRun "IPEXPECTCO=$(cat opc)" + rlAssertGreaterOrEqual "Check created ip interfaces:$IPEXPECTCO and expected: $IPCOUNT" $IPEXPECTCO $IPCOUNT + rlPhaseEnd + + rlPhaseStartTest + rlLog "Get evaluated time after addresses creating" + getAverageTime + VALAFTER=$AVGVAL + rlLog "VALAFTER=$VALAFTER" + rlPhaseEnd + + rlPhaseStartTest + rlLog "Compare results" + rlRun -l "./compres.pl $VALBEFORE $VALAFTER" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun -l "./create_ifs.pl 0 $IPCOUNT \"$IFACE\"" 0 "Removing $IPCOUNT ip" + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/libc_fork_test.c b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/libc_fork_test.c new file mode 100644 index 0000000..bba25f6 --- /dev/null +++ b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/libc_fork_test.c @@ -0,0 +1,151 @@ +/* Gathered from https://bugzilla.redhat.com/show_bug.cgi?id=1275384#c1 */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static pid_t parent_pid; +static struct sigaction abort_sa; + +static void *_syslog_thread_fn(void *arg) +{ + unsigned int count = 0; + int tid = syscall(SYS_gettid); + + while(1) { + syslog(LOG_USER | LOG_DEBUG, "Message #%u from thread %d\n", count++, tid); + usleep(1000); + } + + return NULL; +} + +static void *_dprintf_thread_fn(void *arg) +{ + unsigned int count = 0; + int tid = syscall(SYS_gettid); + + while (1) { + dprintf(STDERR_FILENO, "Message #%u from thread %d\n", count++, tid); + usleep(1000); + } + + return NULL; +} + +static void _sig_handler(int signum, siginfo_t *siginfo, void *context) +{ + char msg[64]; + int len; + pid_t my_pid; + + my_pid = getpid(); + + len = snprintf(msg, sizeof(msg), "signal handler called for signal %d (PID %d)!!!\n", signum, (int)my_pid); + (void)write(STDERR_FILENO, msg, len); + + if (my_pid != parent_pid) + kill(parent_pid, SIGABRT); + + abort(); +} + +static void _abort_handler(int signum, siginfo_t *siginfo, void *context) +{ + char msg[64]; + int len; + + len = snprintf(msg, sizeof(msg), "abort signal received in process %d!!!\n", (int)getpid()); + (void)write(STDERR_FILENO, msg, len); + + (void)sigaction(SIGABRT, &abort_sa, NULL); + abort(); +} + +int main(int argc, char *argv[]) +{ + struct sigaction sa = { + .sa_sigaction = _sig_handler, + .sa_flags = SA_SIGINFO | SA_RESTART, + }; + pthread_t thread; + pthread_attr_t thread_attr; + int num_threads; + int r; + + if (argc != 2) { + fprintf(stderr, "usage: %s \n", argv[0]); + return 1; + } + + num_threads = atoi(argv[1]); + if (num_threads <= 0 || num_threads > 64) { + fprintf(stderr, "invalid number of threads specified!!\n"); + return 1; + } + + parent_pid = getpid(); + + sigfillset(&sa.sa_mask); + (void)sigaction(SIGSEGV, &sa, NULL); + (void)sigaction(SIGBUS, &sa, NULL); + (void)sigaction(SIGILL, &sa, NULL); + (void)sigaction(SIGFPE, &sa, NULL); + + sa.sa_sigaction = _abort_handler; + (void)sigaction(SIGABRT, &sa, &abort_sa); + + (void)pthread_attr_init(&thread_attr); + (void)pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); + + fprintf(stderr, "creating %d syslog threads\n", num_threads); + for (r = 0; r < num_threads; r++) { + if (pthread_create(&thread, &thread_attr, _syslog_thread_fn, NULL) != 0) { + fprintf(stderr, "failed to create syslog thread!!\n"); + return 1; + } + } + + fprintf(stderr, "creating %d dprintf threads\n", num_threads); + for (r = 0; r < num_threads; r++) { + if (pthread_create(&thread, &thread_attr, _dprintf_thread_fn, NULL) != 0) { + fprintf(stderr, "failed to create dprintf thread!!\n"); + return 1; + } + } + + (void)pthread_attr_destroy(&thread_attr); + + while(1) { + pid_t child; + int status; + + child = fork(); + if (child == 0) { + /* this is the child */ + char msg[64]; + int len; + len = snprintf(msg, sizeof(msg), "entered child process %d\n", (int)getpid()); + (void)write(STDERR_FILENO, msg, len); + usleep(1000); + _exit(0); + } + else if (child == -1) { + fprintf(stderr, "failed to fork child!!\n"); + return 1; + } + else { + while (waitpid(child, &status, 0) == -1 && errno == EINTR); + fprintf(stderr, "child process %d exited with status %d\n", (int)child, status); + } + } + + return 0; +} diff --git a/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/main.fmf b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/main.fmf new file mode 100644 index 0000000..d4596f2 --- /dev/null +++ b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/main.fmf @@ -0,0 +1,19 @@ +summary: What the test does +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1275384 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - valgrind +duration: 15m +extra-summary: + /tools/glibc/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf +extra-task: + /tools/glibc/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf diff --git a/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/runtest.sh b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/runtest.sh new file mode 100755 index 0000000..4b46948 --- /dev/null +++ b/tests/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1275384-fork-segfaults-in-mt-application-executing-dprintf +# Description: What the test does +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun -l "gcc -g -std=gnu99 -pedantic -lpthread libc_fork_test.c -o libc_fork_test" + rlAssertExists "libc_fork_test" + rlPhaseEnd + + rlPhaseStartTest + for i in {1..10}; do + rlRun "./libc_fork_test 64 &> out &" + rlRun "FORK_TEST_PID=$!" + rlRun "sleep 30" + rlRun "kill -0 $FORK_TEST_PID" && rlRun "kill -9 $FORK_TEST_PID" + rlAssertNotGrep "abort" out "-i" + rlRun "rm -f out" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.c b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.c new file mode 100644 index 0000000..bb52202 --- /dev/null +++ b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.c @@ -0,0 +1,124 @@ +#include +#include +#include +#include +#include + +#define FUNC "identify" +/* The nth static dlopen from a thread used to fail. */ +#define TEST_MAX_STATIC_DLOPEN 14 + +/* Dynamically open FILE and call FUNC. */ +void * +load_dso (char *file) +{ + void *dso; + void (*func) (void); + char *err; + /* Open the DSO. */ + dso = dlopen (file, RTLD_NOW|RTLD_LOCAL); + if (dso == NULL) + { + err = dlerror (); + fprintf (stderr, "FAIL: %s\n", err); + exit (1); + } + /* Clear any errors. */ + dlerror (); + + /* Lookup func. */ + *(void **) (&func) = dlsym (dso, FUNC); + if (func == NULL) + { + err = dlerror (); + if (err != NULL) + { + fprintf (stderr, "FAIL: %s\n", err); + exit (1); + } + } + /* Call func twice. */ + (*func) (); + + return dso; +} + +/* Work data for thread. */ +struct work_block { + int argc; + char **argv; +}; + +/* Worker thread runs this code. */ +void * +worker (void *data) +{ + struct work_block *wb = (struct work_block *) data; + int i; + void **libs; + /* Number of libraries to load. */ + libs = (void **)malloc (sizeof (void *) * wb->argc); + for (i = 1; i < wb->argc; i++) + { + libs[i] = load_dso (wb->argv[i]); + if (libs[i] == NULL) + { + if (i == TEST_MAX_STATIC_DLOPEN) + fprintf (stderr, "FAIL: Fix missing. Failed to load DSO #%d.\n", i); + else + fprintf (stderr, "FAIL: Failed at DSO #%d, should have failed at #%d\n", + i, TEST_MAX_STATIC_DLOPEN); + + exit (1); + } + } + free (libs); + fprintf (stderr, "PASS: Loaded %d DSOs successfully.\n", i - 1); + return NULL; +} + +int +main (int argc, char **argv) +{ + int i, ret, tnum = 1; + pthread_t *threads; + struct work_block wb; + void *retval; + + threads = (pthread_t *) malloc (sizeof (pthread_t) * tnum); + if (threads == NULL) + { + perror ("FAIL: Failed to allocate threads array."); + exit (1); + } + + /* Assign work block data. */ + wb.argc = argc; + wb.argv = argv; + + /* Create threads. */ + for (i = 0; i < tnum; i++) + { + ret = pthread_create (&threads[i], NULL, worker, &wb); + if (ret != 0) + { + fprintf (stderr, "FAIL: Failed to create thread #%d with error %d.\n", i, ret); + exit (1); + } + } + + /* Join threads. */ + for (i = 0; i < tnum; i++) + { + ret = pthread_join (threads[i], &retval); + if (ret != 0) + { + fprintf (stderr, "FAIL: Failed to join thread #%d with error %d.\n", i, ret); + exit (1); + } + } + + free (threads); + + return 0; +} diff --git a/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.fmf b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.fmf new file mode 100644 index 0000000..91306f2 --- /dev/null +++ b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/main.fmf @@ -0,0 +1,18 @@ +summary: Loads several DSOs +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1291270 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS +extra-task: + /tools/glibc/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS diff --git a/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/runtest.sh b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/runtest.sh new file mode 100755 index 0000000..919d61f --- /dev/null +++ b/tests/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS/runtest.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1291270-support-loading-more-dynamic-shared-objects-with-static-TLS +# Description: Loads several DSOs +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp main.c $TmpDir" + rlRun "pushd $TmpDir" + + # Prepare 30 shared libs using static TLS + + name=libusetls + for i in {1..30}; do + +cat > ${name}${i}.c < +#include + +__thread int idvar = ${i}; +__thread char name[] = "${name}${i}.c"; + +void +identify (void) +{ + printf ("Library id #%d (%s)\n", idvar, name); +} +EOF + rlLog "Wrote ${name}${i}.c" + rlRun "gcc -Wl,-soname=${name}${i}.so -shared -fPIC -ftls-model=initial-exec -g3 -O0 -o ${name}${i}.so ${name}${i}.c -lpthread" + rlAssertExists "${name}${i}.so" + done + + # Compile main program + rlRun "gcc -g3 -O0 -Wall -pedantic -o main main.c -ldl -lpthread" + rlPhaseEnd + + rlPhaseStartTest + rlRun "LD_LIBRARY_PATH=. ./main *.so >main.out 2>main.err" + rlAssertNotGrep "FAIL" main.err + rlAssertGrep "PASS" main.err + rlAssertGrep "Loaded 30 DSOs successfully" main.err + rlLog "-- tail main.out: --" + rlLog "$(tail main.out)" + rlLog "--------------------" + rlLog "-- cat main.err: --" + rlLog "$(cat main.err)" + rlLog "--------------------" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/main.fmf b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/main.fmf new file mode 100644 index 0000000..09785a9 --- /dev/null +++ b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/main.fmf @@ -0,0 +1,17 @@ +summary: Test exercises POSIX AIO in the presence of large static TLS block of 4KB + per thread. +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1299319 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS +extra-task: /tools/glibc/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS diff --git a/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/runtest.sh b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/runtest.sh new file mode 100755 index 0000000..3321766 --- /dev/null +++ b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS +# Description: Test exercises POSIX AIO in the presence of large static TLS block of 4KB per thread. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp test-rh1299319.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -lrt -DCRASH test-rh1299319.c -o test-rh1299319" + rlAssertExists "test-rh1299319" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./test-rh1299319 &>out" + rlAssertGrep "operation completed successfully" out + rlAssertNotGrep "Invalid argument" out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -rf $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/test-rh1299319.c b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/test-rh1299319.c new file mode 100644 index 0000000..b642ee2 --- /dev/null +++ b/tests/Regression/bz1299319-POSIX-AIO-returns-EINVAL-to-apps-using-TLS/test-rh1299319.c @@ -0,0 +1,65 @@ +/* Taken from sourceware bug 10643: + * https://sourceware.org/bugzilla/show_bug.cgi?id=10643*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Create 4KB of static TLS per thread. This should be enough to + consume the thread's default stack space. */ +__thread int x[4096]; + +struct aiocb *do_aio_write(int fd, char *buf, int len, int offset) { + struct aiocb *op = calloc(1, sizeof(struct aiocb)); + if (!op) { + printf("Could not allocate memory\n"); + exit(1); + } + op->aio_fildes = fd; + op->aio_buf = buf; + op->aio_nbytes = len; + op->aio_offset = offset; + if (aio_write(op) == -1) { + perror("do_aio_write"); + } + return op; +} + +void wait_for_aio_write(struct aiocb *op) { + int status; + do { + status = aio_error(op); + } while (status == EINPROGRESS); + + if (status == 0) + printf("operation completed successfully\n"); + else + printf("failure: %s\n", strerror (status)); +} + +int main() { + char buf1[] = "Hello World\n"; + char buf2[] = "Goodbye World\n"; + int fd; + struct aiocb *op1, *op2; + + fd = open("foo.txt", O_CREAT | O_WRONLY | O_TRUNC); + if (fd == -1) { + perror("open"); + exit(1); + } + + op1 = do_aio_write(fd, buf1, strlen(buf1), 0); + op2 = do_aio_write(fd, buf2, strlen(buf2), strlen(buf1)); + + wait_for_aio_write(op1); + wait_for_aio_write(op2); + + close(fd); + return 0; +} diff --git a/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/main.fmf b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/main.fmf new file mode 100644 index 0000000..d1d988a --- /dev/null +++ b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/main.fmf @@ -0,0 +1,42 @@ +summary: Test for BZ#1310530 (memory leak in libio/wfileops.c do_ftell_wide) +description: | + Bug summary: memory leak in libio/wfileops.c do_ftell_wide + Bugzilla links: + https://bugzilla.redhat.com/show_bug.cgi?id=1310530 + https://bugzilla.redhat.com/show_bug.cgi?id=1323781 + + --> ftell() is a function that returns your position within an opened file + + --> file can be opened/treated in wide-char mode + + --> when a file is opened in the wide-char mode, do_ftell_wide() function is + called within ftell(), since it has to be handled differently + + --> when a content is being written to a file, it might spend some time in a + file buffer, it depends on multiple things + + --> there was a memory leak when do_ftell_wide() was called against a file + that has something in the buffer that has not been flushed yet + + ============================================================================= + ----> we need to open a file in wide mode, leave something in the buffer, + call ftell() that will call do_ftell_wide() and check whether there + is some leaking memory (FAIL) or not (PASS) + ============================================================================= +contact: Michael Petlan +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1310530 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-debuginfo + - gcc + - valgrind + - gdb +duration: 10m +extra-summary: /tools/glibc/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide +extra-task: /tools/glibc/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide diff --git a/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/reproduce-helper.c b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/reproduce-helper.c new file mode 100644 index 0000000..b6af093 --- /dev/null +++ b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/reproduce-helper.c @@ -0,0 +1,75 @@ +#include +#include +#include +#include +#include +#include + +#define N 50 +#define X 100 + +int main(void) +{ + char *filename = "test.dat"; + wchar_t *wstr = L"Byla jednou jedna sladká dívenka, kterou musel milovat každý, jen ji uviděl, ale nejvíce ji milovala její babička, která by jí snesla i modré z nebe. Jednou jí darovala čepeček karkulku z červeného sametu a ten se vnučce tak líbil, že nic jiného nechtěla nosit, a tak jí začali říkat Červená Karkulka."; + char *buf; + size_t bufsize; + long pos; + int i, j; + FILE *f; + + // set locale to use utf-8 + if(setlocale (LC_ALL, "en_US.UTF-8") == NULL) + { + printf("Cannot set en_US.UTF-8 locale.\n"); + return 1; + } + + // prepare a buffer for the file + bufsize = (wcslen(wstr) + X) * sizeof(char) * N * X; + buf = malloc(bufsize); + if(buf == NULL) + { + printf("malloc failed\n"); + return 1; + } + + // open the file in widechar mode + f = fopen(filename, "w+,ccs=utf-8"); + if(f == NULL) + { + printf("fopen failed, errno = %i\n", errno); + free(buf); + return 1; + } + + // customize the buffering in order to avoid flushing + if(setvbuf(f, buf, _IOFBF, bufsize)) + { + printf("setvbuf failed, errno = %i\n", errno); + fclose(f); + free(buf); + return 1; + } + + // do the actual testing + for(i = 0; i < N; i++) + { + // write something to the file (it should remain in buf) + for(j = 0; j < X; j++) + fwprintf(f, L"%ls", wstr); + + // call the ftell() function that should leak some memory + // in case bug is reproduced + pos = ftell(f); + + // debug messages... + fprintf(stderr, "Iteration %i\tpos = %li\n", i, pos); + } + + // clean-up + fclose(f); + free(buf); + + return 0; +} diff --git a/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/runtest.sh b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/runtest.sh new file mode 100755 index 0000000..cf37814 --- /dev/null +++ b/tests/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1310530-memory-leak-in-libio-wfileops-c-do-ftell-wide +# Description: Test for BZ#1310530 (memory leak in libio/wfileops.c do_ftell_wide) +# Author: Michael Petlan +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlCheckRpm "glibc-debuginfo" || yum --enablerepo=*debuginfo* install `rpmquery glibc | sed 's/glibc/glibc-debuginfo/'` + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp reproduce-helper.c $TmpDir/" + rlRun "pushd $TmpDir" + rlRun "cc -o reproduce-helper -g reproduce-helper.c" 0 "Building the example" + rlAssertExists "reproduce-helper" + rlPhaseEnd + + rlPhaseStartTest + rlRun "valgrind --leak-check=full --log-file=valgrind.log ./reproduce-helper" + # cat the file to TESTOUT.log + cat valgrind.log + rlAssertNotGrep "do_ftell_wide" "valgrind.log" # this is the thing that must not be there + rlAssertNotGrep "_IO_wfile_seekoff" "valgrind.log" # a backup, sometimes valgrind does not catch do_ftell_wide (might be a valgrind bug) + rlAssertNotGrep "3 of 4" "valgrind.log" # this is nasty, but can help for now + rlAssertNotGrep "4 of 4" "valgrind.log" # this is nasty, but can help for now + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/gen.sh b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/gen.sh new file mode 100755 index 0000000..4760e16 --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/gen.sh @@ -0,0 +1,37 @@ +#!/bin/bash +ARGS=$# + +if [[ "$ARGS" -ne "1" ]] +then + echo "FAIL, passed wrong arguments" + exit 1 +fi + +#IN_FILE="inttypes.txt" +IN_FILE=$1 + +echo "#include " +echo "#include " +echo "#include " +echo "" + +echo "int main () {" + +while IFS= read -r macro +do + #echo "$macro" + #gen string + echo "#if defined ($macro)" + echo -n -e '\t' + echo "printf(\"$macro is defined, PASS\n\");" + echo "#else" + echo -n -e '\t' + echo "printf(\"$macro is not defined, FAIL\n\");" + echo -n -e '\t' + echo "return 1;" + echo "#endif" + echo "" + +done < "$IN_FILE" + +echo "}" diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/inttypes.txt b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/inttypes.txt new file mode 100644 index 0000000..fd050db --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/inttypes.txt @@ -0,0 +1,154 @@ +PRId8 +PRId16 +PRId32 +PRId64 +PRIdLEAST8 +PRIdLEAST16 +PRIdLEAST32 +PRIdLEAST64 +PRIdFAST8 +PRIdFAST16 +PRIdFAST32 +PRIdFAST64 +PRIi8 +PRIi16 +PRIi32 +PRIi64 +PRIiLEAST8 +PRIiLEAST16 +PRIiLEAST32 +PRIiLEAST64 +PRIiFAST8 +PRIiFAST16 +PRIiFAST32 +PRIiFAST64 +PRIo8 +PRIo16 +PRIo32 +PRIo64 +PRIoLEAST8 +PRIoLEAST16 +PRIoLEAST32 +PRIoLEAST64 +PRIoFAST8 +PRIoFAST16 +PRIoFAST32 +PRIoFAST64 +PRIu8 +PRIu16 +PRIu32 +PRIu64 +PRIuLEAST8 +PRIuLEAST16 +PRIuLEAST32 +PRIuLEAST64 +PRIuFAST8 +PRIuFAST16 +PRIuFAST32 +PRIuFAST64 +PRIx8 +PRIx16 +PRIx32 +PRIx64 +PRIxLEAST8 +PRIxLEAST16 +PRIxLEAST32 +PRIxLEAST64 +PRIxFAST8 +PRIxFAST16 +PRIxFAST32 +PRIxFAST64 +PRIX8 +PRIX16 +PRIX32 +PRIX64 +PRIXLEAST8 +PRIXLEAST16 +PRIXLEAST32 +PRIXLEAST64 +PRIXFAST8 +PRIXFAST16 +PRIXFAST32 +PRIXFAST64 +PRIdMAX +PRIiMAX +PRIoMAX +PRIuMAX +PRIxMAX +PRIXMAX +PRIdPTR +PRIiPTR +PRIoPTR +PRIuPTR +PRIxPTR +PRIXPTR +SCNd8 +SCNd16 +SCNd32 +SCNd64 +SCNdLEAST8 +SCNdLEAST16 +SCNdLEAST32 +SCNdLEAST64 +SCNdFAST8 +SCNdFAST16 +SCNdFAST32 +SCNdFAST64 +SCNi8 +SCNi16 +SCNi32 +SCNi64 +SCNiLEAST8 +SCNiLEAST16 +SCNiLEAST32 +SCNiLEAST64 +SCNiFAST8 +SCNiFAST16 +SCNiFAST32 +SCNiFAST64 +SCNu8 +SCNu16 +SCNu32 +SCNu64 +SCNuLEAST8 +SCNuLEAST16 +SCNuLEAST32 +SCNuLEAST64 +SCNuFAST8 +SCNuFAST16 +SCNuFAST32 +SCNuFAST64 +SCNo8 +SCNo16 +SCNo32 +SCNo64 +SCNoLEAST8 +SCNoLEAST16 +SCNoLEAST32 +SCNoLEAST64 +SCNoFAST8 +SCNoFAST16 +SCNoFAST32 +SCNoFAST64 +SCNx8 +SCNx16 +SCNx32 +SCNx64 +SCNxLEAST8 +SCNxLEAST16 +SCNxLEAST32 +SCNxLEAST64 +SCNxFAST8 +SCNxFAST16 +SCNxFAST32 +SCNxFAST64 +SCNdMAX +SCNiMAX +SCNoMAX +SCNuMAX +SCNxMAX +SCNdPTR +SCNiPTR +SCNoPTR +SCNuPTR +SCNxPTR diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/main.fmf b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/main.fmf new file mode 100644 index 0000000..d7802bc --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1318877 (Per C11 and C++11, should not look at) +description: | + Bug summary: Per C11 and C++11, should not look at __STDC_LIMIT_MACROS or __STDC_CONSTANT_MACROS + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1318877 + + The tests programs(generated by script) check macros definitions and return FAIL if macroses were not defined. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1318877 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc-c++ +duration: 30m +extra-summary: /tools/glibc/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at +extra-task: /tools/glibc/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/runtest.sh b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/runtest.sh new file mode 100755 index 0000000..b463e83 --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at +# Description: Test for BZ#1318877 (Per C11 and C++11, should not look at) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +INPUTDATA="inttypes.txt stdint1.txt stdint2.txt" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp gen.sh $INPUTDATA $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + I=0 + for INARG in $INPUTDATA + do + let "I=$I+1" + rlRun -l "./gen.sh $INARG > ${I}.cpp" + rlRun -l "g++ ${I}.cpp -o $I" + rlRun -l "./${I} > ${I}.out" + rlAssertGrep "PASS" "${I}.out" + rlAssertNotGrep "FAIL" "${I}.out" + rlFileSubmit "${I}.out" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint1.txt b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint1.txt new file mode 100644 index 0000000..dfb8af0 --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint1.txt @@ -0,0 +1,64 @@ +INT8_MIN +INT16_MIN +INT32_MIN +INT64_MIN +INT8_MAX +INT16_MAX +INT32_MAX +INT64_MAX +UINT8_MAX +UINT16_MAX +UINT32_MAX +UINT64_MAX +INT_LEAST8_MIN +INT_LEAST16_MIN +INT_LEAST32_MIN +INT_LEAST64_MIN +INT_LEAST8_MAX +INT_LEAST16_MAX +INT_LEAST32_MAX +INT_LEAST64_MAX +UINT_LEAST8_MAX +UINT_LEAST16_MAX +UINT_LEAST32_MAX +UINT_LEAST64_MAX +INT_FAST8_MIN +INT_FAST16_MIN +INT_FAST32_MIN +INT_FAST16_MIN +INT_FAST32_MIN +INT_FAST64_MIN +INT_FAST8_MAX +INT_FAST16_MAX +INT_FAST32_MAX +INT_FAST16_MAX +INT_FAST32_MAX +INT_FAST64_MAX +UINT_FAST8_MAX +UINT_FAST16_MAX +UINT_FAST32_MAX +UINT_FAST16_MAX +UINT_FAST32_MAX +UINT_FAST64_MAX +INTPTR_MIN +INTPTR_MAX +UINTPTR_MAX +INTPTR_MIN +INTPTR_MAX +UINTPTR_MAX +INTMAX_MIN +INTMAX_MAX +UINTMAX_MAX +PTRDIFF_MIN +PTRDIFF_MAX +PTRDIFF_MIN +PTRDIFF_MAX +SIG_ATOMIC_MIN +SIG_ATOMIC_MAX +SIZE_MAX +SIZE_MAX +WCHAR_MIN +WCHAR_MIN +WCHAR_MAX +WINT_MIN +WINT_MAX diff --git a/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint2.txt b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint2.txt new file mode 100644 index 0000000..032992d --- /dev/null +++ b/tests/Regression/bz1318877-Per-C11-and-C-11-stdint-h-should-not-look-at/stdint2.txt @@ -0,0 +1,14 @@ +INT8_C +INT16_C +INT32_C +INT64_C +INT64_C +UINT8_C +UINT16_C +UINT32_C +UINT64_C +UINT64_C +INTMAX_C +UINTMAX_C +INTMAX_C +UINTMAX_C diff --git a/tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/main.fmf b/tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/main.fmf new file mode 100644 index 0000000..a6335c6 --- /dev/null +++ b/tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1320596 (glibc NULL pointer dereference in stub resolver) +description: |- + Bug summary: glibc: NULL pointer dereference in stub resolver with unconnectable name server addresses + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1320596 + + SEGFAULT = bug reproduced + Should be fixed in 7.2.z and in 7.3 and newer +contact: Michael Petlan +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1320596 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - bind-utils + - glibc +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver +extra-task: + /tools/glibc/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver diff --git a/tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/pagure_tst-search2.tar.gz b/tests/Regression/bz1320596-glibc-NULL-pointer-dereference-in-stub-resolver/pagure_tst-search2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1baa6e4f681a74962ced1ee8e833a5a9fda172c6 GIT binary patch literal 15883 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 +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlFileBackup /etc/hosts + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp pagure_tst-search2.tar.gz $TmpDir/" + rlRun "pushd $TmpDir" + rlRun "mkdir pagure" + rlRun "cp /etc/resolv.conf ./" 0 "Back-up /etc/resolv.conf" + cat > resolv.conf.invalid <> resolv.conf.invalid" + rlPhaseEnd + + rlPhaseStartTest "Basic test" + rlRun -l "cp -f resolv.conf.invalid /etc/resolv.conf" 0 "Implanting corrupted /etc/resolv.conf" + rlRun -l "getent ahosts does-not-exist" 2 "Running the test" + rlRun -l "cp -f resolv.conf /etc/resolv.conf" 0 "Restoring the original /etc/resolv.conf" + rlPhaseEnd + + rlPhaseStartTest "Pagure test" + rlRun -c "cd pagure" + rlRun -l "zcat ../pagure_tst-search2.tar.gz | tar x" 0 "Unpacking the testcase" + rlRun -l "make tst-search2" 0 "Compiling the test" + rlRun -l "./tst-search2" 0 "Running the test" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlFileRestore + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/main.fmf b/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/main.fmf new file mode 100644 index 0000000..c21b43e --- /dev/null +++ b/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1325138 (glibc Corrupted aux-cache causes ldconfig to) +description: | + Bug summary: glibc: Corrupted aux-cache causes ldconfig to segfault + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1325138 + + The test truncates file /var/cache/ldconfig/aux-cache to 3/4, 1/2, 1/4 of + the original size and runs ldconfig. In case of the bug ldconfig will crash or + abort. + TODO: remove exactly of some entries instead of truncating. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1325138 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - coreutils +duration: 30m +extra-summary: /tools/glibc/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to +extra-task: /tools/glibc/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to diff --git a/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/runtest.sh b/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/runtest.sh new file mode 100755 index 0000000..15a3749 --- /dev/null +++ b/tests/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1325138-glibc-Corrupted-aux-cache-causes-ldconfig-to +# Description: Test for BZ#1325138 (glibc Corrupted aux-cache causes ldconfig to) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +#TESTPROG="put_test_prog_here" +LDFILE="/var/cache/ldconfig/aux-cache" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest + FILESIZE=$(stat -c %s $LDFILE) + rlLog "FILESIZE=$FILESIZE" + rlAssertExists $LDFILE + for I in 1 2 3;do + rlRun "rlFileBackup --clean $LDFILE" + let "NEWSIZE=(FILESIZE * I) / 4" + rlLog "NEWSIZE=$NEWSIZE" + rlRun "truncate --size=$NEWSIZE $LDFILE" + rlRun "ldconfig" + rlRun "rlFileRestore $LDFILE" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/main.fmf b/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/main.fmf new file mode 100644 index 0000000..0ab0be2 --- /dev/null +++ b/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1331304 (memusagestat does a divide-by-zero when analysing) +description: | + Bug summary: memusagestat does a divide-by-zero when analysing programs not using the heap + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1331304 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1331304 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-utils +duration: 1h +extra-summary: + /tools/glibc/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing +extra-task: + /tools/glibc/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing diff --git a/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/runtest.sh b/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/runtest.sh new file mode 100755 index 0000000..10c4894 --- /dev/null +++ b/tests/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1331304-memusagestat-does-a-divide-by-zero-when-analysing +# Description: Test for BZ#1331304 (memusagestat does a divide-by-zero when analysing) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "echo \"int main() {return 0;}\" > test.c" + rlRun -c "gcc test.c -o test" + rlAssertExists "test" + rlRun "memusage --png=out.png ./test &> log" + rlAssertNotGrep "Floating point exception" "log" + rlFileSubmit log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/main.fmf b/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/main.fmf new file mode 100644 index 0000000..44b355b --- /dev/null +++ b/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1337242 (Test suite failure Sporadic segfault in) +description: | + Bug summary: Test suite failure: Sporadic segfault in tst-cancel17 and tst-cancelx17 test case + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1337242 + + The test just run tst-cancel17 and tst-cancex17 tests several times(10000) to test if they crash. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1337242 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - rpm-build +duration: 6h +extra-summary: /tools/glibc/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in +extra-task: /tools/glibc/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in diff --git a/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/runtest.sh b/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/runtest.sh new file mode 100755 index 0000000..7fdf3e9 --- /dev/null +++ b/tests/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in/runtest.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1337242-Test-suite-failure-Sporadic-segfault-in +# Description: Test for BZ#1337242 (Test suite failure Sporadic segfault in) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG1="tst-cancel17" +TESTPROG2="tst-cancelx17" +LOOPCOUNT=10000 + +doTest() { + nptl/${1} > /dev/null 2> err_log + if [ -s err_log ]; then + rlRun -l "cat err_log" + grep "Segmentation" err_log >/dev/null + RET=$? + if [ $RET -eq 0 ]; then + rlFail "Segfault on iteration $2" + return 1 + fi + fi + return 0 +} + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + BUILDDIR="$(rpm -E '%{_builddir}')" + SPECDIR="$(rpm -E '%{_specdir}')" + PRARCH="$(rlGetPrimaryArch)" + + rlAssertRpm $PACKAGE + rlLog "Installing glibc srpm" + rlFetchSrcForInstalled $PACKAGE + rlRun "rpm -Uhv $PACKAGE*.src.rpm" + rlAssertExists $SPECDIR/$PACKAGE.spec + rlRun "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependences" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "rpmbuild -bc $SPECDIR/$PACKAGE.spec &> glibc_build_log.txt" 0 "Compliling $PACKAGE" + ISSUCCESS=$? + if [ $ISSUCCESS -ne 0 ] + then + rlFileSubmit glibc_build_log.txt + fi + if rlIsRHEL "7" + then + BUILDROOTDIR="$(echo $BUILDDIR/glibc-*)" + else + BUILDROOTDIR="$BUILDDIR/$(rpm -q glibc.`arch` --qf '%{n}-%{v}')" + fi + BUILDSUBDIR="${BUILDROOTDIR}/build-${PRARCH}-redhat-linux" + rlRun "pushd $BUILDSUBDIR" + rlLog "Compiling nptl tests" + make -k -r PARALLELMFLAGS="" -C .. -C nptl objdir=`pwd` subdir=nptl tests &> tests_build_log.txt + ISSUCCESS=$? + if [ $ISSUCCESS -ne 0 ] + then + rlLog "Not all tests have been done" + rlFileSubmit tests_build_log.txt + fi + rlPhaseEnd + + rlPhaseStartTest $TESTPROG1 + rlAssertExists "nptl/${TESTPROG1}" + ISEXIST=$? + if [ $ISEXIST -eq 0 ] + then + rlLog "Run $TESTPROG1 $LOOPCOUNT times" + COUNTER=0 + while [ $COUNTER -lt $LOOPCOUNT ] + do + doTest ${TESTPROG1} $COUNTER || break + let "COUNTER=$COUNTER+1" + let "REST=$COUNTER % 1000" + [ $REST -eq 0 ] && echo "Done $COUNTER of $LOOPCOUNT" + done + + rlLog "$COUNTER interations were executed" + fi + rlPhaseEnd + + rlPhaseStartTest $TESTPROG2 + rlAssertExists "nptl/${TESTPROG2}" + ISEXIST=$? + if [ $ISEXIST -eq 0 ] + then + rlLog "Run $TESTPROG2 $LOOPCOUNT times" + COUNTER=0 + while [ $COUNTER -lt $LOOPCOUNT ] + do + doTest ${TESTPROG2} $COUNTER || break + let "COUNTER=$COUNTER+1" + let "REST=$COUNTER % 1000" + [ $REST -eq 0 ] && echo "Done $COUNTER of $LOOPCOUNT" + done + + rlLog "$COUNTER interations were executed" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlLog "Cleaning build and spec directories of glibc files" + rlRun "rm -rf $BUILDDIR/glibc*" 0 "Cleaning $BUILDDIR/glibc*" + rlRun "rm -rf $SPECDIR/glibc*.spec" 0 "Cleaning $SPECDIR/glibc*.spec" + rlRun "rm -rf glibc*.src.rpm" 0 "Removing any present glibc src.rpm" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/holetester.pl b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/holetester.pl new file mode 100755 index 0000000..61dc130 --- /dev/null +++ b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/holetester.pl @@ -0,0 +1,144 @@ +#!/usr/bin/perl +# Author: Sergey Kolosov +# holetester.pl is a script for holes detection in structure by objdump +# DWARF output parsing. +# 1. Generate dwarf output: objdump -Wi object_file > out.txt +# 2. Run sctipt: ./holetester.sh out.txt structure_name + +use strict; +use warnings; +my @args=@ARGV; + +my $n_args = $#ARGV + 1; +if ($n_args != 2) { + print "Usage: $0 filename structure\n"; + exit 1; +} + +my $filename=shift @args; +my $structname=shift @args; +my $content; +open(my $fh, '<', $filename) or die "cannot open file $filename"; +chomp(my @content = <$fh>); +close($fh); + +my $RET_STATUS=1; +my @dw; + +my $DWTAG="<[0-9a-f]+>"; + +my $number=0; +for my $i (0 .. $#content) { + my $line=$content[$i]; + $line =~ s/\s+$//; + if ( $line =~ "${DWTAG}${DWTAG}:" ) { + my $res= $line =~ m/\(([: A-Za-z0-9_]+)\)$/; + next if not $res; + my $item={}; + my $tag=$1; + $item->{'tag'}=$1; + + my $res1= $line =~ m/^[ ]+<([0-9a-f])+><([0-9a-f]+)>:/; + $item->{'level'}=$1; + $item->{'addr'}=$2; + + my $j=1; + while(1) { + my $subline = $content[ $i + $j ]; + + $subline =~ s/\s+$//; + if ( $subline =~ "${DWTAG}[ ]+" ) { + if ( $subline =~ "${DWTAG}[ ]+DW_AT_name") { + my $r=$subline =~ m/:[ ]+([.a-zA-Z0-9_ ]+)$/; + $item->{'name'}=$1; + } elsif ( $subline =~ "${DWTAG}[ ]+DW_AT_type") { + my $r=$subline =~ m/:[ ]+<([a-fxXA-F0-9_ ]+)>$/; + $item->{'type'}=$1; + } elsif ( $subline =~ "${DWTAG}[ ]+DW_AT_sibling") { + my $r=$subline =~ m/:[ ]+<([a-fxXA-F0-9_ ]+)>$/; + $item->{'sibling'}=$1; + } elsif ( $subline =~ "${DWTAG}[ ]+DW_AT_upper_bound") { + my $r=$subline =~ m/:[ ]+(\d+)$/; + $item->{'up_bound'}=$1; + } elsif ( $subline =~ "${DWTAG}[ ]+DW_AT_byte_size") { + my $r=$subline =~ m/:[ ]+(\d+)$/; + $item->{'size'}=$1; + } elsif ( $subline =~ "${DWTAG}[ ]+DW_AT_data_member_location") { + my $r=$subline =~ m/:[ ]+(\d+)$/; + $item->{'location'}=$1; + } + $j++; + } else { last;} + } + $item->{ 'number' } =$number; + push @dw, $item; + + $number++; + } +} + +sub get_size { + my $t=$_[0]; + my $res=$t =~ m/0x([0-9a-f]+)/; + my $type=$1; + for my $i (0 .. $#dw) { + my $elem=$dw[$i]; + if ( $elem->{'addr'} eq $type ) { + if( $elem->{'size'} ) {return $elem->{'size'};} + elsif ( $elem->{'tag'} eq 'DW_TAG_array_type' ) { + my $subtype = $elem->{'type'}; + my $element_size=get_size($subtype); + #print "Arrays element size is $element_size\n"; + + my $subrange = $dw[$i+1]; + my $array_size = $subrange->{'up_bound'}; + $array_size++; #arrays upper_bound, so size should be incremented + #print "Array size is $array_size\n"; + + my $size= $element_size * $array_size; + return $size; + + } + elsif ( $elem->{'type'} ) { + my $subtype = $elem->{'type'}; + #print "Going deeper for type: $subtype\n"; + my $size=get_size($subtype); + return $size; + } + last; + } + } +} + +print "Looking for >$structname<\n"; + +for my $i (0 .. $#dw) { + my $item=$dw[$i]; + if ($item->{'name'} && ( $item->{'name'} eq $structname ) ) { + print "$item->{'name'} found, size is $item->{'size'}\n"; + $RET_STATUS=0; + #looking for members + my $j=1; + my $offset=0; + while(1) { + my $member=$dw[$i+$j]; + #checking one sublevel only! + if ( ( $member->{'tag'} eq 'DW_TAG_member' ) && ( $member->{'level'} == ($item->{'level'} +1 ) ) ) { + my $name=$member->{'name'}; + my $size=get_size $member->{'type'}; + my $location=$member->{'location'}; + print "Member: $name was found, location is $location, size is $size\n"; + #check for hole + my $diff=( $location - $offset); + if ($diff != 0) { + print "Warning, a hole was found: $diff bytes\n"; + $RET_STATUS=1; + } + $offset = $location + $size; + $j++; + } else {last;} + } + } +} + +exit $RET_STATUS; diff --git a/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/main.fmf b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/main.fmf new file mode 100644 index 0000000..9d3f798 --- /dev/null +++ b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1338673 (glibc GCC 6 enablement for struct sockaddr_storage) +description: | + Bug summary: glibc: GCC 6 enablement for struct sockaddr_storage [el6] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1338673 + + The test detects hole in sockaddr_storage structure with objdump and + holetester.pl util. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1338673 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - binutils + - gcc + - glibc + - glibc-devel + - perl +duration: 20m +extra-summary: /tools/glibc/Regression/bz1338673-glibc-GCC-6-enablement-for-struct +extra-task: /tools/glibc/Regression/bz1338673-glibc-GCC-6-enablement-for-struct diff --git a/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/runtest.sh b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/runtest.sh new file mode 100755 index 0000000..ad3af50 --- /dev/null +++ b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/runtest.sh @@ -0,0 +1,84 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1338673-glibc-GCC-6-enablement-for-struct +# Description: Test for BZ#1338673 (glibc GCC 6 enablement for struct sockaddr_storage) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TSTPROG="tst" +GCCBUGVER=6 +HOLETESTER="holetester.pl" +OBJDUMP=$(which objdump) + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + GCCPATH=$(which gcc) + if [ "$?" -ne "0" ] + then + rlFail "There is no gcc installed" + else + rlLog "Using gcc: $GCCPATH" + if [[ $GCCPATH =~ ^/opt/rh/([a-z0-9\-]+)(/[a-z]+)+ ]] + then + PACKAGEGCC="${BASH_REMATCH[1]}-gcc" + else + PACKAGEGCC="gcc" + fi + rlAssertRpm $PACKAGEGCC + fi + rlRun -l "gcc --version" + GCCINFO=$(gcc --version|head -n1) + if [[ $GCCINFO =~ ^gcc\ \(GCC\)\ ([A-Za-z0-9]+).* ]] + then + GCCVER="${BASH_REMATCH[1]}" + echo "GCCVER=$GCCVER" + else + rlFail "Cannot recognise gcc version" + fi + + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TSTPROG}.c ${HOLETESTER} $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TSTPROG}.c -fno-strict-aliasing -g -c" + rlAssertExists "${TSTPROG}.o" + rlRun -c "${OBJDUMP} -Wi ${TSTPROG}.o > dwout.txt" + rlRun -c "./${HOLETESTER} dwout.txt sockaddr_storage > result" + rlAssertGrep "sockaddr_storage" result + rlAssertNotGrep "Warning, a hole was found" result + rlRun -l "cat result" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/tst.c b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/tst.c new file mode 100644 index 0000000..193eda9 --- /dev/null +++ b/tests/Regression/bz1338673-glibc-GCC-6-enablement-for-struct/tst.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include +#include + +int do_test() { + struct sockaddr_storage addr; + memset (&addr, 0, sizeof (addr)); + { + struct sockaddr_in *sinp = (struct sockaddr_in *)&addr; + sinp->sin_family = AF_INET; + sinp->sin_addr.s_addr = htonl (INADDR_LOOPBACK); + sinp->sin_port = htons (80); + } + + return sizeof(addr); +} diff --git a/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/main.fmf b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/main.fmf new file mode 100644 index 0000000..b5b5153 --- /dev/null +++ b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1349962 (Hide reference to mktemp in libpthread.) +description: | + Bug summary: Hide reference to mktemp in libpthread. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1349962 + + The test compiles and links statically simple thread program(that means that + the program have to be linked with -lpthread) and checks linker output, it must + not contain a warning about mktemp. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1349962 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-static +duration: 10m +extra-summary: /tools/glibc/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread +extra-task: /tools/glibc/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread diff --git a/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/runtest.sh b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/runtest.sh new file mode 100755 index 0000000..8c614c4 --- /dev/null +++ b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread +# Description: Test for BZ#1349962 (Hide reference to mktemp in libpthread.) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-thr" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG -lpthread -static &> log" + rlAssertExists "$TESTPROG" + if [ -s log ] + then + rlAssertNotGrep "sem_open" log + rlAssertNotGrep "warning" log + rlAssertNotGrep "mktemp" log + rlFileSubmit log + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/tst-thr.c b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/tst-thr.c new file mode 100644 index 0000000..70e655b --- /dev/null +++ b/tests/Regression/bz1349962-Hide-reference-to-mktemp-in-libpthread/tst-thr.c @@ -0,0 +1,24 @@ +#include +#include +#include + +void *worker(void *p) { + printf("Hello from worker\n"); +} + +int main(int argc, char *argv[]) +{ + pthread_t thr; + int ret; + + ret = pthread_create( &thr, NULL, worker, NULL); + if(ret) + { + fprintf(stderr,":Cant create thread, exit status: %d\n",ret); + exit(1); + } + + pthread_join( thr, NULL); + + exit(0); +} diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/main.fmf b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/main.fmf new file mode 100644 index 0000000..cb702a0 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1361965 (glibc Fix C.UTF-8 locale source ellipsis) +description: | + Bug summary: glibc: Fix C.UTF-8 locale source ellipsis expressions + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1361965 +adjust: + - enabled: false + when: distro < rhel-8.2 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1361965 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis +extra-task: /tools/glibc/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt new file mode 100644 index 0000000..4c9bb0b --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt @@ -0,0 +1,30 @@ +в +ам +и +р +ол +к +у +ф +й +А +п +Р +АВ +Р +О +ГЕЛ +ЖЛ +А +Х +Э +ЭЪ +Ъ +ыва +ва +ва +п +я +й +й +апв diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt_orig b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt_orig new file mode 100644 index 0000000..ea9c8a0 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/ru.txt_orig @@ -0,0 +1,30 @@ +А +А +АВ +ГЕЛ +ЖЛ +О +Р +Р +Х +Ъ +Э +ЭЪ +ам +апв +в +ва +ва +и +й +й +й +к +ол +п +п +р +у +ф +ыва +я diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/runtest.sh b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/runtest.sh new file mode 100755 index 0000000..fdfa0f6 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis +# Description: Test for BZ#1361965 (glibc Fix C.UTF-8 locale source ellipsis) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="swbz21302-repro" +TESTFILES="ru.txt test.txt" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp *.txt *.txt_orig ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + for TFILE in $TESTFILES + do + rlPhaseStartTest $TFILE + rlRun -c "LC_COLLATE=C.UTF-8 sort $TFILE > ${TFILE}_sorted" + rlAssertNotDiffer ${TFILE}_sorted ${TFILE}_orig + rlPhaseEnd + done + + rlPhaseStartTest $TESTPROG + rlRun "gcc ${TESTPROG}.c -o ${TESTPROG}" + rlAssertExists ${TESTPROG} + rlRun -l "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/swbz21302-repro.c b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/swbz21302-repro.c new file mode 100644 index 0000000..e300f44 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/swbz21302-repro.c @@ -0,0 +1,80 @@ +#include +#include +#include +#include + +int +main(void) +{ + char *locale; + int cmp1, cmp2, cmp3, cmp4, cmp5, cmp6, err = 0; + + locale = setlocale (LC_ALL, "C.UTF-8"); + if (locale == NULL) + { + perror ("setlocale"); + exit (1); + } + printf ("New locale: %s\n", locale); + + cmp1 = strcoll (u8"!", u8"𐀎"); + if (cmp1 >= 0) + { + printf ("FAIL: ! >= U+100E (%d)\n", cmp1); + err++; + } + else + printf ("PASS: ! < U+100E (%d)\n", cmp1); + + cmp2 = strcoll (u8"¥", u8"𐀎"); + if (cmp2 >= 0) + { + printf ("FAIL: ¥ >= U+100E (%d)\n", cmp2); + err++; + } + else + printf ("PASS: ¥ < U+100E (%d)\n", cmp2); + + cmp3 = strcoll (u8"!", u8"¥"); + if (cmp3 >= 0) + { + printf ("FAIL ! >= ¥ (%d)\n", cmp3); + err++; + } + else + printf ("PASS: ! < ¥ (%d)\n", cmp3); + + /* Compare against 2-byte UTF-8 character. */ + cmp4 = strcoll (u8"!", u8"¡"); + if (cmp4 >= 0) + { + printf ("FAIL ! >= ¡ (%d)\n", cmp4); + err++; + } + else + printf ("PASS: ! < ¡ (%d)\n", cmp4); + + /* Compare against 3-byte UTF-8 character. */ + cmp5 = strcoll (u8"!", u8"ࠀ"); + if (cmp5 >= 0) + { + printf ("FAIL ! >= U+800 (%d)\n", cmp5); + err++; + } + else + printf ("PASS: ! < U+800 (%d)\n", cmp5); + + /* Compare against 4-byte UTF-8 character. */ + cmp6 = strcoll (u8"!", u8"𐀀"); + if (cmp6 >= 0) + { + printf ("FAIL ! >= U+10000 (%d)\n", cmp6); + err++; + } + else + printf ("PASS: ! < U+10000 (%d)\n", cmp6); + + return err; +} + + diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt new file mode 100644 index 0000000..4e69100 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt @@ -0,0 +1,16 @@ +! +ズざら +セーリングボートは +モエ +¥ +𐀎 +𐀘 +𐀛 +𫛛 +𫛞 +𫛢 +𫛭 +𫛶 +𫛸 +𫟷 +𫟼 diff --git a/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt_orig b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt_orig new file mode 100644 index 0000000..4e69100 --- /dev/null +++ b/tests/Regression/bz1361965-glibc-Fix-C-UTF-8-locale-source-ellipsis/test.txt_orig @@ -0,0 +1,16 @@ +! +ズざら +セーリングボートは +モエ +¥ +𐀎 +𐀘 +𐀛 +𫛛 +𫛞 +𫛢 +𫛭 +𫛶 +𫛸 +𫟷 +𫟼 diff --git a/tests/Regression/bz1372305-glibc-fopencookie-hardening/ck.c b/tests/Regression/bz1372305-glibc-fopencookie-hardening/ck.c new file mode 100644 index 0000000..2ba7852 --- /dev/null +++ b/tests/Regression/bz1372305-glibc-fopencookie-hardening/ck.c @@ -0,0 +1,161 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include + +#define INIT_BUF_SIZE 4 + +struct memfile_cookie { + char *buf; /* Dynamically sized buffer for data */ + size_t allocated; /* Size of buf */ + size_t endpos; /* Number of characters in buf */ + off_t offset; /* Current file offset in buf */ +}; + +ssize_t +memfile_write(void *c, const char *buf, size_t size) +{ + char *new_buff; + struct memfile_cookie *cookie = c; + + /* Buffer too small? Keep doubling size until big enough */ + + while (size + cookie->offset > cookie->allocated) { + new_buff = realloc(cookie->buf, cookie->allocated * 2); + if (new_buff == NULL) { + return -1; + } else { + cookie->allocated *= 2; + cookie->buf = new_buff; + } + } + + memcpy(cookie->buf + cookie->offset, buf, size); + + cookie->offset += size; + if (cookie->offset > cookie->endpos) + cookie->endpos = cookie->offset; + + return size; +} + +ssize_t +memfile_read(void *c, char *buf, size_t size) +{ + ssize_t xbytes; + struct memfile_cookie *cookie = c; + + /* Fetch minimum of bytes requested and bytes available */ + + xbytes = size; + if (cookie->offset + size > cookie->endpos) + xbytes = cookie->endpos - cookie->offset; + if (xbytes < 0) /* offset may be past endpos */ + xbytes = 0; + + memcpy(buf, cookie->buf + cookie->offset, xbytes); + + cookie->offset += xbytes; + return xbytes; +} + +int +memfile_seek(void *c, off64_t *offset, int whence) +{ + off64_t new_offset; + struct memfile_cookie *cookie = c; + + if (whence == SEEK_SET) + new_offset = *offset; + else if (whence == SEEK_END) + new_offset = cookie->endpos + *offset; + else if (whence == SEEK_CUR) + new_offset = cookie->offset + *offset; + else + return -1; + + if (new_offset < 0) + return -1; + + cookie->offset = new_offset; + *offset = new_offset; + return 0; +} + +int +memfile_close(void *c) +{ + struct memfile_cookie *cookie = c; + + free(cookie->buf); + cookie->allocated = 0; + cookie->buf = NULL; + + return 0; +} + +int +main(int argc, char *argv[]) +{ + cookie_io_functions_t memfile_func = { + .read = memfile_read, + .write = memfile_write, + .seek = memfile_seek, + .close = memfile_close + }; + FILE *stream; + struct memfile_cookie mycookie; + ssize_t nread; + long p; + int j; + char buf[1000]; + + /* Set up the cookie before calling fopencookie() */ + + mycookie.buf = malloc(INIT_BUF_SIZE); + if (mycookie.buf == NULL) { + perror("malloc"); + exit(EXIT_FAILURE); + } + + mycookie.allocated = INIT_BUF_SIZE; + mycookie.offset = 0; + mycookie.endpos = 0; + + stream = fopencookie(&mycookie,"w+", memfile_func); + if (stream == NULL) { + perror("fopencookie"); + exit(EXIT_FAILURE); + } + + for (j = 1; j < argc; j++) + if (fputs(argv[j], stream) == EOF) { + perror("fputs"); + exit(EXIT_FAILURE); + } + + /* Read two bytes out of every five, until EOF */ + + for (p = 0; ; p += 5) { + if (fseek(stream, p, SEEK_SET) == -1) { + perror("fseek"); + exit(EXIT_FAILURE); + } + nread = fread(buf, 1, 2, stream); + if (nread == -1) { + perror("fread"); + exit(EXIT_FAILURE); + } + if (nread == 0) { + printf("Reached end of file\n"); + break; + } + + printf("/%.*s/\n", nread, buf); + } + fclose(stream); + + exit(EXIT_SUCCESS); +} diff --git a/tests/Regression/bz1372305-glibc-fopencookie-hardening/list.gdb b/tests/Regression/bz1372305-glibc-fopencookie-hardening/list.gdb new file mode 100644 index 0000000..feb1650 --- /dev/null +++ b/tests/Regression/bz1372305-glibc-fopencookie-hardening/list.gdb @@ -0,0 +1,6 @@ +set confirm off +set breakpoint pending on +b FUNCTION +run aaa bbb ccc +list +quit diff --git a/tests/Regression/bz1372305-glibc-fopencookie-hardening/main.fmf b/tests/Regression/bz1372305-glibc-fopencookie-hardening/main.fmf new file mode 100644 index 0000000..1ac612a --- /dev/null +++ b/tests/Regression/bz1372305-glibc-fopencookie-hardening/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1372305 (glibc fopencookie hardening) +description: | + Bug summary: glibc: fopencookie hardening + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1372305 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1372305 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-debuginfo + - glibc-common-debuginfo + - glibc-debuginfo-common + - gcc + - gdb + - sed +duration: 20m +extra-summary: /tools/glibc/Regression/bz1372305-glibc-fopencookie-hardening +extra-task: /tools/glibc/Regression/bz1372305-glibc-fopencookie-hardening diff --git a/tests/Regression/bz1372305-glibc-fopencookie-hardening/runtest.sh b/tests/Regression/bz1372305-glibc-fopencookie-hardening/runtest.sh new file mode 100755 index 0000000..1d47831 --- /dev/null +++ b/tests/Regression/bz1372305-glibc-fopencookie-hardening/runtest.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1372305-glibc-fopencookie-hardening +# Description: Test for BZ#1372305 (glibc fopencookie hardening) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="ck" +TESTFUNCS="read write close seek" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "cp list.gdb $TESTTMPDIR/list.gdb.in" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "Compile tst prog" + rlRun -c "gcc -g ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlPhaseEnd + + for F in $TESTFUNCS + do + rlPhaseStartTest $F + sed "s/FUNCTION/_IO_cookie_${F}/" list.gdb.in > list.gdb + cat list.gdb + rlRun -l "gdb --batch --command=list.gdb ./${TESTPROG} > gdb_log_${F}" + rlFileSubmit gdb_log_${F} + rlAssertGrep PTR_DEMANGLE gdb_log_${F} + rlPhaseEnd + done + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/main.fmf b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/main.fmf new file mode 100644 index 0000000..4557b9d --- /dev/null +++ b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1387874 (MSG_FASTOPEN definition missing) +description: | + Bug summary: MSG_FASTOPEN definition missing + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1387874 + + The test purpose is to check if MSG_FASTOPEN is defined in glibc headers. To do + it, the test tryes to compile simple test program what uses MSG_FASTOPEN in + sendto syscall. In case of the bug it wont compile. The test does not run the + binary, because it is not nessesary, although the binary is able to run. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1387874 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1387874-MSG-FASTOPEN-definition-missing +extra-task: /tools/glibc/Regression/bz1387874-MSG-FASTOPEN-definition-missing diff --git a/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/msgfopen_test.c b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/msgfopen_test.c new file mode 100644 index 0000000..3d4b316 --- /dev/null +++ b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/msgfopen_test.c @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include +#include + +int main() { + + char *buf="AAAAAAAAAAAAAAAAAAAAAAA"; + + struct sockaddr_in srv_addr; + uint16_t port=23456; + int sock; + + sock = socket (PF_INET, SOCK_STREAM, 0); + + memset(&srv_addr, 0, sizeof(srv_addr)); + + srv_addr.sin_family = AF_INET; + srv_addr.sin_port = htons (port); + srv_addr.sin_addr.s_addr = htonl (INADDR_LOOPBACK); + + sendto(sock, buf, strlen(buf), MSG_FASTOPEN, (struct sockaddr *) &srv_addr, sizeof(srv_addr)); + + close(sock); +} diff --git a/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/runtest.sh b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/runtest.sh new file mode 100755 index 0000000..d184d3d --- /dev/null +++ b/tests/Regression/bz1387874-MSG-FASTOPEN-definition-missing/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1387874-MSG-FASTOPEN-definition-missing +# Description: Test for BZ#1387874 (MSG_FASTOPEN definition missing) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="msgfopen_test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -O0 -Wall -o $TESTPROG" + rlAssertExists "$TESTPROG" +# rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/main.fmf b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/main.fmf new file mode 100644 index 0000000..57ca10c --- /dev/null +++ b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1413638 (RHEL7.3 - glibc Different results with libm pow) +description: | + Bug summary: RHEL7.3 - glibc: Different results with libm pow function compared to RHEL6 + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1413638 + + The test uses pow() function to compare result with the referenced one and real + one. The real value is slightly different because pow() function uses different + (fast) method to calculate it instead of direct integer computation. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1413638 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - diffutils + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow +extra-task: /tools/glibc/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow diff --git a/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/power_results b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/power_results new file mode 100644 index 0000000..cf595ed --- /dev/null +++ b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/power_results @@ -0,0 +1,7 @@ +octave --------4.9222352429520 2699918501842247 +rhel8 --------49222352429520 26999185018422474833920.000000 +wolfram---------49222352429520 26704037113243122008064 +rhel7-----------49222352429520 26408889208063769182208.000000 +erl ----------4.9222352429520 27e36 +rhel7_bug ------49222352429520 39985692846313999171584 +bigdigits ------49222352429520 26704037113243122008064 diff --git a/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powreal.txt b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powreal.txt new file mode 100644 index 0000000..ee0eb9a --- /dev/null +++ b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powreal.txt @@ -0,0 +1 @@ +4922235242952026704037113243122008064.000000 diff --git a/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powtest.c b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powtest.c new file mode 100644 index 0000000..760b4e0 --- /dev/null +++ b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/powtest.c @@ -0,0 +1,15 @@ +#include +#include + +int main() +{ + double res; + double x=12; + double z=34; + res=pow(x,z); + printf("%f\n",res); +// printf("%f to the power of %f is %f\n", x,z,res); +// printf("%a to the power of %a is %a\n", x,z,res); + return 0; +} + diff --git a/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/runtest.sh b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/runtest.sh new file mode 100755 index 0000000..37778d1 --- /dev/null +++ b/tests/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow/runtest.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1413638-RHEL7-3-glibc-Different-results-with-libm-pow +# Description: Test for BZ#1413638 (RHEL7.3 - glibc Different results with libm pow) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="powtest" +RESFILE="res" +REALFILE="powreal.txt" +REFERDIFPOS=17 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c ${REALFILE} $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "Compute result" + rlRun -c "gcc -Wall -O0 -lm ${TESTPROG}.c -o ${TESTPROG}" + rlAssertExists "${TESTPROG}" + rlRun "./${TESTPROG} > ${RESFILE}" + rlRun -l "cat ${RESFILE}" + rlPhaseEnd + + rlPhaseStartTest "Check how much the results differ" + # The mantissa of the double data type is 52 bit, affecting up to 16 + # decimal digits. The rest of the digits will be made up by printf when + # printing the number. + DIFINFO=$(cmp -b $RESFILE $REALFILE) + RET=$? + rlLogInfo "DIFINFO=$DIFINFO" + if [ "$RET" -eq "1" ] + then + if [[ $DIFINFO =~ \ differ:\ byte\ ([0-9]+).* ]] + then + DIFPOS="${BASH_REMATCH[1]}" + echo "DIFPOS=$DIFPOS" + rlAssertGreaterOrEqual "Checking how is different the real value and computed one" $DIFPOS $REFERDIFPOS + else + echo "Cannot recognise the difference" + fi + elif [ "$RET" -eq "0" ] + then + rlLogWarning "File $RESFILE and $REALFILE are the same, but they should be slightly different" + else + rlFail "Error in cmp" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/af_vsock_test.c b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/af_vsock_test.c new file mode 100644 index 0000000..36fa207 --- /dev/null +++ b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/af_vsock_test.c @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include + +int main() { + int sock; + + sock = socket (AF_VSOCK, SOCK_STREAM, 0); + + close(sock); + return 0; +} diff --git a/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/main.fmf b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/main.fmf new file mode 100644 index 0000000..ba1bbd5 --- /dev/null +++ b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1417205 (Missing AF_VSOCK constant) +description: | + Bug summary: Missing AF_VSOCK constant + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1417205 + + The test purpose is to check if AF_VSOCK is defined in glibc headers. To do it, + the test checks if AF_VSOCK exists in /usr/include/bits/socket.h and then tryes + to compile simple test program what uses AF_VSOCK in socket() syscall. In case + of the bug it wont compile. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1417205 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant +extra-task: /tools/glibc/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant diff --git a/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/runtest.sh b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/runtest.sh new file mode 100755 index 0000000..9d9741e --- /dev/null +++ b/tests/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1417205-Missing-AF-VSOCK-sys-socket-h-constant +# Description: Test for BZ#1417205 (Missing AF_VSOCK constant) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="af_vsock_test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "Check for AF_VSOCK definition" + rlAssertGrep AF_VSOCK /usr/include/bits/socket.h + rlPhaseEnd + + rlPhaseStartTest "Build test program" + rlRun -c "gcc ${TESTPROG}.c -O0 -Wall -o $TESTPROG" + rlAssertExists "$TESTPROG" +# rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/main.fmf b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/main.fmf new file mode 100644 index 0000000..693d7c0 --- /dev/null +++ b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1437147 (Fix for thread cancellation of IdM functions) +description: | + Bug summary: Fix for thread cancellation of IdM functions incorrect in rhel-6.9. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1437147 + + The test program calls in order setmntent(), getmntent(<...>, "r"), endmntent(). + In case of bug, valgrind will report "Conditional jump or move depends on + uninitialised value(s)" in setmntent() function. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1437147 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc + - valgrind +duration: 20m +extra-summary: /tools/glibc/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions +extra-task: /tools/glibc/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions diff --git a/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/runtest.sh b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/runtest.sh new file mode 100755 index 0000000..be73b71 --- /dev/null +++ b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions +# Description: Test for BZ#1437147 (Fix for thread cancellation of IdM functions) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="test-setmntent" +VALLOG="vallog" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -g3 -O0 -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlRun -c "valgrind --error-exitcode=111 ./${TESTPROG} 2>$VALLOG" + rlAssertExists "${VALLOG}" + rlAssertGrep "in use at exit: 0 bytes in 0 blocks" $VALLOG + rlAssertNotGrep "Conditional jump or move depends on uninitialised value" $VALLOG + rlFileSubmit $VALLOG + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/test-setmntent.c b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/test-setmntent.c new file mode 100644 index 0000000..4ea5f9b --- /dev/null +++ b/tests/Regression/bz1437147-Fix-for-thread-cancellation-of-IdM-functions/test-setmntent.c @@ -0,0 +1,16 @@ +#include +#include +#include + +int +main (void) +{ + FILE *fstab; + struct mntent *entry; + fstab = setmntent ("/etc/fstab", "r"); + entry = getmntent (fstab); + if (entry != NULL) + printf ("Name of mounted filesystem: %s\n", entry->mnt_fsname); + endmntent (fstab); + return 0; +} diff --git a/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/main.fmf b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/main.fmf new file mode 100644 index 0000000..a67508a --- /dev/null +++ b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1439165 (glibc SYS_getrandom definition missing on s390x) +description: | + Bug summary: glibc: SYS_getrandom definition missing on s390x + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1439165 + + The test checks availability of SYS_getrandom definition by compiling and + running a test program. +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1439165 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 20m +extra-summary: + /tools/glibc/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x +extra-task: + /tools/glibc/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x diff --git a/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/runtest.sh b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/runtest.sh new file mode 100755 index 0000000..a535e8d --- /dev/null +++ b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x +# Description: Test for BZ#1439165 (glibc SYS_getrandom definition missing on s390x) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-rand" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/tst-rand.c b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/tst-rand.c new file mode 100644 index 0000000..06b95bd --- /dev/null +++ b/tests/Regression/bz1439165-glibc-SYS-getrandom-definition-missing-on-s390x/tst-rand.c @@ -0,0 +1,15 @@ +#define _GNU_SOURCE +#include +#include +#include +#include + +int +main (void) +{ + char buf[8]; + errno = 0; + long result = syscall (SYS_getrandom, buf, sizeof (buf), 0); + printf ("result: %ld, errno: %d (%m)\n", result, errno); + return 0; +} diff --git a/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/main.fmf b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/main.fmf new file mode 100644 index 0000000..122e3b4 --- /dev/null +++ b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/main.fmf @@ -0,0 +1,18 @@ +summary: Test for BZ#1448822 (glibc Add definition of CLOCK_TAI) +description: | + Bug summary: glibc: Add definition of CLOCK_TAI + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1448822 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1448822 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI +extra-task: /tools/glibc/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI diff --git a/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/runtest.sh b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/runtest.sh new file mode 100755 index 0000000..4512460 --- /dev/null +++ b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI +# Description: Test for BZ#1448822 (glibc Add definition of CLOCK_TAI) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-tai" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/tst-tai.c b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/tst-tai.c new file mode 100644 index 0000000..834fdd1 --- /dev/null +++ b/tests/Regression/bz1448822-glibc-Add-definition-of-CLOCK-TAI/tst-tai.c @@ -0,0 +1,17 @@ +#include +#include +#include +#include + +int main() +{ + struct timespec ts_realtime; + struct timespec ts_tai; + + clock_gettime(CLOCK_REALTIME, &ts_realtime); + clock_gettime(CLOCK_TAI, &ts_tai); + + printf("Realtime: %lld.%.9ld\n", (long long)ts_realtime.tv_sec, ts_realtime.tv_nsec); + printf("TAI: %lld.%.9ld\n", (long long)ts_tai.tv_sec, ts_tai.tv_nsec); + return 0; +} diff --git a/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/bug-ga2.c b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/bug-ga2.c new file mode 100644 index 0000000..13c81af --- /dev/null +++ b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/bug-ga2.c @@ -0,0 +1,30 @@ +/* Test case by Sam Varshavchik . */ +#include +#include +#include +#include + +int +main (void) +{ + struct addrinfo hints, *res; + int i, ret; + + mtrace (); + for (i = 0; i < 100; i++) + { + memset (&hints, 0, sizeof (hints)); + hints.ai_family = PF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + ret = getaddrinfo ("www.gnu.org", "http", &hints, &res); + + if (ret) + { + printf ("%s\n", gai_strerror (ret)); + return 1; + } + freeaddrinfo (res); + } + return 0; +} diff --git a/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/main.fmf b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/main.fmf new file mode 100644 index 0000000..824bf8c --- /dev/null +++ b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/main.fmf @@ -0,0 +1,24 @@ +summary: Test for BZ#1451308 (glibc Fix valgrind reporting with check_pf when) +description: | + Bug summary: glibc: Fix valgrind reporting with check_pf when there is no ipv6 interface + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1451308 +adjust: + - enabled: false + when: distro < rhel-7.8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1451308 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - valgrind +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when +extra-task: + /tools/glibc/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when diff --git a/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/runtest.sh b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/runtest.sh new file mode 100755 index 0000000..f67e5a5 --- /dev/null +++ b/tests/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when/runtest.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1451308-glibc-Fix-valgrind-reporting-with-check-pf-when +# Description: Test for BZ#1451308 (glibc Fix valgrind reporting with check_pf when) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="bug-ga2" +IPCONFPATH="/proc/sys/net/ipv6/conf/all" +VALLOG="log" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + ACF=$(cat ${IPCONFPATH}/autoconf) + AR=$(cat ${IPCONFPATH}/accept_ra) + DIS=$(cat ${IPCONFPATH}/disable_ipv6) + rlLog "Saved ipv6 values: $ACF $AR $DIS" + rlLog "Disabling ipv6" + + rlRun -c "echo 0 > ${IPCONFPATH}/autoconf" + rlRun -c "echo 0 > ${IPCONFPATH}/accept_ra" + rlRun -c "echo 1 > ${IPCONFPATH}/disable_ipv6" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "valgrind --error-exitcode=111 ./${TESTPROG} 2>$VALLOG" + rlFileSubmit $VALLOG + rlPhaseEnd + + rlPhaseStartCleanup + rlLog "Restoring ipv6 values" + rlRun -c "echo $ACF > ${IPCONFPATH}/autoconf" + rlRun -c "echo $AR > ${IPCONFPATH}/accept_ra" + rlRun -c "echo $DIS > ${IPCONFPATH}/disable_ipv6" + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/main.fmf b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/main.fmf new file mode 100644 index 0000000..f22a56c --- /dev/null +++ b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/main.fmf @@ -0,0 +1,18 @@ +summary: Test for BZ#1457177 (Rounding issue on RHEL7.3 PPC64LE -- found) +description: | + Bug summary: Rounding issue on RHEL7.3 PPC64LE -- found on POWER (glibc) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1457177 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1457177 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - g++ + - glibc-devel +duration: 20m +extra-summary: /tools/glibc/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found +extra-task: /tools/glibc/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found diff --git a/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/runtest.sh b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/runtest.sh new file mode 100755 index 0000000..0298994 --- /dev/null +++ b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found +# Description: Test for BZ#1457177 (Rounding issue on RHEL7.3 PPC64LE) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-round" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.cpp $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "g++ ${TESTPROG}.cpp -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/tst-round.cpp b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/tst-round.cpp new file mode 100644 index 0000000..b4c3839 --- /dev/null +++ b/tests/Regression/bz1457177-Rounding-issue-on-RHEL7-3-PPC64LE-found/tst-round.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main() { +long long v = -92233720368547659L; +long double r0 = v; +long double r1= std::ceil(r0 - 0.5); +long long x = r1; +if (v == x) { + std::cout << "Expect " << v << " == " << x << std::endl; + return 0; +} else { + std::cout << "Expect " << v << " != " << x << std::endl; + return 1; +} +} diff --git a/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/list.gdb b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/list.gdb new file mode 100644 index 0000000..7400932 --- /dev/null +++ b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/list.gdb @@ -0,0 +1,7 @@ +set confirm off +set environment LD_LIBRARY_PATH=./ +set breakpoint pending on +b __tls_get_addr +run +disassemble +quit diff --git a/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/main.fmf b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/main.fmf new file mode 100644 index 0000000..4620c0c --- /dev/null +++ b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1468807 (glibc Support broken applications which call) +description: | + Bug summary: glibc: Support broken applications which call __tls_get_addr with an unaligned stack (GCC bug workaround) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1468807 +contact: Sergey Kolosov +adjust: + - enabled: false + when: arch != x86_64 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1468807 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-debuginfo + - glibc-common-debuginfo + - glibc-debuginfo-common + - gcc + - gdb +duration: 15m +extra-summary: /tools/glibc/Regression/bz1468807-glibc-Support-broken-applications-which-call +extra-task: /tools/glibc/Regression/bz1468807-glibc-Support-broken-applications-which-call diff --git a/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/runtest.sh b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/runtest.sh new file mode 100755 index 0000000..3b36ec5 --- /dev/null +++ b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1468807-glibc-Support-broken-applications-which-call +# Description: Test for BZ#1468807 (glibc Support broken applications which call) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGLIB="tlb" +TESTPROG="t" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROGLIB}.c $TESTTMPDIR" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "cp list.gdb $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROGLIB}.c -c -o ${TESTPROGLIB}.o -fPIC -g" + rlRun -c "gcc -shared -o ${TESTPROGLIB}.so ${TESTPROGLIB}.o" + rlRun -c "gcc -g ${TESTPROG}.c ${TESTPROGLIB}.so -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "gdb --batch --command=list.gdb ./${TESTPROG} > gdb_log" + rlAssertGrep "__tls_get_addr_slow" gdb_log + rlFileSubmit gdb_log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/t.c b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/t.c new file mode 100644 index 0000000..13d9652 --- /dev/null +++ b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/t.c @@ -0,0 +1,7 @@ +void test(); + +int main() +{ + test(); + return 0; +} diff --git a/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/tlb.c b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/tlb.c new file mode 100644 index 0000000..4955c49 --- /dev/null +++ b/tests/Regression/bz1468807-glibc-Support-broken-applications-which-call/tlb.c @@ -0,0 +1,19 @@ +#include "stdio.h" + +__thread double tlvar; + +double get_value() __attribute__ ((noinline)); +double get_value() +{ + return tlvar; +} + +int test() +{ + double f=0.0, d=2.0; + tlvar = 1.0; + f = get_value() + d; + printf("f = %f\n", f); + return 1; +} + diff --git a/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/loop-add-del-link_bz1472832.sh b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/loop-add-del-link_bz1472832.sh new file mode 100755 index 0000000..eb9c0af --- /dev/null +++ b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/loop-add-del-link_bz1472832.sh @@ -0,0 +1,2 @@ +#!/bin/bash +while :; do ifname="test$RANDOM"; ip li add $ifname type dummy; ip li set $ifname up; sleep 0.1; ip li del $ifname; done diff --git a/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/main.fmf b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/main.fmf new file mode 100644 index 0000000..55c381b --- /dev/null +++ b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1472832 (glibc getifaddrs() returns interfaces with) +description: | + Bug summary: glibc: getifaddrs() returns interfaces with ifa_name set to NULL + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1472832 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1472832 +component: + - glibc +order: 800 +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - procps-ng +duration: 1h +extra-summary: /tools/glibc/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with +extra-task: /tools/glibc/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with diff --git a/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/runtest.sh b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/runtest.sh new file mode 100755 index 0000000..649c11f --- /dev/null +++ b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/runtest.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with +# Description: Test for BZ#1472832 (glibc getifaddrs() returns interfaces with) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tester" +TESTSCR="loop-add-del-link_bz1472832.sh" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "cp ./${TESTSCR} $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlRun -l "ip li" + rlPhaseEnd + + rlPhaseStartTest prepare_interfaces + for i in {1..512}; do + ifname="dum$i"; ip li add $ifname type dummy; ip li set $ifname up; + done + rlRun -l "ip li" + rlPhaseEnd + + rlPhaseStartTest ${TESTSCR} + ./${TESTSCR} & + ./${TESTSCR} & + ./${TESTSCR} & + ./${TESTSCR} & + ./${TESTSCR} & + ./${TESTSCR} & + rlRun -l "pgrep -f ./${TESTSCR}" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -Wall -Wextra -Wpedantic ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "timeout 10m ./${TESTPROG}" 124 + rlPhaseEnd + + rlPhaseStartCleanup + for i in {1..512}; do ifname="dum$i"; ip li del $ifname; done + rlRun -l "ip li" + rlRun "popd" + rlRun "pkill -f ./${TESTSCR}" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/tester.c b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/tester.c new file mode 100644 index 0000000..9d8d36d --- /dev/null +++ b/tests/Regression/bz1472832-glibc-getifaddrs-returns-interfaces-with/tester.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include + +int main(void) +{ + struct ifaddrs *ifaddr, *ifa; + + for (;;) + { + if (getifaddrs(&ifaddr) == -1) { + perror("getifaddrs"); + return EXIT_FAILURE; + } + + + /* Walk through linked list, maintaining head pointer so we + can free list later */ + + for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { + if (ifa->ifa_name == NULL) { + printf("Gotcha!!!!\n"); + return EXIT_FAILURE; + } + } + + freeifaddrs(ifaddr); + usleep(10); + } + + return EXIT_SUCCESS; +} diff --git a/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/main.fmf b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/main.fmf new file mode 100644 index 0000000..88e01a2 --- /dev/null +++ b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1484832 (glibc dlopen triggers SIGSEGV when LD_LIBRARY_PATH) +description: | + Bug summary: glibc: dlopen triggers SIGSEGV when LD_LIBRARY_PATH includes /lib64 + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1484832 +adjust: + - enabled: false + when: distro < rhel-7.8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1484832 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 20m +extra-summary: /tools/glibc/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when +extra-task: /tools/glibc/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when diff --git a/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/runtest.sh b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/runtest.sh new file mode 100755 index 0000000..9d70400 --- /dev/null +++ b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when +# Description: Test for BZ#1484832 (glibc dlopen triggers SIGSEGV when LD_LIBRARY_PATH) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-dl" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG -ldl -Wl,-rpath,/nonexisting_path -Wl,--enable-new-dtags -g" + rlAssertExists "$TESTPROG" + rlRun -c "LD_LIBRARY_PATH=/lib64 ./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/tst-dl.c b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/tst-dl.c new file mode 100644 index 0000000..54adf4b --- /dev/null +++ b/tests/Regression/bz1484832-glibc-dlopen-triggers-SIGSEGV-when/tst-dl.c @@ -0,0 +1,17 @@ +#include + +/** + * gcc dlopen_bug.c -o dlopen_bug -ldl -Wl,-rpath,/nonexisting_path -Wl,--enable-new-dtags -g + * + * Run with: + * LD_LIBRARY_PATH=/lib ./dlopen_bug + * + * Replace /lib with path to directory containing ld.so, + * e.g. /lib/x86_64-linux-gnu on Debian/Ubuntu. + */ + +int main() +{ + dlopen("nonexisting.so", RTLD_LAZY); + return 0; +} diff --git a/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/main.fmf b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/main.fmf new file mode 100644 index 0000000..07f4a18 --- /dev/null +++ b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1497132 (glibc denial of service in getnetbyname function) +description: | + Bug summary: glibc: denial of service in getnetbyname function [rhel-7.5] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1497132 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1497132 +component: + - glibc +tag: + - network +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 30m +extra-summary: + /tools/glibc/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function +extra-task: + /tools/glibc/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function diff --git a/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/runtest.sh b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/runtest.sh new file mode 100755 index 0000000..c83803c --- /dev/null +++ b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/runtest.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function +# Description: Test for BZ#1497132 (glibc denial of service in getnetbyname function) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-getaddr" +NSSWITCHCONF="/etc/nsswitch.conf" +NSSOPTION="networks: files dns" +TSTGAOPT="4.0.41.198.in-addr.arpa." +TSTGATIMEOUT=10 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlFileBackup $NSSWITCHCONF + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + sed -i "s/^networks:.*$/$NSSOPTION/g" $NSSWITCHCONF + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertGrep "$NSSOPTION" "$NSSWITCHCONF" + rlAssertExists "$TESTPROG" + RET=100 + rlWatchdog "./${TESTPROG} $TSTGAOPT" $TSTGATIMEOUT + RET=$? + rlAssert0 "$TESTPROG should exit itself with return code 1" $RET + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlFileRestore + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/tst-getaddr.c b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/tst-getaddr.c new file mode 100644 index 0000000..64bba26 --- /dev/null +++ b/tests/Regression/bz1497132-glibc-denial-of-service-in-getnetbyname-function/tst-getaddr.c @@ -0,0 +1,23 @@ +#include +#include +#include + +int +main(int argc, char **argv) +{ + struct netent *ne = getnetbyname(argv[1]); + if (ne == NULL) { + errx(1, "getnetbyname(%s) failed", argv[1]); + } + printf("n_name: %s\n", ne->n_name); + if (ne->n_aliases) { + char **p = NULL; + printf("n_aliases:\n"); + for (p = ne->n_aliases; *p; ++p) { + printf(" %s\n", *p); + } + } + printf("n_addrtype: %d\n", ne->n_addrtype); + printf("n_net: 0x%08x\n", ne->n_net); + return 0; +} diff --git a/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/main.fmf b/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/main.fmf new file mode 100644 index 0000000..791f3fd --- /dev/null +++ b/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1512009 (glibc locale subpackagaging (langpacks)) +description: | + Bug summary: glibc: locale subpackagaging (langpacks) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1512009 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1512009 +component: + - glibc +order: 900 +test: ./runtest.sh +tag: + - regression +framework: beakerlib +recommend: + - glibc + - glibc-common +duration: 4h +extra-summary: /tools/glibc/Regression/bz1512009-glibc-locale-subpackagaging-langpacks +extra-task: /tools/glibc/Regression/bz1512009-glibc-locale-subpackagaging-langpacks diff --git a/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/runtest.sh b/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/runtest.sh new file mode 100755 index 0000000..dda8055 --- /dev/null +++ b/tests/Regression/bz1512009-glibc-locale-subpackagaging-langpacks/runtest.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1512009-glibc-locale-subpackagaging-langpacks +# Description: Test for BZ#1512009 (glibc locale subpackagaging (langpacks)) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +LANGS="aa af agr ak am an anp ar as ast ayc az be bem ber bg bhb bho bi bn bo br brx bs byn ca ce chr cmn crh cs csb cv cy da de doi dsb dv dz el en eo es et eu fa ff fi fil fo fr fur fy ga gd gez gl gu gv ha hak he hi hif hne hr hsb ht hu hy ia id ig ik is it iu ja ka kab kk kl km kn ko kok ks ku kw ky lb lg li lij ln lo lt lv lzh mag mai mfe mg mhr mi miq mjw mk ml mn mni mr ms mt my nan nb nds ne nhn niu nl nn nr nso oc om or os pa pap pl ps pt quz raj ro ru rw sa sah sat sc sd se sgs shn shs si sid sk sl sm so sq sr ss st sv sw szl ta tcy te tg th the ti tig tk tl tn to tpi tr ts tt ug uk unm ur uz ve vi wa wae wal wo xh yi yo yue yuw zh zu" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlRun -l "rpm -qa |grep ^glibc-langpack |sort" + rlPhaseEnd + + rlPhaseStartTest "Checking_installed_locales" + rlRun -l "locale -a > def_langs" + rlFileSubmit def_langs + rlPhaseEnd + + for LN in $LANGS + do + rlPhaseStartTest "Checking_$LN" + rpm -q glibc-langpack-$LN + DONTREMOVE=$? + [ $DONTREMOVE -ne 0 ] && rlRun -c "dnf -y install glibc-langpack-$LN" + rlRun -l "locale -a |grep $LN > lang_$LN" + rlFileSubmit lang_$LN + [ $DONTREMOVE -ne 0 ] && rlRun -c "dnf -y remove glibc-langpack-$LN" + rlPhaseEnd + done + + rlPhaseStartCleanup + rlRun -l "rpm -qa |grep ^glibc-langpack|sort" + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/main.fmf b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/main.fmf new file mode 100644 index 0000000..0d0d10e --- /dev/null +++ b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1515114 (Update HWCAP bits for POWER9 DD2.1) +description: | + Bug summary: Update HWCAP bits for POWER9 DD2.1 (glibc) [rhel-7.4.z] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1515114 +contact: Sergey Kolosov +adjust: + - enabled: false + when: arch != ppc64le +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1515114 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 20m +extra-summary: /tools/glibc/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1 +extra-task: /tools/glibc/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1 diff --git a/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/runtest.sh b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/runtest.sh new file mode 100755 index 0000000..1c1c6be --- /dev/null +++ b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1 +# Description: Test for BZ#1515114 (Update HWCAP bits for POWER9 DD2.1) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-getauxval" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun -l "grep -m1 cpu /proc/cpuinfo" + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/tst-getauxval.c b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/tst-getauxval.c new file mode 100644 index 0000000..8bdd212 --- /dev/null +++ b/tests/Regression/bz1515114-Update-HWCAP-bits-for-POWER9-DD2-1/tst-getauxval.c @@ -0,0 +1,16 @@ +#include +#include +#include + +int +main (void) +{ + unsigned long ret; + ret = getauxval (AT_HWCAP2); + printf ("%lx\n", ret); + if ((ret & PPC_FEATURE2_HTM_NO_SUSPEND) == 0) + printf ("PPC_FEATURE2_HTM_NO_SUSPEND == 0\n"); + else + printf ("PPC_FEATURE2_HTM_NO_SUSPEND == 1\n"); + return 0; +} diff --git a/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/main.fmf b/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/main.fmf new file mode 100644 index 0000000..1c9da7e --- /dev/null +++ b/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1521129 (glibc Stop installing NIS header files and NSS) +description: | + Bug summary: glibc: Stop installing NIS header files and NSS modules + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1521129 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Alexandra Hajkova +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1521129 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 20m +extra-summary: /tools/glibc/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS +extra-task: /tools/glibc/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS diff --git a/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/runtest.sh b/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/runtest.sh new file mode 100755 index 0000000..5d2ba94 --- /dev/null +++ b/tests/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1521129-glibc-Stop-installing-NIS-header-files-and-NSS +# Description: Test for BZ#1521129 (glibc Stop installing NIS header files and NSS) +# Author: Alexandra Hajkova +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + SPECDIR="$(rpm -E '%{_specdir}')" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + + rlFetchSrcForInstalled $PACKAGE + rlRun "rpm -Uhv $PACKAGE*.src.rpm" + rlAssertExists $SPECDIR/$PACKAGE.spec + rlPhaseEnd + + rlPhaseStartTest + grep nis $SPECDIR/$PACKAGE.spec > log + rlAssertNotGrep "nss_nis" log + rlAssertNotGrep "nisplus" log + rlRun "ls /etc/default/nss" 2 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/main.fmf b/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/main.fmf new file mode 100644 index 0000000..6f3b507 --- /dev/null +++ b/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1525487 (glibc Remove libcrypt-nss) +description: | + Bug summary: glibc: Remove libcrypt-nss + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1525487 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Alexandra Hajkova +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1525487 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1525487-glibc-Remove-libcrypt-nss +extra-task: /tools/glibc/Regression/bz1525487-glibc-Remove-libcrypt-nss diff --git a/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/runtest.sh b/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/runtest.sh new file mode 100755 index 0000000..d807821 --- /dev/null +++ b/tests/Regression/bz1525487-glibc-Remove-libcrypt-nss/runtest.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1525487-glibc-Remove-libcrypt-nss +# Description: Test for BZ#1525487 (glibc Remove libcrypt-nss) +# Author: Alexandra Hájková +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "rpm -q glibc --provides | grep libcrypt" 1 + rlPhaseEnd + +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/main.fmf b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/main.fmf new file mode 100644 index 0000000..f6ccc27 --- /dev/null +++ b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1560641 (sem_open - valgrind complains about uninitialised) +description: | + Bug summary: sem_open - valgrind complains about uninitialised bytes + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1560641 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1560641 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc + - valgrind + - glibc.i686 + - glibc-devel.i686 + - libgcc.i686 + - valgrind.i686 +duration: 20m +extra-summary: + /tools/glibc/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised +extra-task: + /tools/glibc/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised diff --git a/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/runtest.sh b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/runtest.sh new file mode 100755 index 0000000..5ec85e5 --- /dev/null +++ b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/runtest.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised +# Description: Test for BZ#1560641 (sem_open - valgrind complains about uninitialised) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-sem_open" +VALLOG="vlog" +VALLOG32="vlog32" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "64bit test" + rlRun -c "gcc -g ${TESTPROG}.c -o $TESTPROG -lpthread" + rlAssertExists "$TESTPROG" + rlRun -c "valgrind --track-origins=yes --error-exitcode=111 ./${TESTPROG} 2>$VALLOG" + rlFileSubmit $VALLOG + rlPhaseEnd + + if [[ $(rlGetSecondaryArch) == "i686" ]] && rlIsRHEL "<10" + then + rlPhaseStartTest "32bit test" + SECOPT="-m32" + rlRun -c "gcc -g ${SECOPT} ${TESTPROG}.c -o $TESTPROG -lpthread" + rlAssertExists "$TESTPROG" + rlRun -c "valgrind --track-origins=yes --error-exitcode=111 ./${TESTPROG} 2>$VALLOG32" + rlFileSubmit $VALLOG32 + rlPhaseEnd + fi + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/tst-sem_open.c b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/tst-sem_open.c new file mode 100644 index 0000000..4e9b52e --- /dev/null +++ b/tests/Regression/bz1560641-sem-open-valgrind-complains-about-uninitialised/tst-sem_open.c @@ -0,0 +1,21 @@ +#include /* printf() */ +#include /* exit() */ +#include /* sem_open(), sem_destroy(), sem_wait().. */ +#include /* O_CREAT, O_EXEC */ + +int main(void) +{ + const char sname[]="/sem"; + sem_t *pSemaphor; + + pSemaphor = sem_open(sname, O_CREAT, S_IRUSR | S_IWUSR, 1); + if (pSemaphor == SEM_FAILED) { + perror("semaphore initilization"); + return 1; + } + + sem_close(pSemaphor); + sem_unlink(sname); + + return 0; +} diff --git a/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/example.c b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/example.c new file mode 100644 index 0000000..488fbd9 --- /dev/null +++ b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/example.c @@ -0,0 +1,26 @@ +#include +#include //Lua main library (lua_*) +#include //Lua auxiliary library (luaL_*) + +int main(void) +{ + //create a Lua state + lua_State *L = luaL_newstate(); + + //load and execute a string + if (luaL_dostring(L, "function foo (x,y) return x+y end")) { + lua_close(L); + return -1; + } + + //push value of global "foo" (the function defined above) + //to the stack, followed by integers 5 and 3 + lua_getglobal(L, "foo"); + lua_pushinteger(L, 5); + lua_pushinteger(L, 3); + lua_call(L, 2, 1); //call a function with two arguments and one return value + printf("Result: %d\n", lua_tointeger(L, -1)); //print integer value of item at stack top + lua_close(L); //close Lua state + return 0; +} + diff --git a/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/main.fmf b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/main.fmf new file mode 100644 index 0000000..b857e20 --- /dev/null +++ b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1576372 (glibc Use annobin annotations for assembler code) +description: | + Bug summary: glibc: Use annobin annotations for assembler code + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1576372 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Alexandra Hajkova +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1576372 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - annobin-annocheck + - gcc + - glibc + - readline-devel + - redhat-rpm-config +duration: 2h +extra-summary: + /tools/glibc/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code +extra-task: + /tools/glibc/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code diff --git a/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/runtest.sh b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/runtest.sh new file mode 100755 index 0000000..307239f --- /dev/null +++ b/tests/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code/runtest.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1576372-glibc-Use-annobin-annotations-for-assembler-code +# Description: Test for BZ#1576372 (glibc Use annobin annotations for assembler code) +# Author: Alexandra Hájková +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +SAMPLEPROG="example" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "RHELMAJOR=$(cat /etc/redhat-release | sed 's/Alpha[0-9]//g' | sed 's/^[^0-9]*\([0-9]*\)[^0-9]*[0-9]\{1,2\}[^0-9]*$/\1/g')" + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${SAMPLEPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + + # download and install lua + rlRun "curl -R -O https://www.lua.org/ftp/lua-5.3.5.tar.gz" + rlRun "tar -xf lua-5.3.5.tar.gz" + cd lua-5.3.5 + # add the standard build flags to the lua Makefile + FLAGS=$(rpm --eval "%build_cflags %build_ldflags") + sed -i '/MYCFLAGS=/ s|$|'"${FLAGS}"' -fPIE|' src/Makefile + + rlRun "make linux" + rlRun "make install" + cd ../ + + # compile the example using using the standard build flags + rlRun "cc -o example example.c -llua -lm $FLAGS -fPIE" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "annocheck --profile=el${RHELMAJOR} -v ./example > annocheck.log" + rlFileSubmit annocheck.log + rlAssertNotGrep "Gaps were detected in the annobin coverage" annocheck.log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/main.fmf b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/main.fmf new file mode 100644 index 0000000..1448356 --- /dev/null +++ b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1609067 (pldd does not wait for SIGSTOP after PTRACE_ATTACH) +description: | + Bug summary: pldd does not wait for SIGSTOP after PTRACE_ATTACH + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1609067 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1609067 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-common +duration: 6h +extra-summary: + /tools/glibc/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH +extra-task: + /tools/glibc/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH diff --git a/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/runtest.sh b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/runtest.sh new file mode 100755 index 0000000..f68954a --- /dev/null +++ b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/runtest.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH +# Description: Test for BZ#1609067 (pldd does not wait for SIGSTOP after PTRACE_ATTACH) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +MAXITER=1000 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp subsh.sh $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlLog "Starting $MAXITER iterations" + rlRun -l "pldd" 1 + for (( ITER=0 ; $ITER < $MAXITER ; ITER++ )) + do + rlLog "Run iteration $ITER" + rlRun "bash ./subsh.sh &" + rlRun "SHPID=$!" + sleep 2 + kill -0 $SHPID + RES=$? + if [[ $RES -ne 1 ]] + then + rlFail "pldd, pid=$SHPID is still running on $ITER iteration" + rlRun -l "kill -s SIGCONT $SHPID" 0,1 + sleep 1 + rlRun -l "kill -0 $SHPID" 1 + break + fi + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd diff --git a/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/subsh.sh b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/subsh.sh new file mode 100644 index 0000000..d8da21d --- /dev/null +++ b/tests/Regression/bz1609067-pldd-does-not-wait-for-SIGSTOP-after-PTRACE-ATTACH/subsh.sh @@ -0,0 +1,2 @@ +echo $$ +pldd $$ diff --git a/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/audit.c b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/audit.c new file mode 100644 index 0000000..9d850d1 --- /dev/null +++ b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/audit.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include + + +unsigned int la_version(unsigned int ver) +{ + return 1; +} diff --git a/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/main.fmf b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/main.fmf new file mode 100644 index 0000000..1732722 --- /dev/null +++ b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/main.fmf @@ -0,0 +1,18 @@ +summary: Test lazy binding of R_AARCH64_TSLDESC is disabled +description: '' +contact: Sergey Kolosov +adjust: + - enabled: false + when: arch != aarch64 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1639524 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc +duration: 5m +extra-summary: /tools/glibc/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC +extra-task: /tools/glibc/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC diff --git a/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/runtest.sh b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/runtest.sh new file mode 100755 index 0000000..bbd2527 --- /dev/null +++ b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC +# Description: What the test does +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c audit.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlRun -c "gcc -o libaudit.so audit.c -fPIC -shared" + rlAssertExists "$TESTPROG" + rlAssertExists "libaudit.so" + rlRun -c "LD_AUDIT=`pwd`/libaudit.so ./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/test.c b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/test.c new file mode 100644 index 0000000..c6d635d --- /dev/null +++ b/tests/Regression/bz1639524-disabling-lazy-binding-of-R_AARCH64_TSLDESC/test.c @@ -0,0 +1,11 @@ +#include +#include +#include + +struct in_addr a; + +int main(int argc, char *argv[]) +{ + inet_ntoa(a); + return 0; +} diff --git a/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/main.fmf b/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/main.fmf new file mode 100644 index 0000000..f6af971 --- /dev/null +++ b/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/main.fmf @@ -0,0 +1,29 @@ +summary: Test for BZ#1645593 (glibc testing Fix posix/tst-spawn4-compat) +description: | + Bug summary: glibc: testing: Fix posix/tst-spawn4-compat + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1645593 +contact: Alexandra Hajkova +adjust: + - enabled: false + when: arch != s390x + - enabled: false + when: distro < rhel-8 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1645593 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-static + - gcc + - rpm-build + - yum-utils +duration: 4h +extra-summary: /tools/glibc/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat +extra-task: /tools/glibc/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat diff --git a/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/runtest.sh b/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/runtest.sh new file mode 100755 index 0000000..95e95b3 --- /dev/null +++ b/tests/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat/runtest.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1645593-glibc-testing-Fix-posix-tst-spawn4-compat +# Description: Test for BZ#1645593 (glibc testing Fix posix/tst-spawn4-compat) +# Author: Alexandra Hájková +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + GLIBC_VERSION=$(rpm -q glibc | head -n1 | sed 's/\.[^\.]\+$//') + + # Get rid of any existing builds + BUILDDIR="$(rpm -E '%{_builddir}')" + SPECDIR="$(rpm -E '%{_specdir}')" + rlRun "rm -rf $BUILDDIR/glibc*" + rlRun "rm -rf $SPECDIR/glibc*.spec" + + # Download glibc srpm into current directory + rlFetchSrcForInstalled glibc || yumdownloader --source glibc + rlRun -l "ls glibc*.src.rpm" # rlAssertExists doesn't accept wildcards + rlRun -c "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependencies" + + # Extract into /root/rpmbuild/ + rlRun -c "rpm -Uv --replacepkgs glibc*.src.rpm" + rlAssertExists $SPECDIR/glibc.spec + rlRun -c "rpmbuild -bp $SPECDIR/glibc.spec" + rlPhaseEnd + + rlPhaseStartTest + $BUILDDIR/glibc*/configure CFLAGS="-march=z900 -O2" --prefix=/usr + rlRun "make" + CHECK_LOG=$(pwd)/check.log + rlRun -c "make check &> $CHECK_LOG" 0,2 + rlFileSubmit $CHECK_LOG "${GLIBC_VERSION}-$(basename $build)-check.log" + rlAssertNotGrep "Segmentation fault" posix/tst-spawn4-compat.out + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/main.fmf b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/main.fmf new file mode 100644 index 0000000..d42af24 --- /dev/null +++ b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#1645596 (glibc Fix misreported errno on preadv2/pwritev2) +description: | + Bug summary: glibc: Fix misreported errno on preadv2/pwritev2 (swbz#23579) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1645596 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1645596 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2 +extra-task: + /tools/glibc/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2 diff --git a/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/runtest.sh b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/runtest.sh new file mode 100755 index 0000000..f0ec165 --- /dev/null +++ b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2 +# Description: Test for BZ#1645596 (glibc Fix misreported errno on preadv2/pwritev2) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGS="tst-pread tst-pwrite" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + for TESTPROG in $TESTPROGS + do + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + done + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + for TESTPROG in $TESTPROGS + do + rlPhaseStartTest $TESTPROG + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -l "./${TESTPROG}" + rlPhaseEnd + done + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pread.c b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pread.c new file mode 100644 index 0000000..3b3b6ec --- /dev/null +++ b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pread.c @@ -0,0 +1,17 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=23579 */ +#define _GNU_SOURCE +#include +#include +#include +int main() { + char buf[256]; + struct iovec iov = { .iov_base = buf, .iov_len = sizeof buf }; + preadv2(4000, &iov, 1, -1, RWF_HIPRI); + int err=errno; + perror("preadv2"); + if(err != EBADF) { + printf("preadv2() returned wrong value=%d\n",err); + return 1; + } + return 0; +} diff --git a/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pwrite.c b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pwrite.c new file mode 100644 index 0000000..769503a --- /dev/null +++ b/tests/Regression/bz1645596-glibc-Fix-misreported-errno-on-preadv2-pwritev2/tst-pwrite.c @@ -0,0 +1,17 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=23579 */ +#define _GNU_SOURCE +#include +#include +#include +int main() { + char buf[256]; + struct iovec iov = { .iov_base = buf, .iov_len = sizeof buf }; + pwritev2(4000, &iov, 1, -1, RWF_HIPRI); + int err=errno; + perror("pwritev2"); + if(err != EBADF) { + printf("pwritev2() returned wrong value=%d\n",err); + return 1; + } + return 0; +} diff --git a/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/main.fmf b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/main.fmf new file mode 100644 index 0000000..26f2600 --- /dev/null +++ b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1645597 (glibc locale Fix Greenland spelling for Sunday.) +description: | + Bug summary: glibc: locale: Fix Greenland spelling for Sunday. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1645597 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1645597 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-langpack-kl +duration: 10m +extra-summary: /tools/glibc/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday +extra-task: /tools/glibc/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday diff --git a/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/origin_kl b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/origin_kl new file mode 100644 index 0000000..9eed1dc --- /dev/null +++ b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/origin_kl @@ -0,0 +1,7 @@ +sisamanngorneq sis +tallimanngorneq tal +arfininngorneq arf +sapaat sap +ataasinngorneq ata +marlunngorneq mar +pingasunngorneq pin diff --git a/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/runtest.sh b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/runtest.sh new file mode 100755 index 0000000..158c430 --- /dev/null +++ b/tests/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday/runtest.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1645597-glibc-locale-Fix-Greenland-spelling-for-Sunday +# Description: Test for BZ#1645597 (glibc locale Fix Greenland spelling for Sunday.) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm glibc-langpack-kl + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp origin_kl $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + for I in `seq 1 7` + do + rlRun "TZ=America/Nuuk LC_TIME=kl_GL date +'%A %a' --date @$[86400*$I] >> tested_kl" + done + rlAssertNotDiffer origin_kl tested_kl + rlFileSubmit tested_kl + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/main.fmf b/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/main.fmf new file mode 100644 index 0000000..ef1889b --- /dev/null +++ b/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1649890 (glibc rpmdiff warning - RPM Requires/Provides) +description: | + Bug summary: glibc: rpmdiff warning - RPM Requires/Provides check for glibc-nss-devel + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1649890 +adjust: + - enabled: false + when: distro < rhel-8 +contact: Alexandra Hájková +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1649890 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - yum-utils + - rpm-build +duration: 1h +extra-summary: /tools/glibc/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides +extra-task: /tools/glibc/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides diff --git a/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/runtest.sh b/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/runtest.sh new file mode 100755 index 0000000..e03cff2 --- /dev/null +++ b/tests/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1649890-glibc-rpmdiff-warning-RPM-Requires-Provides +# Description: Test for BZ#1649890 (glibc rpmdiff warning - RPM Requires/Provides) +# Author: Alexandra Hájková +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + + # Download glibc srpm into current directory + rlFetchSrcForInstalled glibc || yumdownloader --source glibc + rlRun -l "ls glibc*.src.rpm" # rlAssertExists doesn't accept wildcards + rlRun -c "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependencies" + + # Extract into /root/rpmbuild/ + SPECDIR="$(rpm -E '%{_specdir}')" + rlRun -c "rpm -Uvh glibc*.src.rpm" + + rlPhaseEnd + + rlPhaseStartTest + awk '/package nss-devel/ { r=""; f=1 } f { r = (r ? r ORS : "") $0 } /nss_db/ { if (f && r ~ /Requires: %{name}%{_isa} = %{version}-%{release}/) print r; f=0 }' $SPECDIR/glibc.spec > log + rlAssertGrep "Requires: %{name}%{_isa} = %{version}-%{release}" log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/main.fmf b/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/main.fmf new file mode 100644 index 0000000..a87256f --- /dev/null +++ b/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1652932 (glibc needs to be rebuild on ppc64le for new) +description: | + Bug summary: glibc needs to be rebuild on ppc64le for new str[n]cmp inlined code + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1652932 +contact: Release +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1652932 +adjust: + - enabled: false + when: arch != ppc64le +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - valgrind +duration: 10m +extra-summary: /tools/glibc/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new +extra-task: /tools/glibc/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new diff --git a/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/runtest.sh b/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/runtest.sh new file mode 100755 index 0000000..74efe24 --- /dev/null +++ b/tests/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new/runtest.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1652932-glibc-needs-to-be-rebuild-on-ppc64le-for-new +# Description: Test for BZ#1652932 (glibc needs to be rebuild on ppc64le for new) +# Author: Alexandra Hájková +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "valgrind /bin/true --help &> log" + rlAssertNotGrep 'Invalid read' log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/main.fmf b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/main.fmf new file mode 100644 index 0000000..6d00712 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/main.fmf @@ -0,0 +1,24 @@ +summary: Test for BZ#1659293 (glibc Fix rwlock/rdlock hang.) +description: | + Bug summary: glibc: Fix rwlock/rdlock hang. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1659293 +adjust: + - enabled: false + when: distro < rhel-8.1 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1659293 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 20m +extra-summary: /tools/glibc/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang +extra-task: /tools/glibc/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/runtest.sh b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/runtest.sh new file mode 100755 index 0000000..628f84f --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/runtest.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang +# Description: Test for BZ#1659293 (glibc Fix rwlock/rdlock hang.) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGR="tst-rwlock-tryrdlock-stall" +TESTPROGW="tst-rwlock-trywrlock-stall" +SUPPORTDIR="support" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun -l "gcc --version" + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROGR}.c $TESTTMPDIR" + rlRun "cp ${TESTPROGW}.c $TESTTMPDIR" + rlRun "cp -r support $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "Prepare$" + rlRun "pushd $SUPPORTDIR" + rlRun -c "mv test-driver.c test-driver.c_" + for SFILE in *.c + do + #rlRun -c "gcc -D_GNU_SOURCE -I../ -c $SFILE" + rlRun -c "gcc -D_GNU_SOURCE -std=gnu11 -fgnu89-inline -O2 -fasynchronous-unwind-tables -fmerge-all-constants -frounding-math -fstack-clash-protection -fstack-protector-strong -I../ -c $SFILE" + done + rlRun -c "mv test-driver.c_ test-driver.c" + rlRun "popd" + SUPPORTFILES=$(echo ${SUPPORTDIR}/*.o) + rlPhaseEnd + + rlPhaseStartTest "${TESTPROGR}" + rlRun -c "gcc -I. -c ${TESTPROGR}.c" + rlRun -c "gcc ${TESTPROGR}.o $SUPPORTFILES -o ${TESTPROGR} -lpthread" + rlAssertExists "${TESTPROGR}" + rlRun -l "./${TESTPROGR}" + rlPhaseEnd + + rlPhaseStartTest "${TESTPROGW}" + rlRun -c "gcc -I. -c ${TESTPROGW}.c" + rlRun -c "gcc ${TESTPROGW}.o $SUPPORTFILES -o ${TESTPROGW} -lpthread" + rlAssertExists "${TESTPROGW}" + rlRun -l "./${TESTPROGW}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.c new file mode 100644 index 0000000..78f2b3c --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.c @@ -0,0 +1,60 @@ +/* Support code for reporting test results. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#include +#include +#include +#include +#include + +static void +print_failure (const char *file, int line, const char *format, va_list ap) +{ + int saved_errno = errno; + printf ("error: %s:%d: ", file, line); + vprintf (format, ap); + puts (""); + errno = saved_errno; +} + +int +support_print_failure_impl (const char *file, int line, + const char *format, ...) +{ + support_record_failure (); + va_list ap; + va_start (ap, format); + print_failure (file, line, format, ap); + va_end (ap); + return 1; +} + +void +support_exit_failure_impl (int status, const char *file, int line, + const char *format, ...) +{ + if (status != EXIT_SUCCESS && status != EXIT_UNSUPPORTED) + support_record_failure (); + va_list ap; + va_start (ap, format); + print_failure (file, line, format, ap); + va_end (ap); + exit (status); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.h new file mode 100644 index 0000000..7ea9a86 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/check.h @@ -0,0 +1,192 @@ +/* Functionality for reporting test results. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef SUPPORT_CHECK_H +#define SUPPORT_CHECK_H + +#include + +__BEGIN_DECLS + +/* Record a test failure, print the failure message to standard output + and return 1. */ +#define FAIL_RET(...) \ + return support_print_failure_impl (__FILE__, __LINE__, __VA_ARGS__) + +/* Print the failure message and terminate the process with STATUS. + Record a the process as failed if STATUS is neither EXIT_SUCCESS + nor EXIT_UNSUPPORTED. */ +#define FAIL_EXIT(status, ...) \ + support_exit_failure_impl (status, __FILE__, __LINE__, __VA_ARGS__) + +/* Record a test failure, print the failure message and terminate with + exit status 1. */ +#define FAIL_EXIT1(...) \ + support_exit_failure_impl (1, __FILE__, __LINE__, __VA_ARGS__) + +/* Print failure message and terminate with as unsupported test (exit + status of 77). */ +#define FAIL_UNSUPPORTED(...) \ + support_exit_failure_impl (77, __FILE__, __LINE__, __VA_ARGS__) + +/* Record a test failure (but continue executing) if EXPR evaluates to + false. */ +#define TEST_VERIFY(expr) \ + ({ \ + if (expr) \ + ; \ + else \ + support_test_verify_impl (__FILE__, __LINE__, #expr); \ + }) + +/* Record a test failure and exit if EXPR evaluates to false. */ +#define TEST_VERIFY_EXIT(expr) \ + ({ \ + if (expr) \ + ; \ + else \ + support_test_verify_exit_impl \ + (1, __FILE__, __LINE__, #expr); \ + }) + + + +int support_print_failure_impl (const char *file, int line, + const char *format, ...) + __attribute__ ((nonnull (1), format (printf, 3, 4))); +void support_exit_failure_impl (int exit_status, + const char *file, int line, + const char *format, ...) + __attribute__ ((noreturn, nonnull (2), format (printf, 4, 5))); +void support_test_verify_impl (const char *file, int line, + const char *expr); +void support_test_verify_exit_impl (int status, const char *file, int line, + const char *expr) + __attribute__ ((noreturn)); + +/* Record a test failure. This function returns and does not + terminate the process. The failure counter is stored in a shared + memory mapping, so that failures reported in child processes are + visible to the parent process and test driver. This function + depends on initialization by an ELF constructor, so it can only be + invoked after the test driver has run. Note that this function + does not support reporting failures from a DSO. */ +void support_record_failure (void); + +/* Static assertion, under a common name for both C++ and C11. */ +#ifdef __cplusplus +# define support_static_assert static_assert +#else +# define support_static_assert _Static_assert +#endif + +/* Compare the two integers LEFT and RIGHT and report failure if they + are different. */ +#define TEST_COMPARE(left, right) \ + ({ \ + /* + applies the integer promotions, for bitfield support. */ \ + typedef __typeof__ (+ (left)) __left_type; \ + typedef __typeof__ (+ (right)) __right_type; \ + __left_type __left_value = (left); \ + __right_type __right_value = (right); \ + int __left_is_positive = __left_value > 0; \ + int __right_is_positive = __right_value > 0; \ + /* Prevent use with floating-point types. */ \ + support_static_assert ((__left_type) 1.0 == (__left_type) 1.5, \ + "left value has floating-point type"); \ + support_static_assert ((__right_type) 1.0 == (__right_type) 1.5, \ + "right value has floating-point type"); \ + /* Prevent accidental use with larger-than-long long types. */ \ + support_static_assert (sizeof (__left_value) <= sizeof (long long), \ + "left value fits into long long"); \ + support_static_assert (sizeof (__right_value) <= sizeof (long long), \ + "right value fits into long long"); \ + /* Compare the value. */ \ + if (__left_value != __right_value \ + || __left_is_positive != __right_is_positive) \ + /* Pass the sign for printing the correct value. */ \ + support_test_compare_failure \ + (__FILE__, __LINE__, \ + #left, __left_value, __left_is_positive, sizeof (__left_type), \ + #right, __right_value, __right_is_positive, sizeof (__right_type)); \ + }) + +/* Internal implementation of TEST_COMPARE. LEFT_POSITIVE and + RIGHT_POSITIVE are used to store the sign separately, so that both + unsigned long long and long long arguments fit into LEFT_VALUE and + RIGHT_VALUE, and the function can still print the original value. + LEFT_SIZE and RIGHT_SIZE specify the size of the argument in bytes, + for hexadecimal formatting. */ +void support_test_compare_failure (const char *file, int line, + const char *left_expr, + long long left_value, + int left_positive, + int left_size, + const char *right_expr, + long long right_value, + int right_positive, + int right_size); + + +/* Compare [LEFT, LEFT + LEFT_LENGTH) with [RIGHT, RIGHT + + RIGHT_LENGTH) and report a test failure if the arrays are + different. LEFT_LENGTH and RIGHT_LENGTH are measured in bytes. If + the length is null, the corresponding pointer is ignored (i.e., it + can be NULL). The blobs should be reasonably short because on + mismatch, both are printed. */ +#define TEST_COMPARE_BLOB(left, left_length, right, right_length) \ + (support_test_compare_blob (left, left_length, right, right_length, \ + __FILE__, __LINE__, \ + #left, #left_length, #right, #right_length)) + +void support_test_compare_blob (const void *left, + unsigned long int left_length, + const void *right, + unsigned long int right_length, + const char *file, int line, + const char *left_exp, const char *left_len_exp, + const char *right_exp, + const char *right_len_exp); + +/* Compare the strings LEFT and RIGHT and report a test failure if + they are different. Also report failure if one of the arguments is + a null pointer and the other is not. The strings should be + reasonably short because on mismatch, both are printed. */ +#define TEST_COMPARE_STRING(left, right) \ + (support_test_compare_string (left, right, __FILE__, __LINE__, \ + #left, #right)) + +void support_test_compare_string (const char *left, const char *right, + const char *file, int line, + const char *left_expr, + const char *right_expr); + +/* Internal function called by the test driver. */ +int support_report_failure (int status) + __attribute__ ((weak, warn_unused_result)); + +/* Internal function used to test the failure recording framework. */ +void support_record_failure_reset (void); + +/* Returns true or false depending on whether there have been test + failures or not. */ +int support_record_failure_is_failed (void); + +__END_DECLS + +#endif /* SUPPORT_CHECK_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support.h new file mode 100644 index 0000000..633660f --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support.h @@ -0,0 +1,113 @@ +/* Common extra functions. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This header file should only contain definitions compatible with + C90. (Using __attribute__ is fine because provides a + fallback.) */ + +#ifndef SUPPORT_H +#define SUPPORT_H + +#include +#include +/* For mode_t. */ +#include +/* For ssize_t and off64_t. */ +#include + +__BEGIN_DECLS + +/* Write a message to standard output. Can be used in signal + handlers. */ +void write_message (const char *message) __attribute__ ((nonnull (1))); + +/* Avoid all the buffer overflow messages on stderr. */ +void ignore_stderr (void); + +/* Set fortification error handler. Used when tests want to verify that bad + code is caught by the library. */ +void set_fortify_handler (void (*handler) (int sig)); + +/* Report an out-of-memory error for the allocation of SIZE bytes in + FUNCTION, terminating the process. */ +void oom_error (const char *function, size_t size) + __attribute__ ((nonnull (1))); + +/* Return a pointer to a memory region of SIZE bytes. The memory is + initialized to zero and will be shared with subprocesses (across + fork). The returned pointer must be freed using + support_shared_free; it is not compatible with the malloc + functions. */ +void *support_shared_allocate (size_t size); + +/* Deallocate a pointer returned by support_shared_allocate. */ +void support_shared_free (void *); + +/* Write CONTENTS to the file PATH. Create or truncate the file as + needed. The file mode is 0666 masked by the umask. Terminate the + process on error. */ +void support_write_file_string (const char *path, const char *contents); + +/* Quote the contents of the byte array starting at BLOB, of LENGTH + bytes, in such a way that the result string can be included in a C + literal (in single/double quotes, without putting the quotes into + the result). */ +char *support_quote_blob (const void *blob, size_t length); + +/* Quote the contents of the string, in such a way that the result + string can be included in a C literal (in single/double quotes, + without putting the quotes into the result). */ +char *support_quote_string (const char *); + +/* Returns non-zero if the file descriptor is a regular file on a file + system which supports holes (that is, seeking and writing does not + allocate storage for the range of zeros). FD must refer to a + regular file open for writing, and initially empty. */ +int support_descriptor_supports_holes (int fd); + +/* Error-checking wrapper functions which terminate the process on + error. */ + +void *xmalloc (size_t) __attribute__ ((malloc)); +void *xcalloc (size_t n, size_t s) __attribute__ ((malloc)); +void *xrealloc (void *p, size_t n); +char *xasprintf (const char *format, ...) + __attribute__ ((format (printf, 1, 2), malloc)); +char *xstrdup (const char *); +char *xstrndup (const char *, size_t); + +/* These point to the TOP of the source/build tree, not your (or + support's) subdirectory. */ +extern const char support_srcdir_root[]; +extern const char support_objdir_root[]; + +/* Corresponds to the path to the runtime linker used by the testsuite, + e.g. OBJDIR_PATH/elf/ld-linux-x86-64.so.2 */ +extern const char support_objdir_elf_ldso[]; + +/* Corresponds to the --prefix= passed to configure. */ +extern const char support_install_prefix[]; +/* Corresponds to the install's lib/ or lib64/ directory. */ +extern const char support_libdir_prefix[]; + +extern ssize_t support_copy_file_range (int, off64_t *, int, off64_t *, + size_t, unsigned int); + +__END_DECLS + +#endif /* SUPPORT_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_record_failure.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_record_failure.c new file mode 100644 index 0000000..17ab1d8 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_record_failure.c @@ -0,0 +1,114 @@ +/* Global test failure counter. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +/* This structure keeps track of test failures. The counter is + incremented on each failure. The failed member is set to true if a + failure is detected, so that even if the counter wraps around to + zero, the failure of a test can be detected. + + The init constructor function below puts *state on a shared + annonymous mapping, so that failure reports from subprocesses + propagate to the parent process. */ +struct test_failures +{ + unsigned int counter; + unsigned int failed; +}; +static struct test_failures *state; + +static __attribute__ ((constructor)) void +init (void) +{ + void *ptr = mmap (NULL, sizeof (*state), PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_SHARED, -1, 0); + if (ptr == MAP_FAILED) + { + printf ("error: could not map %zu bytes: %m\n", sizeof (*state)); + exit (1); + } + /* Zero-initialization of the struct is sufficient. */ + state = ptr; +} + +void +support_record_failure (void) +{ + if (state == NULL) + { + write_message + ("error: support_record_failure called without initialization\n"); + _exit (1); + } + /* Relaxed MO is sufficient because we are only interested in the + values themselves, in isolation. */ + __atomic_store_n (&state->failed, 1, __ATOMIC_RELEASE); + __atomic_add_fetch (&state->counter, 1, __ATOMIC_RELEASE); +} + +int +support_report_failure (int status) +{ + if (state == NULL) + { + write_message + ("error: support_report_failure called without initialization\n"); + return 1; + } + + /* Relaxed MO is sufficient because acquire test result reporting + assumes that exiting from the main thread happens before the + error reporting via support_record_failure, which requires some + form of external synchronization. */ + bool failed = __atomic_load_n (&state->failed, __ATOMIC_RELAXED); + if (failed) + printf ("error: %u test failures\n", + __atomic_load_n (&state->counter, __ATOMIC_RELAXED)); + + if ((status == 0 || status == EXIT_UNSUPPORTED) && failed) + /* If we have a recorded failure, it overrides a non-failure + report from the test function. */ + status = 1; + return status; +} + +void +support_record_failure_reset (void) +{ + /* Only used for testing the test framework, with external + synchronization, but use release MO for consistency. */ + __atomic_store_n (&state->failed, 0, __ATOMIC_RELAXED); + __atomic_add_fetch (&state->counter, 0, __ATOMIC_RELAXED); +} + +int +support_record_failure_is_failed (void) +{ + /* Relaxed MO is sufficient because we need (blocking) external + synchronization for reliable test error reporting anyway. */ + return __atomic_load_n (&state->failed, __ATOMIC_RELAXED); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_test_main.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_test_main.c new file mode 100644 index 0000000..efcd3cb --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/support_test_main.c @@ -0,0 +1,454 @@ +/* Main worker function for the test driver. + Copyright (C) 1998-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const struct option default_options[] = +{ + TEST_DEFAULT_OPTIONS + { NULL, 0, NULL, 0 } +}; + +/* Show people how to run the program. */ +static void +usage (const struct option *options) +{ + size_t i; + + printf ("Usage: %s [options]\n" + "\n" + "Environment Variables:\n" + " TIMEOUTFACTOR An integer used to scale the timeout\n" + " TMPDIR Where to place temporary files\n" + " TEST_COREDUMPS Do not disable coredumps if set\n" + "\n", + program_invocation_short_name); + printf ("Options:\n"); + for (i = 0; options[i].name; ++i) + { + int indent; + + indent = printf (" --%s", options[i].name); + if (options[i].has_arg == required_argument) + indent += printf (" "); + printf ("%*s", 25 - indent, ""); + switch (options[i].val) + { + case 'v': + printf ("Increase the output verbosity"); + break; + case OPT_DIRECT: + printf ("Run the test directly (instead of forking & monitoring)"); + break; + case OPT_TESTDIR: + printf ("Override the TMPDIR env var"); + break; + } + printf ("\n"); + } +} + +/* The PID of the test process. */ +static pid_t test_pid; + +/* The cleanup handler passed to test_main. */ +static void (*cleanup_function) (void); + +static void +print_timestamp (const char *what, struct timeval tv) +{ + struct tm tm; + if (gmtime_r (&tv.tv_sec, &tm) == NULL) + printf ("%s: %lld.%06d\n", + what, (long long int) tv.tv_sec, (int) tv.tv_usec); + else + printf ("%s: %04d-%02d-%02dT%02d:%02d:%02d.%06d\n", + what, 1900 + tm.tm_year, tm.tm_mon + 1, tm.tm_mday, + tm.tm_hour, tm.tm_min, tm.tm_sec, (int) tv.tv_usec); +} + +/* Timeout handler. We kill the child and exit with an error. */ +static void +__attribute__ ((noreturn)) +signal_handler (int sig) +{ + int killed; + int status; + + /* Do this first to avoid further interference from the + subprocess. */ + struct timeval now; + bool now_available = gettimeofday (&now, NULL) == 0; + struct stat64 st; + bool st_available = fstat64 (STDOUT_FILENO, &st) == 0 && st.st_mtime != 0; + + assert (test_pid > 1); + /* Kill the whole process group. */ + kill (-test_pid, SIGKILL); + /* In case setpgid failed in the child, kill it individually too. */ + kill (test_pid, SIGKILL); + + /* Wait for it to terminate. */ + int i; + for (i = 0; i < 5; ++i) + { + killed = waitpid (test_pid, &status, WNOHANG|WUNTRACED); + if (killed != 0) + break; + + /* Delay, give the system time to process the kill. If the + nanosleep() call return prematurely, all the better. We + won't restart it since this probably means the child process + finally died. */ + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = 100000000; + nanosleep (&ts, NULL); + } + if (killed != 0 && killed != test_pid) + { + printf ("Failed to kill test process: %m\n"); + exit (1); + } + + if (cleanup_function != NULL) + cleanup_function (); + + if (sig == SIGINT) + { + signal (sig, SIG_DFL); + raise (sig); + } + + if (killed == 0 || (WIFSIGNALED (status) && WTERMSIG (status) == SIGKILL)) + puts ("Timed out: killed the child process"); + else if (WIFSTOPPED (status)) + printf ("Timed out: the child process was %s\n", + strsignal (WSTOPSIG (status))); + else if (WIFSIGNALED (status)) + printf ("Timed out: the child process got signal %s\n", + strsignal (WTERMSIG (status))); + else + printf ("Timed out: killed the child process but it exited %d\n", + WEXITSTATUS (status)); + + if (now_available) + print_timestamp ("Termination time", now); + if (st_available) + print_timestamp ("Last write to standard output", + (struct timeval) { st.st_mtim.tv_sec, + st.st_mtim.tv_nsec / 1000 }); + + /* Exit with an error. */ + exit (1); +} + +/* Run test_function or test_function_argv. */ +static int +run_test_function (int argc, char **argv, const struct test_config *config) +{ + if (config->test_function != NULL) + return config->test_function (); + else if (config->test_function_argv != NULL) + return config->test_function_argv (argc, argv); + else + { + printf ("error: no test function defined\n"); + exit (1); + } +} + +static bool test_main_called; + +const char *test_dir = NULL; +unsigned int test_verbose = 0; + +/* If test failure reporting has been linked in, it may contribute + additional test failures. */ +static int +adjust_exit_status (int status) +{ + if (support_report_failure != NULL) + return support_report_failure (status); + return status; +} + +int +support_test_main (int argc, char **argv, const struct test_config *config) +{ + if (test_main_called) + { + printf ("error: test_main called for a second time\n"); + exit (1); + } + test_main_called = true; + const struct option *options; + if (config->options != NULL) + options = config->options; + else + options = default_options; + + cleanup_function = config->cleanup_function; + + int direct = 0; /* Directly call the test function? */ + int status; + int opt; + unsigned int timeoutfactor = 1; + pid_t termpid; + + if (!config->no_mallopt) + { + /* Make uses of freed and uninitialized memory known. Do not + pull in a definition for mallopt if it has not been defined + already. */ + extern __typeof__ (mallopt) mallopt __attribute__ ((weak)); + if (mallopt != NULL) + mallopt (M_PERTURB, 42); + } + + while ((opt = getopt_long (argc, argv, config->optstring, options, NULL)) + != -1) + switch (opt) + { + case '?': + usage (options); + exit (1); + case 'v': + ++test_verbose; + break; + case OPT_DIRECT: + direct = 1; + break; + case OPT_TESTDIR: + test_dir = optarg; + break; + default: + if (config->cmdline_function != NULL) + config->cmdline_function (opt); + } + + /* If set, read the test TIMEOUTFACTOR value from the environment. + This value is used to scale the default test timeout values. */ + char *envstr_timeoutfactor = getenv ("TIMEOUTFACTOR"); + if (envstr_timeoutfactor != NULL) + { + char *envstr_conv = envstr_timeoutfactor; + unsigned long int env_fact; + + env_fact = strtoul (envstr_timeoutfactor, &envstr_conv, 0); + if (*envstr_conv == '\0' && envstr_conv != envstr_timeoutfactor) + timeoutfactor = MAX (env_fact, 1); + } + + /* Set TMPDIR to specified test directory. */ + if (test_dir != NULL) + { + setenv ("TMPDIR", test_dir, 1); + + if (chdir (test_dir) < 0) + { + printf ("chdir: %m\n"); + exit (1); + } + } + else + { + test_dir = getenv ("TMPDIR"); + if (test_dir == NULL || test_dir[0] == '\0') + test_dir = "/tmp"; + } + if (support_set_test_dir != NULL) + support_set_test_dir (test_dir); + + int timeout = config->timeout; + if (timeout == 0) + timeout = DEFAULT_TIMEOUT; + + /* Make sure we see all message, even those on stdout. */ + if (!config->no_setvbuf) + setvbuf (stdout, NULL, _IONBF, 0); + + /* Make sure temporary files are deleted. */ + if (support_delete_temp_files != NULL) + atexit (support_delete_temp_files); + + /* Correct for the possible parameters. */ + argv[optind - 1] = argv[0]; + argv += optind - 1; + argc -= optind - 1; + + /* Call the initializing function, if one is available. */ + if (config->prepare_function != NULL) + config->prepare_function (argc, argv); + + const char *envstr_direct = getenv ("TEST_DIRECT"); + if (envstr_direct != NULL) + { + FILE *f = fopen (envstr_direct, "w"); + if (f == NULL) + { + printf ("cannot open TEST_DIRECT output file '%s': %m\n", + envstr_direct); + exit (1); + } + + fprintf (f, "timeout=%u\ntimeoutfactor=%u\n", + config->timeout, timeoutfactor); + if (config->expected_status != 0) + fprintf (f, "exit=%u\n", config->expected_status); + if (config->expected_signal != 0) + fprintf (f, "signal=%s\n", strsignal (config->expected_signal)); + + if (support_print_temp_files != NULL) + support_print_temp_files (f); + + fclose (f); + direct = 1; + } + + bool disable_coredumps; + { + const char *coredumps = getenv ("TEST_COREDUMPS"); + disable_coredumps = coredumps == NULL || coredumps[0] == '\0'; + } + + /* If we are not expected to fork run the function immediately. */ + if (direct) + return adjust_exit_status (run_test_function (argc, argv, config)); + + /* Set up the test environment: + - prevent core dumps + - set up the timer + - fork and execute the function. */ + + test_pid = fork (); + if (test_pid == 0) + { + /* This is the child. */ + if (disable_coredumps) + { + /* Try to avoid dumping core. This is necessary because we + run the test from the source tree, and the coredumps + would end up there (and not in the build tree). */ + struct rlimit core_limit; + core_limit.rlim_cur = 0; + core_limit.rlim_max = 0; + setrlimit (RLIMIT_CORE, &core_limit); + } + + /* We put the test process in its own pgrp so that if it bogusly + generates any job control signals, they won't hit the whole build. */ + if (setpgid (0, 0) != 0) + printf ("Failed to set the process group ID: %m\n"); + + /* Execute the test function and exit with the return value. */ + exit (run_test_function (argc, argv, config)); + } + else if (test_pid < 0) + { + printf ("Cannot fork test program: %m\n"); + exit (1); + } + + /* Set timeout. */ + signal (SIGALRM, signal_handler); + alarm (timeout * timeoutfactor); + + /* Make sure we clean up if the wrapper gets interrupted. */ + signal (SIGINT, signal_handler); + + /* Wait for the regular termination. */ + termpid = TEMP_FAILURE_RETRY (waitpid (test_pid, &status, 0)); + if (termpid == -1) + { + printf ("Waiting for test program failed: %m\n"); + exit (1); + } + if (termpid != test_pid) + { + printf ("Oops, wrong test program terminated: expected %ld, got %ld\n", + (long int) test_pid, (long int) termpid); + exit (1); + } + + /* Process terminated normaly without timeout etc. */ + if (WIFEXITED (status)) + { + if (config->expected_status == 0) + { + if (config->expected_signal == 0) + /* Exit with the return value of the test. */ + return adjust_exit_status (WEXITSTATUS (status)); + else + { + printf ("Expected signal '%s' from child, got none\n", + strsignal (config->expected_signal)); + exit (1); + } + } + else + { + /* Non-zero exit status is expected */ + if (WEXITSTATUS (status) != config->expected_status) + { + printf ("Expected status %d, got %d\n", + config->expected_status, WEXITSTATUS (status)); + exit (1); + } + } + return adjust_exit_status (0); + } + /* Process was killed by timer or other signal. */ + else + { + if (config->expected_signal == 0) + { + printf ("Didn't expect signal from child: got `%s'\n", + strsignal (WTERMSIG (status))); + exit (1); + } + else if (WTERMSIG (status) != config->expected_signal) + { + printf ("Incorrect signal from child: got `%s', need `%s'\n", + strsignal (WTERMSIG (status)), + strsignal (config->expected_signal)); + exit (1); + } + + return adjust_exit_status (0); + } +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/temp_file-internal.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/temp_file-internal.h new file mode 100644 index 0000000..4cee3c0 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/temp_file-internal.h @@ -0,0 +1,31 @@ +/* Internal weak declarations for temporary file handling. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef SUPPORT_TEMP_FILE_INTERNAL_H +#define SUPPORT_TEMP_FILE_INTERNAL_H + +/* These functions are called by the test driver if they are + defined. Tests should not call them directly. */ + +#include + +void support_set_test_dir (const char *name) __attribute__ ((weak)); +void support_delete_temp_files (void) __attribute__ ((weak)); +void support_print_temp_files (FILE *) __attribute__ ((weak)); + +#endif /* SUPPORT_TEMP_FILE_INTERNAL_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.c new file mode 100644 index 0000000..9798f16 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.c @@ -0,0 +1,169 @@ +/* Main function for test programs. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This file should be included from test cases. It will define a + main function which provides the test wrapper. + + It assumes that the test case defines a function + + int do_test (void); + + and arranges for that function being called under the test wrapper. + The do_test function should return 0 to indicate a passing test, 1 + to indicate a failing test, or 77 to indicate an unsupported test. + Other result values could be used to indicate a failing test, but + the result of the expression is passed to exit and exit only + returns the lower 8 bits of its input. A non-zero return with some + values could cause a test to incorrectly be considered passing when + it really failed. For this reason, the function should always + return 0 (EXIT_SUCCESS), 1 (EXIT_FAILURE), or 77 + (EXIT_UNSUPPORTED). + + The test function may print out diagnostic or warning messages as well + as messages about failures. These messages should be printed to stdout + and not stderr so that the output is properly ordered with respect to + the rest of the glibc testsuite run output. + + Several preprocessors macros can be defined before including this + file. + + The name of the do_test function can be changed with the + TEST_FUNCTION macro. It must expand to the desired function name. + + If the test case needs access to command line parameters, it must + define the TEST_FUNCTION_ARGV macro with the name of the test + function. It must have the following type: + + int TEST_FUNCTION_ARGV (int argc, char **argv); + + This overrides the do_test default function and is incompatible + with the TEST_FUNCTION macro. + + If PREPARE is defined, it must expand to the name of a function of + the type + + void PREPARE (int argc, char **); + + This function will be called early, after parsing the command line, + but before running the test, in the parent process which acts as + the test supervisor. + + If CLEANUP_HANDLER is defined, it must expand to the name of a + function of the type + + void CLEANUP_HANDLER (void); + + This function will be called from the timeout (SIGALRM) signal + handler. + + If EXPECTED_SIGNAL is defined, it must expanded to a constant which + denotes the expected signal number. + + If EXPECTED_STATUS is defined, it must expand to the expected exit + status. + + If TIMEOUT is defined, it must be positive constant. It overrides + the default test timeout and is measured in seconds. + + If TEST_NO_MALLOPT is defined, the test wrapper will not call + mallopt. + + Custom command line handling can be implemented by defining the + CMDLINE_OPTION macro (after including the header; this + requires _GNU_SOURCE to be defined). This macro must expand to a + to a comma-separated list of braced initializers for struct option + from , with a trailing comma. CMDLINE_PROCESS can be + defined as the name of a function which is called to process these + options. The function is passed the option character/number and + has this type: + + void CMDLINE_PROCESS (int); + + If the program also to process custom default short command line + argument (similar to getopt) it must define CMDLINE_OPTSTRING + with the expected options (for instance "vb"). +*/ + +#include + +#include + +int +main (int argc, char **argv) +{ + struct test_config test_config; + memset (&test_config, 0, sizeof (test_config)); + +#ifdef PREPARE + test_config.prepare_function = (PREPARE); +#endif + +#if defined (TEST_FUNCTION) && defined (TEST_FUNCTON_ARGV) +# error TEST_FUNCTION and TEST_FUNCTION_ARGV cannot be defined at the same time +#endif +#if defined (TEST_FUNCTION) + test_config.test_function = TEST_FUNCTION; +#elif defined (TEST_FUNCTION_ARGV) + test_config.test_function_argv = TEST_FUNCTION_ARGV; +#else + test_config.test_function = do_test; +#endif + +#ifdef CLEANUP_HANDLER + test_config.cleanup_function = CLEANUP_HANDLER; +#endif + +#ifdef EXPECTED_SIGNAL + test_config.expected_signal = (EXPECTED_SIGNAL); +#endif + +#ifdef EXPECTED_STATUS + test_config.expected_status = (EXPECTED_STATUS); +#endif + +#ifdef TEST_NO_MALLOPT + test_config.no_mallopt = 1; +#endif + +#ifdef TEST_NO_SETVBUF + test_config.no_setvbuf = 1; +#endif + +#ifdef TIMEOUT + test_config.timeout = TIMEOUT; +#endif + +#ifdef CMDLINE_OPTIONS + struct option options[] = + { + CMDLINE_OPTIONS + TEST_DEFAULT_OPTIONS + }; + test_config.options = &options; +#endif +#ifdef CMDLINE_PROCESS + test_config.cmdline_function = CMDLINE_PROCESS; +#endif +#ifdef CMDLINE_OPTSTRING + test_config.optstring = "+" CMDLINE_OPTSTRING; +#else + test_config.optstring = "+"; +#endif + + return support_test_main (argc, argv, &test_config); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.h new file mode 100644 index 0000000..549179b --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/test-driver.h @@ -0,0 +1,76 @@ +/* Interfaces for the test driver. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef SUPPORT_TEST_DRIVER_H +#define SUPPORT_TEST_DRIVER_H + +#include + +__BEGIN_DECLS + +struct test_config +{ + void (*prepare_function) (int argc, char **argv); + int (*test_function) (void); + int (*test_function_argv) (int argc, char **argv); + void (*cleanup_function) (void); + void (*cmdline_function) (int); + const void *options; /* Custom options if not NULL. */ + int timeout; /* Test timeout in seconds. */ + int expected_status; /* Expected exit status. */ + int expected_signal; /* If non-zero, expect termination by signal. */ + char no_mallopt; /* Boolean flag to disable mallopt. */ + char no_setvbuf; /* Boolean flag to disable setvbuf. */ + const char *optstring; /* Short command line options. */ +}; + +enum + { + /* Test exit status which indicates that the feature is + unsupported. */ + EXIT_UNSUPPORTED = 77, + + /* Default timeout is twenty seconds. Tests should normally + complete faster than this, but if they don't, that's abnormal + (a bug) anyways. */ + DEFAULT_TIMEOUT = 20, + + /* Used for command line argument parsing. */ + OPT_DIRECT = 1000, + OPT_TESTDIR, + }; + +/* Options provided by the test driver. */ +#define TEST_DEFAULT_OPTIONS \ + { "verbose", no_argument, NULL, 'v' }, \ + { "direct", no_argument, NULL, OPT_DIRECT }, \ + { "test-dir", required_argument, NULL, OPT_TESTDIR }, \ + +/* The directory the test should use for temporary files. */ +extern const char *test_dir; + +/* The number of --verbose arguments specified during program + invocation. This variable can be used to control the verbosity of + tests. */ +extern unsigned int test_verbose; + +int support_test_main (int argc, char **argv, const struct test_config *); + +__END_DECLS + +#endif /* SUPPORT_TEST_DRIVER_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/write_message.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/write_message.c new file mode 100644 index 0000000..a3e2f90 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/write_message.c @@ -0,0 +1,32 @@ +/* Write a message to standard output. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#include +#include +#include + +void +write_message (const char *message) +{ + int saved_errno = errno; + ssize_t unused __attribute__ ((unused)); + unused = write (STDOUT_FILENO, message, strlen (message)); + errno = saved_errno; +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_destroy.c new file mode 100644 index 0000000..718d374 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_destroy.c @@ -0,0 +1,26 @@ +/* pthread_attr_destroy with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_attr_destroy (pthread_attr_t *attr) +{ + xpthread_check_return ("pthread_attr_destroy", + pthread_attr_destroy (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_init.c new file mode 100644 index 0000000..c7aa903 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_init.c @@ -0,0 +1,25 @@ +/* pthread_attr_init with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_attr_init (pthread_attr_t *attr) +{ + xpthread_check_return ("pthread_attr_init", pthread_attr_init (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setdetachstate.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setdetachstate.c new file mode 100644 index 0000000..b92a246 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setdetachstate.c @@ -0,0 +1,27 @@ +/* pthread_attr_setdetachstate with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate) +{ + xpthread_check_return ("pthread_attr_setdetachstate", + pthread_attr_setdetachstate (attr, + detachstate)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setguardsize.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setguardsize.c new file mode 100644 index 0000000..02b2011 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setguardsize.c @@ -0,0 +1,26 @@ +/* pthread_attr_setguardsize with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_attr_setguardsize (pthread_attr_t *attr, size_t guardsize) +{ + xpthread_check_return ("pthread_attr_setguardize", + pthread_attr_setguardsize (attr, guardsize)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setstacksize.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setstacksize.c new file mode 100644 index 0000000..1a46525 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_attr_setstacksize.c @@ -0,0 +1,26 @@ +/* pthread_attr_setstacksize with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize) +{ + xpthread_check_return ("pthread_attr_setstacksize", + pthread_attr_setstacksize (attr, stacksize)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_destroy.c new file mode 100644 index 0000000..1dae148 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_destroy.c @@ -0,0 +1,26 @@ +/* pthread_barrier_destroy with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrier_destroy (pthread_barrier_t *barrier) +{ + xpthread_check_return ("pthread_barrier_destroy", + pthread_barrier_destroy (barrier)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_init.c new file mode 100644 index 0000000..4a2975a --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_init.c @@ -0,0 +1,27 @@ +/* pthread_barrier_init with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrier_init (pthread_barrier_t *barrier, + pthread_barrierattr_t *attr, unsigned int count) +{ + xpthread_check_return ("pthread_barrier_init", + pthread_barrier_init (barrier, attr, count)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_wait.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_wait.c new file mode 100644 index 0000000..61690c5 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrier_wait.c @@ -0,0 +1,28 @@ +/* pthread_barrier_wait with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +int +xpthread_barrier_wait (pthread_barrier_t *barrier) +{ + int ret = pthread_barrier_wait (barrier); + if (ret != 0 && ret != PTHREAD_BARRIER_SERIAL_THREAD) + xpthread_check_return ("pthread_barrier_wait", ret); + return ret == PTHREAD_BARRIER_SERIAL_THREAD; +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_destroy.c new file mode 100644 index 0000000..3e471f9 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_destroy.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_destroy with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_destroy (pthread_barrierattr_t *attr) +{ + xpthread_check_return ("pthread_barrierattr_destroy", + pthread_barrierattr_destroy (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_init.c new file mode 100644 index 0000000..4ee14e7 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_init.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_init with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_init (pthread_barrierattr_t *attr) +{ + xpthread_check_return ("pthread_barrierattr_init", + pthread_barrierattr_init (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_setpshared.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_setpshared.c new file mode 100644 index 0000000..90b2c5b --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_barrierattr_setpshared.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_setpshared with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared) +{ + xpthread_check_return ("pthread_barrierattr_setpshared", + pthread_barrierattr_setpshared (attr, pshared)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cancel.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cancel.c new file mode 100644 index 0000000..26e864e --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cancel.c @@ -0,0 +1,25 @@ +/* pthread_cancel with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_cancel (pthread_t thr) +{ + xpthread_check_return ("pthread_cancel", pthread_cancel (thr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_check_return.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_check_return.c new file mode 100644 index 0000000..1658db4 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_check_return.c @@ -0,0 +1,34 @@ +/* Return value checking for pthread functions, exit variant. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#include +#include +#include +#include + +void +xpthread_check_return (const char *function, int value) +{ + if (value != 0) + { + errno = value; + FAIL_EXIT1 ("%s: %m", function); + } +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cond_wait.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cond_wait.c new file mode 100644 index 0000000..08ec683 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_cond_wait.c @@ -0,0 +1,26 @@ +/* pthread_cond_wait with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) +{ + xpthread_check_return + ("pthread_cond_wait", pthread_cond_wait (cond, mutex)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_create.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_create.c new file mode 100644 index 0000000..24b8456 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_create.c @@ -0,0 +1,29 @@ +/* pthread_create with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +pthread_t +xpthread_create (pthread_attr_t *attr, + void *(*thread_func) (void *), void *closure) +{ + pthread_t thr; + xpthread_check_return + ("pthread_create", pthread_create (&thr, attr, thread_func, closure)); + return thr; +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_detach.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_detach.c new file mode 100644 index 0000000..c65f2d7 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_detach.c @@ -0,0 +1,25 @@ +/* pthread_detach with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_detach (pthread_t thr) +{ + xpthread_check_return ("pthread_detach", pthread_detach (thr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_join.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_join.c new file mode 100644 index 0000000..29acbd2 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_join.c @@ -0,0 +1,27 @@ +/* pthread_join with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void * +xpthread_join (pthread_t thr) +{ + void *result; + xpthread_check_return ("pthread_join", pthread_join (thr, &result)); + return result; +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_consistent.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_consistent.c new file mode 100644 index 0000000..d337163 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_consistent.c @@ -0,0 +1,26 @@ +/* pthread_mutex_consistent with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutex_consistent (pthread_mutex_t *mutex) +{ + xpthread_check_return ("pthread_mutex_consistent", + pthread_mutex_consistent (mutex)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_destroy.c new file mode 100644 index 0000000..d03f016 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_destroy.c @@ -0,0 +1,26 @@ +/* pthread_mutex_destroy with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutex_destroy (pthread_mutex_t *mutex) +{ + xpthread_check_return ("pthread_mutex_destroy", + pthread_mutex_destroy (mutex)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_init.c new file mode 100644 index 0000000..4085595 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_init.c @@ -0,0 +1,26 @@ +/* pthread_mutex_init with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutex_init (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) +{ + xpthread_check_return ("pthread_mutex_init", + pthread_mutex_init (mutex, attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_lock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_lock.c new file mode 100644 index 0000000..4257960 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_lock.c @@ -0,0 +1,25 @@ +/* pthread_mutex_lock with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutex_lock (pthread_mutex_t *mutex) +{ + xpthread_check_return ("pthread_mutex_lock", pthread_mutex_lock (mutex)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_unlock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_unlock.c new file mode 100644 index 0000000..5c385c6 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutex_unlock.c @@ -0,0 +1,25 @@ +/* pthread_mutex_unlock with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutex_unlock (pthread_mutex_t *mutex) +{ + xpthread_check_return ("pthread_mutex_unlock", pthread_mutex_unlock (mutex)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_destroy.c new file mode 100644 index 0000000..f352a7a --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_destroy.c @@ -0,0 +1,26 @@ +/* pthread_mutexattr_destroy with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_destroy (pthread_mutexattr_t *attr) +{ + xpthread_check_return ("pthread_mutexattr_destroy", + pthread_mutexattr_destroy (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_init.c new file mode 100644 index 0000000..fe23158 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_init.c @@ -0,0 +1,25 @@ +/* pthread_mutexattr_init with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_init (pthread_mutexattr_t *attr) +{ + xpthread_check_return ("pthread_mutexattr_init", pthread_mutexattr_init (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setprotocol.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setprotocol.c new file mode 100644 index 0000000..e2f544d --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setprotocol.c @@ -0,0 +1,26 @@ +/* pthread_mutexattr_setprotocol with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_setprotocol (pthread_mutexattr_t *attr, int flag) +{ + xpthread_check_return ("pthread_mutexattr_setprotocol", + pthread_mutexattr_setprotocol (attr, flag)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setpshared.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setpshared.c new file mode 100644 index 0000000..2380560 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setpshared.c @@ -0,0 +1,26 @@ +/* pthread_mutexattr_setpshared with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_setpshared (pthread_mutexattr_t *attr, int flag) +{ + xpthread_check_return ("pthread_mutexattr_setpshared", + pthread_mutexattr_setpshared (attr, flag)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setrobust.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setrobust.c new file mode 100644 index 0000000..7886c72 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_setrobust.c @@ -0,0 +1,26 @@ +/* pthread_mutexattr_setrobust with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_setrobust (pthread_mutexattr_t *attr, int flag) +{ + xpthread_check_return ("pthread_mutexattr_setrobust", + pthread_mutexattr_setrobust (attr, flag)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_settype.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_settype.c new file mode 100644 index 0000000..91f790c --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_mutexattr_settype.c @@ -0,0 +1,26 @@ +/* pthread_mutexattr_settype with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_mutexattr_settype (pthread_mutexattr_t *attr, int flag) +{ + xpthread_check_return ("pthread_mutexattr_settype", + pthread_mutexattr_settype (attr, flag)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_once.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_once.c new file mode 100644 index 0000000..b22c1ce --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_once.c @@ -0,0 +1,25 @@ +/* pthread_once with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_once (pthread_once_t *guard, void (*func) (void)) +{ + xpthread_check_return ("pthread_once", pthread_once (guard, func)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_destroy.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_destroy.c new file mode 100644 index 0000000..6d6e953 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_destroy.c @@ -0,0 +1,26 @@ +/* pthread_rwlock_destroy with error checking. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlock_destroy (pthread_rwlock_t *rwlock) +{ + xpthread_check_return ("pthread_rwlock_destroy", + pthread_rwlock_destroy (rwlock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_init.c new file mode 100644 index 0000000..4a66389 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_init.c @@ -0,0 +1,27 @@ +/* pthread_rwlock_init with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlock_init (pthread_rwlock_t *rwlock, + const pthread_rwlockattr_t *attr) +{ + xpthread_check_return ("pthread_rwlock_init", + pthread_rwlock_init (rwlock, attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_rdlock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_rdlock.c new file mode 100644 index 0000000..fe7a798 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_rdlock.c @@ -0,0 +1,26 @@ +/* pthread_rwlock_rdlock with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlock_rdlock (pthread_rwlock_t *rwlock) +{ + xpthread_check_return ("pthread_rwlock_rdlock", + pthread_rwlock_rdlock (rwlock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_unlock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_unlock.c new file mode 100644 index 0000000..b425537 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_unlock.c @@ -0,0 +1,26 @@ +/* pthread_rwlock_unlock with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlock_unlock (pthread_rwlock_t *rwlock) +{ + xpthread_check_return ("pthread_rwlock_unlock", + pthread_rwlock_unlock (rwlock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_wrlock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_wrlock.c new file mode 100644 index 0000000..cdca9b2 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlock_wrlock.c @@ -0,0 +1,26 @@ +/* pthread_rwlock_wrlock with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlock_wrlock (pthread_rwlock_t *rwlock) +{ + xpthread_check_return ("pthread_rwlock_wrlock", + pthread_rwlock_wrlock (rwlock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_init.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_init.c new file mode 100644 index 0000000..96ac47d --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_init.c @@ -0,0 +1,26 @@ +/* pthread_rwlockattr_init with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlockattr_init (pthread_rwlockattr_t *attr) +{ + xpthread_check_return ("pthread_rwlockattr_init", + pthread_rwlockattr_init (attr)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_setkind_np.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_setkind_np.c new file mode 100644 index 0000000..78f17da --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_rwlockattr_setkind_np.c @@ -0,0 +1,27 @@ +/* pthread_rwlockattr_setkind_np with error checking. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, + int pref) +{ + xpthread_check_return ("pthread_rwlockattr_setkind_np", + pthread_rwlockattr_setkind_np (attr, pref)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_sigmask.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_sigmask.c new file mode 100644 index 0000000..1fb91dc --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_sigmask.c @@ -0,0 +1,34 @@ +/* pthread_sigmask with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +#include + +void +xpthread_sigmask (int how, const sigset_t *set, sigset_t *oldset) +{ + if (pthread_sigmask (how, set, oldset) != 0) + { + write_message ("error: pthread_setmask failed\n"); + /* Do not use exit because pthread_sigmask can be called from a + signal handler. */ + _exit (1); + } +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_lock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_lock.c new file mode 100644 index 0000000..4cadbf7 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_lock.c @@ -0,0 +1,25 @@ +/* pthread_spin_lock with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_spin_lock (pthread_spinlock_t *lock) +{ + xpthread_check_return ("pthread_spin_lock", pthread_spin_lock (lock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_unlock.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_unlock.c new file mode 100644 index 0000000..1946139 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xpthread_spin_unlock.c @@ -0,0 +1,25 @@ +/* pthread_spin_unlock with error checking. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_spin_unlock (pthread_spinlock_t *lock) +{ + xpthread_check_return ("pthread_spin_unlock", pthread_spin_unlock (lock)); +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.c new file mode 100644 index 0000000..e7369f0 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.c @@ -0,0 +1,29 @@ +/* Error-checking wrapper for signal. + Copyright (C) 2017-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +sighandler_t +xsignal (int sig, sighandler_t handler) +{ + sighandler_t result = signal (sig, handler); + if (result == SIG_ERR) + FAIL_EXIT1 ("signal (%d, %p): %m", sig, handler); + return result; +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.h new file mode 100644 index 0000000..9ab8d1b --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xsignal.h @@ -0,0 +1,42 @@ +/* Support functionality for using signals. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef SUPPORT_SIGNAL_H +#define SUPPORT_SIGNAL_H + +#include +#include + +__BEGIN_DECLS + +/* The following functions call the corresponding libc functions and + terminate the process on error. */ + +void xraise (int sig); +sighandler_t xsignal (int sig, sighandler_t handler); +void xsigaction (int sig, const struct sigaction *newact, + struct sigaction *oldact); + +/* The following functions call the corresponding libpthread functions + and terminate the process on error. */ + +void xpthread_sigmask (int how, const sigset_t *set, sigset_t *oldset); + +__END_DECLS + +#endif /* SUPPORT_SIGNAL_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xthread.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xthread.h new file mode 100644 index 0000000..4e12b25 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xthread.h @@ -0,0 +1,91 @@ +/* Support functionality for using threads. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef SUPPORT_THREAD_H +#define SUPPORT_THREAD_H + +#include +#include + +__BEGIN_DECLS + +/* Terminate the process (with exit status 0) after SECONDS have + elapsed, from a helper thread. The process is terminated with the + exit function, so atexit handlers are executed. */ +void delayed_exit (int seconds); + +/* Terminate the process (with exit status 1) if VALUE is not zero. + In that case, print a failure message to standard output mentioning + FUNCTION. The process is terminated with the exit function, so + atexit handlers are executed. */ +void xpthread_check_return (const char *function, int value); + +/* The following functions call the corresponding libpthread functions + and terminate the process on error. */ + +void xpthread_barrier_init (pthread_barrier_t *barrier, + pthread_barrierattr_t *attr, unsigned int count); +void xpthread_barrier_destroy (pthread_barrier_t *barrier); +void xpthread_barrierattr_destroy (pthread_barrierattr_t *); +void xpthread_barrierattr_init (pthread_barrierattr_t *); +void xpthread_barrierattr_setpshared (pthread_barrierattr_t *, int pshared); +void xpthread_mutexattr_destroy (pthread_mutexattr_t *); +void xpthread_mutexattr_init (pthread_mutexattr_t *); +void xpthread_mutexattr_setprotocol (pthread_mutexattr_t *, int); +void xpthread_mutexattr_setpshared (pthread_mutexattr_t *, int); +void xpthread_mutexattr_setrobust (pthread_mutexattr_t *, int); +void xpthread_mutexattr_settype (pthread_mutexattr_t *, int); +void xpthread_mutex_init (pthread_mutex_t *, const pthread_mutexattr_t *); +void xpthread_mutex_destroy (pthread_mutex_t *); +void xpthread_mutex_lock (pthread_mutex_t *mutex); +void xpthread_mutex_unlock (pthread_mutex_t *mutex); +void xpthread_mutex_consistent (pthread_mutex_t *); +void xpthread_spin_lock (pthread_spinlock_t *lock); +void xpthread_spin_unlock (pthread_spinlock_t *lock); +void xpthread_cond_wait (pthread_cond_t * cond, pthread_mutex_t * mutex); +pthread_t xpthread_create (pthread_attr_t *attr, + void *(*thread_func) (void *), void *closure); +void xpthread_detach (pthread_t thr); +void xpthread_cancel (pthread_t thr); +void *xpthread_join (pthread_t thr); +void xpthread_once (pthread_once_t *guard, void (*func) (void)); +void xpthread_attr_destroy (pthread_attr_t *attr); +void xpthread_attr_init (pthread_attr_t *attr); +void xpthread_attr_setdetachstate (pthread_attr_t *attr, + int detachstate); +void xpthread_attr_setstacksize (pthread_attr_t *attr, + size_t stacksize); +void xpthread_attr_setguardsize (pthread_attr_t *attr, + size_t guardsize); + +/* This function returns non-zero if pthread_barrier_wait returned + PTHREAD_BARRIER_SERIAL_THREAD. */ +int xpthread_barrier_wait (pthread_barrier_t *barrier); + +void xpthread_rwlock_init (pthread_rwlock_t *rwlock, + const pthread_rwlockattr_t *attr); +void xpthread_rwlockattr_init (pthread_rwlockattr_t *attr); +void xpthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref); +void xpthread_rwlock_wrlock (pthread_rwlock_t *rwlock); +void xpthread_rwlock_rdlock (pthread_rwlock_t *rwlock); +void xpthread_rwlock_unlock (pthread_rwlock_t *rwlock); +void xpthread_rwlock_destroy (pthread_rwlock_t *rwlock); + +__END_DECLS + +#endif /* SUPPORT_THREAD_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xunistd.h b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xunistd.h new file mode 100644 index 0000000..94d9c9f --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xunistd.h @@ -0,0 +1,72 @@ +/* POSIX-specific extra functions. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* These wrapper functions use POSIX types and therefore cannot be + declared in . */ + +#ifndef SUPPORT_XUNISTD_H +#define SUPPORT_XUNISTD_H + +#include +#include +#include + +__BEGIN_DECLS + +struct stat64; + +pid_t xfork (void); +pid_t xwaitpid (pid_t, int *status, int flags); +void xpipe (int[2]); +void xdup2 (int, int); +int xopen (const char *path, int flags, mode_t); +void xstat (const char *path, struct stat64 *); +void xfstat (int fd, struct stat64 *); +void xmkdir (const char *path, mode_t); +void xchroot (const char *path); +void xunlink (const char *path); +long xsysconf (int name); +long long xlseek (int fd, long long offset, int whence); +void xftruncate (int fd, long long length); +void xsymlink (const char *target, const char *linkpath); + +/* Equivalent of "mkdir -p". */ +void xmkdirp (const char *, mode_t); + +/* Read the link at PATH. The caller should free the returned string + with free. */ +char *xreadlink (const char *path); + +/* Close the file descriptor. Ignore EINTR errors, but terminate the + process on other errors. */ +void xclose (int); + +/* Write the buffer. Retry on short writes. */ +void xwrite (int, const void *, size_t); + +/* Invoke mmap with a zero file offset. */ +void *xmmap (void *addr, size_t length, int prot, int flags, int fd); +void xmprotect (void *addr, size_t length, int prot); +void xmunmap (void *addr, size_t length); + +ssize_t xcopy_file_range(int fd_in, loff_t *off_in, int fd_out, + loff_t *off_out, size_t len, unsigned int flags); + +__END_DECLS + +#endif /* SUPPORT_XUNISTD_H */ diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xwrite.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xwrite.c new file mode 100644 index 0000000..bbaae91 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/support/xwrite.c @@ -0,0 +1,39 @@ +/* write with error checking and retries. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#include + +void +xwrite (int fd, const void *buffer, size_t length) +{ + const char *p = buffer; + const char *end = p + length; + while (p < end) + { + ssize_t ret = write (fd, p, end - p); + if (ret < 0) + FAIL_EXIT1 ("write of %zu bytes failed after %td: %m", + length, p - (const char *) buffer); + if (ret == 0) + FAIL_EXIT1 ("write return 0 after writing %td bytes of %zu", + p - (const char *) buffer, length); + p += ret; + } +} diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-tryrdlock-stall.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-tryrdlock-stall.c new file mode 100644 index 0000000..2a927b1 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-tryrdlock-stall.c @@ -0,0 +1,357 @@ +/* Bug 23844: Test for pthread_rwlock_tryrdlock stalls. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* For a full analysis see comment: + https://sourceware.org/bugzilla/show_bug.cgi?id=23844#c14 + + Provided here for reference: + + --- Analysis of pthread_rwlock_tryrdlock() stall --- + A read lock begins to execute. + + In __pthread_rwlock_rdlock_full: + + We can attempt a read lock, but find that the lock is + in a write phase (PTHREAD_RWLOCK_WRPHASE, or WP-bit + is set), and the lock is held by a primary writer + (PTHREAD_RWLOCK_WRLOCKED is set). In this case we must + wait for explicit hand over from the writer to us or + one of the other waiters. The read lock threads are + about to execute: + + 341 r = (atomic_fetch_add_acquire (&rwlock->__data.__readers, + 342 (1 << PTHREAD_RWLOCK_READER_SHIFT)) + 343 + (1 << PTHREAD_RWLOCK_READER_SHIFT)); + + An unlock beings to execute. + + Then in __pthread_rwlock_wrunlock: + + 547 unsigned int r = atomic_load_relaxed (&rwlock->__data.__readers); + ... + 549 while (!atomic_compare_exchange_weak_release + 550 (&rwlock->__data.__readers, &r, + 551 ((r ^ PTHREAD_RWLOCK_WRLOCKED) + 552 ^ ((r >> PTHREAD_RWLOCK_READER_SHIFT) == 0 ? 0 + 553 : PTHREAD_RWLOCK_WRPHASE)))) + 554 { + ... + 556 } + + We clear PTHREAD_RWLOCK_WRLOCKED, and if there are + no readers so we leave the lock in PTHRAD_RWLOCK_WRPHASE. + + Back in the read lock. + + The read lock adjusts __readres as above. + + 383 while ((r & PTHREAD_RWLOCK_WRPHASE) != 0 + 384 && (r & PTHREAD_RWLOCK_WRLOCKED) == 0) + 385 { + ... + 390 if (atomic_compare_exchange_weak_acquire (&rwlock->__data.__readers, &r, + 391 r ^ PTHREAD_RWLOCK_WRPHASE)) + 392 { + + And then attemps to start the read phase. + + Assume there happens to be a tryrdlock at this point, noting + that PTHREAD_RWLOCK_WRLOCKED is clear, and PTHREAD_RWLOCK_WRPHASE + is 1. So the try lock attemps to start the read phase. + + In __pthread_rwlock_tryrdlock: + + 44 if ((r & PTHREAD_RWLOCK_WRPHASE) == 0) + 45 { + ... + 49 if (((r & PTHREAD_RWLOCK_WRLOCKED) != 0) + 50 && (rwlock->__data.__flags + 51 == PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP)) + 52 return EBUSY; + 53 rnew = r + (1 << PTHREAD_RWLOCK_READER_SHIFT); + 54 } + ... + 89 while (!atomic_compare_exchange_weak_acquire (&rwlock->__data.__readers, + 90 &r, rnew)); + + And succeeds. + + Back in the write unlock: + + 557 if ((r >> PTHREAD_RWLOCK_READER_SHIFT) != 0) + 558 { + ... + 563 if ((atomic_exchange_relaxed (&rwlock->__data.__wrphase_futex, 0) + 564 & PTHREAD_RWLOCK_FUTEX_USED) != 0) + 565 futex_wake (&rwlock->__data.__wrphase_futex, INT_MAX, private); + 566 } + + We note that PTHREAD_RWLOCK_FUTEX_USED is non-zero + and don't wake anyone. This is OK because we handed + over to the trylock. It will be the trylock's responsibility + to wake any waiters. + + Back in the read lock: + + The read lock fails to install PTHRAD_REWLOCK_WRPHASE as 0 because + the __readers value was adjusted by the trylock, and so it falls through + to waiting on the lock for explicit handover from either a new writer + or a new reader. + + 448 int err = futex_abstimed_wait (&rwlock->__data.__wrphase_futex, + 449 1 | PTHREAD_RWLOCK_FUTEX_USED, + 450 abstime, private); + + We use PTHREAD_RWLOCK_FUTEX_USED to indicate the futex + is in use. + + At this point we have readers waiting on the read lock + to unlock. The wrlock is done. The trylock is finishing + the installation of the read phase. + + 92 if ((r & PTHREAD_RWLOCK_WRPHASE) != 0) + 93 { + ... + 105 atomic_store_relaxed (&rwlock->__data.__wrphase_futex, 0); + 106 } + + The trylock does note that we were the one that + installed the read phase, but the comments are not + correct, the execution ordering above shows that + readers might indeed be waiting, and they are. + + The atomic_store_relaxed throws away PTHREAD_RWLOCK_FUTEX_USED, + and the waiting reader is never worken becuase as noted + above it is conditional on the futex being used. + + The solution is for the trylock thread to inspect + PTHREAD_RWLOCK_FUTEX_USED and wake the waiting readers. + + --- Analysis of pthread_rwlock_trywrlock() stall --- + + A write lock begins to execute, takes the write lock, + and then releases the lock... + + In pthread_rwlock_wrunlock(): + + 547 unsigned int r = atomic_load_relaxed (&rwlock->__data.__readers); + ... + 549 while (!atomic_compare_exchange_weak_release + 550 (&rwlock->__data.__readers, &r, + 551 ((r ^ PTHREAD_RWLOCK_WRLOCKED) + 552 ^ ((r >> PTHREAD_RWLOCK_READER_SHIFT) == 0 ? 0 + 553 : PTHREAD_RWLOCK_WRPHASE)))) + 554 { + ... + 556 } + + ... leaving it in the write phase with zero readers + (the case where we leave the write phase in place + during a write unlock). + + A write trylock begins to execute. + + In __pthread_rwlock_trywrlock: + + 40 while (((r & PTHREAD_RWLOCK_WRLOCKED) == 0) + 41 && (((r >> PTHREAD_RWLOCK_READER_SHIFT) == 0) + 42 || (prefer_writer && ((r & PTHREAD_RWLOCK_WRPHASE) != 0)))) + 43 { + + The lock is not locked. + + There are no readers. + + 45 if (atomic_compare_exchange_weak_acquire ( + 46 &rwlock->__data.__readers, &r, + 47 r | PTHREAD_RWLOCK_WRPHASE | PTHREAD_RWLOCK_WRLOCKED)) + + We atomically install the write phase and we take the + exclusive write lock. + + 48 { + 49 atomic_store_relaxed (&rwlock->__data.__writers_futex, 1); + + We get this far. + + A reader lock begins to execute. + + In pthread_rwlock_rdlock: + + 437 for (;;) + 438 { + 439 while (((wpf = atomic_load_relaxed (&rwlock->__data.__wrphase_futex)) + 440 | PTHREAD_RWLOCK_FUTEX_USED) == (1 | PTHREAD_RWLOCK_FUTEX_USED)) + 441 { + 442 int private = __pthread_rwlock_get_private (rwlock); + 443 if (((wpf & PTHREAD_RWLOCK_FUTEX_USED) == 0) + 444 && (!atomic_compare_exchange_weak_relaxed + 445 (&rwlock->__data.__wrphase_futex, + 446 &wpf, wpf | PTHREAD_RWLOCK_FUTEX_USED))) + 447 continue; + 448 int err = futex_abstimed_wait (&rwlock->__data.__wrphase_futex, + 449 1 | PTHREAD_RWLOCK_FUTEX_USED, + 450 abstime, private); + + We are in a write phase, so the while() on line 439 is true. + + The value of wpf does not have PTHREAD_RWLOCK_FUTEX_USED set + since this is the first reader to lock. + + The atomic operation sets wpf with PTHREAD_RELOCK_FUTEX_USED + on the expectation that this reader will be woken during + the handoff. + + Back in pthread_rwlock_trywrlock: + + 50 atomic_store_relaxed (&rwlock->__data.__wrphase_futex, 1); + 51 atomic_store_relaxed (&rwlock->__data.__cur_writer, + 52 THREAD_GETMEM (THREAD_SELF, tid)); + 53 return 0; + 54 } + ... + 57 } + + We write 1 to __wrphase_futex discarding PTHREAD_RWLOCK_FUTEX_USED, + and so in the unlock we will not awaken the waiting reader. + + The solution to this is to realize that if we did not start the write + phase we need not write 1 or any other value to __wrphase_futex. + This ensures that any readers (which saw __wrphase_futex != 0) can + set PTHREAD_RWLOCK_FUTEX_USED and this can be used at unlock to + wake them. + + If we installed the write phase then all other readers are looping + here: + + In __pthread_rwlock_rdlock_full: + + 437 for (;;) + 438 { + 439 while (((wpf = atomic_load_relaxed (&rwlock->__data.__wrphase_futex)) + 440 | PTHREAD_RWLOCK_FUTEX_USED) == (1 | PTHREAD_RWLOCK_FUTEX_USED)) + 441 { + ... + 508 } + + waiting for the write phase to be installed or removed before they + can begin waiting on __wrphase_futex (part of the algorithm), or + taking a concurrent read lock, and thus we can safely write 1 to + __wrphase_futex. + + If we did not install the write phase then the readers may already + be waiting on the futex, the original writer wrote 1 to __wrphase_futex + as part of starting the write phase, and we cannot also write 1 + without loosing the PTHREAD_RWLOCK_FUTEX_USED bit. + + --- + + Summary for the pthread_rwlock_tryrdlock() stall: + + The stall is caused by pthread_rwlock_tryrdlock failing to check + that PTHREAD_RWLOCK_FUTEX_USED is set in the __wrphase_futex futex + and then waking the futex. + + The fix for bug 23844 ensures that waiters on __wrphase_futex are + correctly woken. Before the fix the test stalls as readers can + wait forever on __wrphase_futex. */ + +#include +#include +#include +#include +#include +#include + +/* We need only one lock to reproduce the issue. We will need multiple + threads to get the exact case where we have a read, try, and unlock + all interleaving to produce the case where the readers are waiting + and the try fails to wake them. */ +pthread_rwlock_t onelock; + +/* The number of threads is arbitrary but empirically chosen to have + enough threads that we see the condition where waiting readers are + not woken by a successful tryrdlock. */ +#define NTHREADS 32 + +_Atomic int do_exit; + +void * +run_loop (void *arg) +{ + int i = 0, ret; + while (!do_exit) + { + /* Arbitrarily choose if we are the writer or reader. Choose a + high enough ratio of readers to writers to make it likely + that readers block (and eventually are susceptable to + stalling). + + If we are a writer, take the write lock, and then unlock. + If we are a reader, try the lock, then lock, then unlock. */ + if ((i % 8) != 0) + xpthread_rwlock_wrlock (&onelock); + else + { + if ((ret = pthread_rwlock_tryrdlock (&onelock)) != 0) + { + if (ret == EBUSY) + xpthread_rwlock_rdlock (&onelock); + else + exit (EXIT_FAILURE); + } + } + /* Thread does some work and then unlocks. */ + xpthread_rwlock_unlock (&onelock); + i++; + } + return NULL; +} + +int +do_test (void) +{ + int i; + pthread_t tids[NTHREADS]; + xpthread_rwlock_init (&onelock, NULL); + for (i = 0; i < NTHREADS; i++) + tids[i] = xpthread_create (NULL, run_loop, NULL); + /* Run for some amount of time. Empirically speaking exercising + the stall via pthread_rwlock_tryrdlock is much harder, and on + a 3.5GHz 4 core x86_64 VM system it takes somewhere around + 20-200s to stall, approaching 100% stall past 200s. We can't + wait that long for a regression test so we just test for 20s, + and expect the stall to happen with a 5-10% chance (enough for + developers to see). */ + //sleep (20); + sleep (200); + /* Then exit. */ + printf ("INFO: Exiting...\n"); + do_exit = 1; + /* If any readers stalled then we will timeout waiting for them. */ + for (i = 0; i < NTHREADS; i++) + xpthread_join (tids[i]); + printf ("INFO: Done.\n"); + xpthread_rwlock_destroy (&onelock); + printf ("PASS: No pthread_rwlock_tryrdlock stalls detected.\n"); + return 0; +} + +//#define TIMEOUT 30 +#define TIMEOUT 230 +#include diff --git a/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-trywrlock-stall.c b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-trywrlock-stall.c new file mode 100644 index 0000000..22dcec7 --- /dev/null +++ b/tests/Regression/bz1659293-glibc-Fix-rwlock-rdlock-hang/tst-rwlock-trywrlock-stall.c @@ -0,0 +1,108 @@ +/* Bug 23844: Test for pthread_rwlock_trywrlock stalls. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* For a full analysis see comments in tst-rwlock-tryrdlock-stall.c. + + Summary for the pthread_rwlock_trywrlock() stall: + + The stall is caused by pthread_rwlock_trywrlock setting + __wrphase_futex futex to 1 and loosing the + PTHREAD_RWLOCK_FUTEX_USED bit. + + The fix for bug 23844 ensures that waiters on __wrphase_futex are + correctly woken. Before the fix the test stalls as readers can + wait forever on __wrphase_futex. */ + +#include +#include +#include +#include +#include +#include + +/* We need only one lock to reproduce the issue. We will need multiple + threads to get the exact case where we have a read, try, and unlock + all interleaving to produce the case where the readers are waiting + and the try clears the PTHREAD_RWLOCK_FUTEX_USED bit and a + subsequent unlock fails to wake them. */ +pthread_rwlock_t onelock; + +/* The number of threads is arbitrary but empirically chosen to have + enough threads that we see the condition where waiting readers are + not woken by a successful unlock. */ +#define NTHREADS 32 + +_Atomic int do_exit; + +void * +run_loop (void *arg) +{ + int i = 0, ret; + while (!do_exit) + { + /* Arbitrarily choose if we are the writer or reader. Choose a + high enough ratio of readers to writers to make it likely + that readers block (and eventually are susceptable to + stalling). + + If we are a writer, take the write lock, and then unlock. + If we are a reader, try the lock, then lock, then unlock. */ + if ((i % 8) != 0) + { + if ((ret = pthread_rwlock_trywrlock (&onelock)) != 0) + { + if (ret == EBUSY) + xpthread_rwlock_wrlock (&onelock); + else + exit (EXIT_FAILURE); + } + } + else + xpthread_rwlock_rdlock (&onelock); + /* Thread does some work and then unlocks. */ + xpthread_rwlock_unlock (&onelock); + i++; + } + return NULL; +} + +int +do_test (void) +{ + int i; + pthread_t tids[NTHREADS]; + xpthread_rwlock_init (&onelock, NULL); + for (i = 0; i < NTHREADS; i++) + tids[i] = xpthread_create (NULL, run_loop, NULL); + /* Run for some amount of time. The pthread_rwlock_tryrwlock stall + is very easy to trigger and happens in seconds under the test + conditions. */ + sleep (10); + /* Then exit. */ + printf ("INFO: Exiting...\n"); + do_exit = 1; + /* If any readers stalled then we will timeout waiting for them. */ + for (i = 0; i < NTHREADS; i++) + xpthread_join (tids[i]); + printf ("INFO: Done.\n"); + xpthread_rwlock_destroy (&onelock); + printf ("PASS: No pthread_rwlock_tryrwlock stalls detected.\n"); + return 0; +} + +#include diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/audit.c b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/audit.c new file mode 100644 index 0000000..e5a0f1b --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/audit.c @@ -0,0 +1,19 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include + +volatile int count = 0; +static signed long cookie_shift = 0; + +unsigned int la_version(unsigned int ver) +{ + return 1; +} + +unsigned int la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie) +{ + return LA_FLG_BINDTO | LA_FLG_BINDFROM; +} diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/gen.sh b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/gen.sh new file mode 100755 index 0000000..1063039 --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/gen.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +rm -f generated.h + +echo \#define NUM $1 >> generated.h + +echo \#ifdef externnum >> generated.h +for i in `seq 1 ${1}`; do + echo extern int retNum${i}\(\)\; +done >> generated.h +echo \#endif >> generated.h + +echo \#ifdef definenum >> generated.h +for i in `seq 1 ${1}`; do + echo int retNum${i}\(\) { return ${i}\; } +done >> generated.h +echo \#endif >> generated.h + +echo \#ifdef callnum >> generated.h +for i in `seq 1 ${1}`; do + echo retNum${i}\(\)\; + echo sync_threads\(${i}\)\; +done >> generated.h +echo \#endif >> generated.h diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/main.fmf b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/main.fmf new file mode 100644 index 0000000..ee5d2c9 --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1661242 (glibc Data race in _dl_profile_fixup in the) +description: | + Bug summary: glibc: Data race in _dl_profile_fixup in the dynamic linker [rhel-7.6.z] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1661242 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1661242 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 7h +extra-summary: /tools/glibc/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the +extra-task: /tools/glibc/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/runtest.sh b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/runtest.sh new file mode 100755 index 0000000..cdb22f8 --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/runtest.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the +# Description: Test for BZ#1661242 (glibc Data race in _dl_profile_fixup in the) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-audit" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "cp targlib.c audit.c gen.sh $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "./gen.sh 10000" + rlRun -c "gcc -shared -o libtarg.so -fPIC -g targlib.c" + rlRun -c "gcc -shared -o libaudit.so -fPIC -g audit.c" + rlRun -c "gcc -g -o $TESTPROG ${TESTPROG}.c -L. -I. -ltarg -Wl,-rpath,`pwd` -DWD=`pwd` -lpthread" + rlAssertExists "$TESTPROG" + rlAssertExists "libtarg.so" + rlAssertExists "libaudit.so" + for (( I=0 ; $I < 1000 ; I++ )) + do + LD_AUDIT=${TESTTMPDIR}/libaudit.so ./${TESTPROG} + RET=$? + [ $(( $I%50 )) -eq 0 ] && rlLog "$I iterations passed." + case $RET in + 139) rlFail "The test failures with SEGFAULT on iteration $I" + break + ;; + 0) + continue + ;; + *) rlFail "The test return unexpected result=$RET on iteration $I" + break + ;; + esac + done + [ $RET -eq 0 ] && rlPass "The test passed iteration $I iterations" + + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/targlib.c b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/targlib.c new file mode 100644 index 0000000..eee3537 --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/targlib.c @@ -0,0 +1,4 @@ +#define definenum + +#include "generated.h" + diff --git a/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/tst-audit.c b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/tst-audit.c new file mode 100644 index 0000000..3033549 --- /dev/null +++ b/tests/Regression/bz1661242-glibc-Data-race-in-dl-profile-fixup-in-the/tst-audit.c @@ -0,0 +1,60 @@ +#include +#include +#include +#include +#include + +#define externnum +#include "generated.h" +#undef externnum + +int num_threads; +pthread_barrier_t barrier; + +void sync_threads(int num) +{ + pthread_barrier_wait(&barrier); +} + +void call_all_ret_nums() +{ +#define callnum +#include "generated.h" +#undef callnum +} + +void* thread_main(void *unused) +{ + call_all_ret_nums(); +} + +#define STR2(X) #X +#define STR(X) STR2(X) + +int main(int argc, char *argv[]) +{ + int i; + pthread_t *threads; + + if (!getenv("LD_AUDIT")) { + setenv("LD_AUDIT", STR(WD) "/libaudit.so", 1); + execv(argv[0], argv); + } + num_threads = argc > 1 ? atoi(argv[1]) : 0; + if (num_threads <= 0) + num_threads = 48; + + pthread_barrier_init(&barrier, NULL, num_threads); + + threads = (pthread_t *) malloc(num_threads * sizeof(pthread_t)); + memset(threads, 0, num_threads * sizeof(pthread_t)); + for (i = 0; i < num_threads; i++) { + pthread_create(threads + i, NULL, thread_main, NULL); + } + + for (i = 0; i < num_threads; i++) { + pthread_join(threads[i], NULL); + } + + return 0; +} diff --git a/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/main.fmf b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/main.fmf new file mode 100644 index 0000000..2be5fa3 --- /dev/null +++ b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1662842 (glibc realloc ncopies integer overflow [rhel-7]) +description: | + Bug summary: glibc: realloc ncopies integer overflow [rhel-7] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1662842 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1662842 + - relates: https://sourceware.org/bugzilla/show_bug.cgi?id=24027 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 20m +extra-summary: /tools/glibc/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7 +extra-task: /tools/glibc/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7 diff --git a/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/repr.c b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/repr.c new file mode 100644 index 0000000..a0782e9 --- /dev/null +++ b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/repr.c @@ -0,0 +1,94 @@ +/* + This program demonstrates how glibc realloc() fails to implement + its specifications for large allocations due to an internal + 32-bit integer overflow of `unsigned int ncopies`. + + This happens when a malloc(>= 32 GiB) is increased via realloc() + (and M_MMAP_THRESHOLD is set very large or mmap() based allocation + is disabled entirely by setting M_MMAP_MAX=0). + + Then only the first couple bytes of the buffer are copied, + potentially leaving the majority of the returned buffer with + unititialised memory instead of the original malloc()ed buffer's + contents. + This may turn into a security problem if you rely on realloc() + preserving the contents you wrote into the buffer after malloc(). + + To test this on Linux when you have < 32 GiB RAM, + enable overcommit using `sudo sysctl -w vm.overcommit_memory=1`. + If your glibc suffers from the problem, the program will then + immediately terminate because realloc() will skip most bytes; + if not, it will take a while, or run out of memory if you + have < 32 GiB RAM available. + + This mistake was introduced in glibc commit + fa8d436c87f156d18208df3819fecee9fc1dbd9e in 2002 (now it's 2018). + The affected code was taken from ptmalloc2 from http://malloc.de, + which as of writing still has this issue as well + (the first ptmalloc and ptmalloc3 served there do not). + + `unsigned int` should not be used for `size_t` values! + + -- nh2 (Niklas Hambüchen ) +*/ +#include +#include +#include +#include +#include + +void errExit(const char * msg) { perror(msg); exit(EXIT_FAILURE); } + +int main(int argc, char *argv[]) +{ + // Disable mmap-based heap allocation + // The same can be achieved by setting env var MALLOC_MMAP_MAX_=0. + if (mallopt(M_MMAP_MAX, 0) != 1) + errExit("mallopt"); + + const size_t s = (0xFFffFFffUL + 3) * 8UL; + + /* malloc */ + + char * buf = malloc(s); + + if (buf == NULL) + errExit("malloc"); + + // Note: printf() *after* malloc, otherwise it'll change how the + // malloc gets served. + printf("malloc(%lu) = %p (approximately %lu GiB)\n", s, buf, s >> 30); + + // Write known input into buf + for (size_t i = 0; i < 100; ++i) { buf[i] = 'a'; } + + printf("buf contents after malloc(): %s\n", buf); + + void *volatile blocker = malloc (16); + printf ("blocker = %p\n", blocker); + + /* realloc */ + + const size_t s_realloc = s + 100000; + + buf = realloc(buf, s_realloc); + + if (buf == NULL) + errExit("remalloc"); + + printf("realloc(%lu) = %p\n", s_realloc, buf); + + printf("buf contents after realloc(): %s\n", buf); + + // Check if known input is still in buf + printf("buf[3*8] = %d\n", buf[3*8]); + int bugged = buf[3*8] != 'a'; + + if (bugged) + { + puts("Unexpected buffer contents, your realloc() is bugged."); + exit(EXIT_FAILURE); + } + + exit(EXIT_SUCCESS); +} diff --git a/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/runtest.sh b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/runtest.sh new file mode 100755 index 0000000..cb3857c --- /dev/null +++ b/tests/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1662842-glibc-realloc-ncopies-integer-overflow-rhel-7 +# Description: Test for BZ#1662842 (glibc realloc ncopies integer overflow [rhel-7]) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="repr" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + + OLDOVM=$(sysctl -n vm.overcommit_memory) + RAM=$(free -g |awk '/^Mem/{print $2}') + if (( "$RAM" <= "32" )) + then + rlLog "Set overcommit memory" + rlRun -l "sysctl -w vm.overcommit_memory=1" + fi + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -std=c99 ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" 0,137 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun -l "sysctl -w vm.overcommit_memory=$OLDOVM" + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/hello.c b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/hello.c new file mode 100644 index 0000000..51ad6b6 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/hello.c @@ -0,0 +1,21 @@ +#include +#include + +#include +#include + +#define _(STRING) gettext(STRING) + +int main() +{ + /* Setting the i18n environment */ + setlocale (LC_ALL, ""); + //bindtextdomain ("hello", "/usr/share/locale/"); + bindtextdomain ("hello", "./"); + textdomain ("hello"); + + /* Example of i18n usage */ + printf(_("Hello World\n")); + + return EXIT_SUCCESS; +} diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb new file mode 100644 index 0000000..9cb46c0 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb @@ -0,0 +1,12 @@ +set environment LANG fr_FR +set confirm off +set breakpoint pending on +b asprintf +b vasprintf +run +continue +next +next +set string = 0 +continue +quit diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel10 b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel10 new file mode 100644 index 0000000..8b0b175 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel10 @@ -0,0 +1,11 @@ +set environment LANG fr_FR +set confirm off +set breakpoint pending on +b __vasprintf_internal +run +b malloc +continue +return 0 +delete +continue +quit diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel9 b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel9 new file mode 100644 index 0000000..1554553 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/list.gdb_rhel9 @@ -0,0 +1,10 @@ +set environment LANG fr_FR +set confirm off +set breakpoint pending on +b __vasprintf_internal +run +next +next +set string = 0 +continue +quit diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/main.fmf b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/main.fmf new file mode 100644 index 0000000..ea5f171 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/main.fmf @@ -0,0 +1,24 @@ +summary: Test for BZ#1663035 (glibc Backport gettext asprintf error handling fix) +description: | + Bug summary: glibc: Backport gettext asprintf error handling fix + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1663035 +adjust: + - enabled: false + when: distro < rhel-8.1 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1663035 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gettext + - glibc + - glibc-devel + - glibc-langpack-fr + - gdb +duration: 10m +extra-summary: /tools/glibc/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling +extra-task: /tools/glibc/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling diff --git a/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/runtest.sh b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/runtest.sh new file mode 100755 index 0000000..1a0dbe6 --- /dev/null +++ b/tests/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling/runtest.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1663035-glibc-Backport-gettext-asprintf-error-handling +# Description: Test for BZ#1663035 (glibc Backport gettext asprintf error handling fix) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="hello" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun -c "debuginfo-install -y glibc" + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun -c "cp ${TESTPROG}.c list.gdb $TESTTMPDIR" + if rlIsRHEL 9 + then + rlRun -c "cp list.gdb_rhel9 ${TESTTMPDIR}/list.gdb" + elif rlIsRHEL 10 + then + rlRun -c "cp list.gdb_rhel10 ${TESTTMPDIR}/list.gdb" + else + rlRun -c "cp list.gdb $TESTTMPDIR" + fi + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "mkdir po" + rlRun -c "mkdir po/fr" + rlRun -l "xgettext --keyword=_ --language=C --add-comments --sort-output -o po/hello.pot hello.c" + rlRun -c "sed -i 's/CHARSET/UTF-8/g' po/hello.pot" + rlRun -l "msginit --no-translator --input=po/hello.pot --locale=fr --output=po/fr/hello.po" + rlRun -l "sed -i 's/msgstr \"\"/msgstr \"Bonjour le monde\\\n\"/g' po/fr/hello.po" + rlRun -c "msgfmt --output-file=po/fr/hello.mo po/fr/hello.po" + rlRun -c "mkdir -p fr/LC_MESSAGES/" + rlRun -c "cp po/fr/hello.mo fr/LC_MESSAGES/" + rlRun -c "gcc -g ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + #rlRun -c "./${TESTPROG}" + rlRun -l "LANG=fr_FR ./${TESTPROG} > log" + rlAssertGrep "Bonjour le monde" log + rlRun -c "gdb --batch --command=list.gdb ./${TESTPROG} > gdb_log" + rlAssertGrep "Hello World" gdb_log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1670043-glibc-libresolv-should-use/main.fmf b/tests/Regression/bz1670043-glibc-libresolv-should-use/main.fmf new file mode 100644 index 0000000..51790f9 --- /dev/null +++ b/tests/Regression/bz1670043-glibc-libresolv-should-use/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#1670043 (glibc libresolv should use IP_RECVERR/IPV6_RECVERR) +description: | + Bug summary: glibc: libresolv should use IP_RECVERR/IPV6_RECVERR to avoid long timeouts [rhel-8] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1670043 +adjust: + - enabled: false + when: distro < rhel-7.8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1670043 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - strace +duration: 10m +extra-summary: /tools/glibc/Regression/bz1670043-glibc-libresolv-should-use +extra-task: /tools/glibc/Regression/bz1670043-glibc-libresolv-should-use diff --git a/tests/Regression/bz1670043-glibc-libresolv-should-use/repr.c b/tests/Regression/bz1670043-glibc-libresolv-should-use/repr.c new file mode 100644 index 0000000..bf671f6 --- /dev/null +++ b/tests/Regression/bz1670043-glibc-libresolv-should-use/repr.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include +#include +#include + +int main(int argc, char* argv[]) { + struct hostent *hp = 0; + + res_init(); + + hp = gethostbyname("hotnewsin.com."); + int retval = 0; + if (!hp) { + printf ("No return, h_errno = %d\n",h_errno); + } else { + printf("Success; hp->h_addrtype = %d\n",hp->h_addrtype); + printf("hp->h_length = %d\n",hp->h_length); + if (hp->h_addr_list[0] == 0) { + printf("BUG: "); + retval = 1; + } else { + printf("OK: "); + retval = 0; + } + printf("hp->h_addr_list[0] = %lx\n",hp->h_addr_list[0]); + } + return retval; +} diff --git a/tests/Regression/bz1670043-glibc-libresolv-should-use/runtest.sh b/tests/Regression/bz1670043-glibc-libresolv-should-use/runtest.sh new file mode 100755 index 0000000..7a5cc50 --- /dev/null +++ b/tests/Regression/bz1670043-glibc-libresolv-should-use/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1670043-glibc-libresolv-should-use +# Description: Test for BZ#1670043 (glibc libresolv should use IP_RECVERR/IPV6_RECVERR) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="repr" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest $TESTPROG + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG -g -lresolv" + rlAssertExists "$TESTPROG" + rlRun -c "strace ./${TESTPROG} &> s" + rlRun -l "grep -e '^setsockopt([0-9]\+,[ ]\+SOL_IP,[ ]\+IP_RECVERR' -e '^setsockopt([0-9]\+,[ ]\+SOL_IPV6,[ ]\+IPV6_RECVERR' s" + rlPhaseEnd + + rlPhaseStartTest getent + rlRun -l "strace getent ahosts redhat.com 2>&1 1>/dev/null | grep 'setsockopt.*SOL_IP.*IP_RECVERR'" + rlRun -l "strace getent ahostsv4 redhat.com 2>&1 1>/dev/null | grep 'setsockopt.*SOL_IP.*IP_RECVERR'" + rlRun -l "strace getent ahostsv6 redhat.com 2>&1 1>/dev/null | grep 'setsockopt.*SOL_IP.*IP_RECVERR'" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/main.fmf b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/main.fmf new file mode 100644 index 0000000..77c7cc5 --- /dev/null +++ b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/main.fmf @@ -0,0 +1,17 @@ +summary: Test for BZ#1684874 (glibc Add more Linux definitions to) +description: | + Bug summary: glibc: Add more Linux definitions to , including IP*_PMTUDISC_OMIT + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1684874 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1684874 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz1684874-glibc-Add-more-Linux-definitions-to +extra-task: /tools/glibc/Regression/bz1684874-glibc-Add-more-Linux-definitions-to diff --git a/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/runtest.sh b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/runtest.sh new file mode 100755 index 0000000..991cbd2 --- /dev/null +++ b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1684874-glibc-Add-more-Linux-definitions-to +# Description: Test for BZ#1684874 (glibc Add more Linux definitions to) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-pmtudisc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG} >log" + rlAssertGrep IP_PMTUDISC_DONT log + rlAssertGrep IPV6_PMTUDISC_DONT log + rlAssertGrep IP_PMTUDISC_OMIT log + rlAssertGrep IPV6_PMTUDISC_OMIT log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/tst-pmtudisc.c b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/tst-pmtudisc.c new file mode 100644 index 0000000..3cc6507 --- /dev/null +++ b/tests/Regression/bz1684874-glibc-Add-more-Linux-definitions-to/tst-pmtudisc.c @@ -0,0 +1,25 @@ +/* source: https://bugzilla.redhat.com/show_bug.cgi?id=1684874 */ +#include +#include + +int main() { + +// IP_PMTUDISC_DONT is available on RHEL7 + +#if defined (IP_PMTUDISC_DONT) + printf("IP_PMTUDISC_DONT defined\n"); +#endif +#if defined (IPV6_PMTUDISC_DONT) + printf("IPV6_PMTUDISC_DONT defined\n"); +#endif + +// IP_PMTUDISC_OMIT is missing on RHEL7 + +#if defined (IP_PMTUDISC_OMIT) + printf("IP_PMTUDISC_OMIT defined\n"); +#endif +#if defined (IPV6_PMTUDISC_OMIT) + printf("IPV6_PMTUDISC_OMIT defined\n"); +#endif + return 0; +} diff --git a/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/main.fmf b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/main.fmf new file mode 100644 index 0000000..5b22eca --- /dev/null +++ b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/main.fmf @@ -0,0 +1,16 @@ +summary: Test for BZ#1702539 (glibc Fix hang in pldd) +description: | + Bug summary: glibc: Fix hang in pldd + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1702539 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1702539 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1702539-glibc-Fix-hang-in-pldd +extra-task: /tools/glibc/Regression/bz1702539-glibc-Fix-hang-in-pldd diff --git a/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/runtest.sh b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/runtest.sh new file mode 100755 index 0000000..68834f6 --- /dev/null +++ b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/runtest.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1702539-glibc-Fix-hang-in-pldd +# Description: Test for BZ#1702539 (glibc Fix hang in pldd) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp subsh.sh $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "pldd --version" + rlWatchdog "bash ./subsh.sh" 5 || rlFail "pldd hanged!" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/subsh.sh b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/subsh.sh new file mode 100644 index 0000000..d8da21d --- /dev/null +++ b/tests/Regression/bz1702539-glibc-Fix-hang-in-pldd/subsh.sh @@ -0,0 +1,2 @@ +echo $$ +pldd $$ diff --git a/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/main.fmf b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/main.fmf new file mode 100644 index 0000000..f2f0100 --- /dev/null +++ b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/main.fmf @@ -0,0 +1,18 @@ +summary: Test for BZ#1706777 (glibc [kselftests] net/run_netsocktests) +description: | + Bug summary: glibc: [kselftests] net/run_netsocktests: Incompatible AF_MAX definition + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1706777 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1706777 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1706777-glibc-kselftests-net-run-netsocktests +extra-task: /tools/glibc/Regression/bz1706777-glibc-kselftests-net-run-netsocktests diff --git a/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/runtest.sh b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/runtest.sh new file mode 100755 index 0000000..a5a2811 --- /dev/null +++ b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1706777-glibc-kselftests-net-run-netsocktests +# Description: Test for BZ#1706777 (glibc [kselftests] net/run_netsocktests) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-socket" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/tst-socket.c b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/tst-socket.c new file mode 100644 index 0000000..be7cb0b --- /dev/null +++ b/tests/Regression/bz1706777-glibc-kselftests-net-run-netsocktests/tst-socket.c @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include +#include +#include +#include +#include +#include + +struct socket_testcase { + int domain; + int type; + int protocol; + + /* 0 = valid file descriptor + * -foo = error foo + */ + int expect; + + /* If non-zero, accept EAFNOSUPPORT to handle the case + * of the protocol not being configured into the kernel. + */ + int nosupport_ok; +}; + +static struct socket_testcase tests[] = { + { AF_MAX, 0, 0, -EAFNOSUPPORT, 0 }, + { AF_INET, SOCK_STREAM, IPPROTO_TCP, 0, 1 }, + { AF_INET, SOCK_DGRAM, IPPROTO_TCP, -EPROTONOSUPPORT, 1 }, + { AF_INET, SOCK_DGRAM, IPPROTO_UDP, 0, 1 }, + { AF_INET, SOCK_STREAM, IPPROTO_UDP, -EPROTONOSUPPORT, 1 }, +}; + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define ERR_STRING_SZ 64 + +static int run_tests(void) +{ + char err_string1[ERR_STRING_SZ]; + char err_string2[ERR_STRING_SZ]; + int i, err; + + err = 0; + for (i = 0; i < ARRAY_SIZE(tests); i++) { + struct socket_testcase *s = &tests[i]; + int fd; + + fd = socket(s->domain, s->type, s->protocol); + if (fd < 0) { + if (s->nosupport_ok && + errno == EAFNOSUPPORT) + continue; + + if (s->expect < 0 && + errno == -s->expect) + continue; + + strerror_r(-s->expect, err_string1, ERR_STRING_SZ); + strerror_r(errno, err_string2, ERR_STRING_SZ); + + fprintf(stderr, "socket(%d, %d, %d) expected " + "err (%s) got (%s)\n", + s->domain, s->type, s->protocol, + err_string1, err_string2); + + err = -1; + break; + } else { + close(fd); + + if (s->expect < 0) { + strerror_r(errno, err_string1, ERR_STRING_SZ); + + fprintf(stderr, "socket(%d, %d, %d) expected " + "success got err (%s)\n", + s->domain, s->type, s->protocol, + err_string1); + + err = -1; + break; + } + } + } + + return err; +} + +int main(void) +{ + int err = run_tests(); + + return err; +} diff --git a/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/main.fmf b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/main.fmf new file mode 100644 index 0000000..5b60ffe --- /dev/null +++ b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1710478 (glibc Fix crash during wide stream buffer flush) +description: | + Bug summary: glibc: Fix crash during wide stream buffer flush + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1710478 +adjust: + - enabled: false + when: distro < rhel-8.1 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1710478 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc + - python36 + - glibc-langpack-en +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush +extra-task: + /tools/glibc/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush diff --git a/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/runtest.sh b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/runtest.sh new file mode 100755 index 0000000..b31720e --- /dev/null +++ b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush +# Description: Test for BZ#1710478 (glibc Fix crash during wide stream buffer flush) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm glibc-langpack-en + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + rlRun -c "python3 -c 'print (13*\"\t\")' | LC_CTYPE=en_US.UTF-8 ./${TESTPROG}" + rlRun -c "python3 -c 'print (13*\"\t\")' | LC_CTYPE=POSIX ./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/tst.c b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/tst.c new file mode 100644 index 0000000..fd8f00d --- /dev/null +++ b/tests/Regression/bz1710478-glibc-Fix-crash-during-wide-stream-buffer-flush/tst.c @@ -0,0 +1,12 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=20568 */ +#include +#include +#include + +int +main(void) +{ + setlocale(LC_ALL, ""); + fgetwc(stdin); + return 0; +} diff --git a/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/main.fmf b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/main.fmf new file mode 100644 index 0000000..127b11e --- /dev/null +++ b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1740039 (glibc wrong handling of dlopen() of a) +description: | + Bug summary: glibc: wrong handling of dlopen() of a nonexistent/broken library, dl_tls_max_dtv_idx incremented too early + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1740039 +adjust: + - enabled: false + when: distro < rhel-7.8 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1740039 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a +extra-task: /tools/glibc/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a diff --git a/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/runtest.sh b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/runtest.sh new file mode 100755 index 0000000..4e051f5 --- /dev/null +++ b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a +# Description: Test for BZ#1740039 (glibc wrong handling of dlopen() of a) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="t" +MAXITERS="10000" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -g ${TESTPROG}.c -ldl -pthread -DMAXITERS=$MAXITERS" + rlAssertExists "./a.out" + rlRun -c "./a.out" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/t.c b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/t.c new file mode 100644 index 0000000..34eca07 --- /dev/null +++ b/tests/Regression/bz1740039-glibc-wrong-handling-of-dlopen-of-a/t.c @@ -0,0 +1,28 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=16634 */ +#include +#include +#include + +__thread int x; + +void *fn(void *p) +{ + return p; +} + +int main() +{ + int j; + pthread_t thr; + + for (j = 0; j < MAXITERS; ++j) + { + void *p = dlopen("./a.out", RTLD_LAZY); + printf("%2d: &x = %p\n", j, &x); + + pthread_create(&thr, NULL, fn, NULL); + pthread_join(thr, NULL); + + } + return 0; +} diff --git a/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/m1.stp b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/m1.stp new file mode 100644 index 0000000..5ffe276 --- /dev/null +++ b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/m1.stp @@ -0,0 +1,4 @@ +probe process("/lib64/libc.so.6").mark("memory_tunable_tcache_count") +{ + printf("PID=%d New tcache_count:%ld, old tcache_count:%ld\n",pid(), $arg1, $arg2) +} diff --git a/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/main.fmf b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/main.fmf new file mode 100644 index 0000000..bae17ed --- /dev/null +++ b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#1746933 (glibc Backport malloc tcache enhancements) +description: | + Bug summary: glibc: Backport malloc tcache enhancements (swbz#24531) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1746933 + + TODO + Use correct path to libc in case of power9/power8 +adjust: + - enabled: false + when: distro < rhel-8.2 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1746933 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - systemtap +duration: 10m +extra-summary: /tools/glibc/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements +extra-task: /tools/glibc/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements diff --git a/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/runtest.sh b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/runtest.sh new file mode 100755 index 0000000..8e064c9 --- /dev/null +++ b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/runtest.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements +# Description: Test for BZ#1746933 (glibc Backport malloc tcache enhancements ) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="t" +TRIG="trigger.sh" +SSCRIPT="m1.stp" +SREPORT="report.txt" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TRIG $SSCRIPT $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + if ([ `arch` = "ppc64le" ] && rlIsRHEL "8" && $(lscpu | grep -q -E 'POWER9|POWER10')) || + ([ `arch` = "ppc64le" ] && rlIsRHEL ">8" && $(lscpu | grep -q POWER10)); then + rlRun "LIBCSO='$(find /lib64/ -name "*libc.so.6*" | grep power | sed 's/\//\\\//g')'" + if [ ! -z "$LIBCSO" ]; then + rlRun "sed -i 's/\/lib64\/libc.so.6/$LIBCSO/g' $SSCRIPT" + fi + fi + rlRun -l "stap -v $SSCRIPT -c ./${TRIG} > $SREPORT" + rlAssertGrep "tcache_count:11111" $SREPORT + rlAssertGrep "tcache_count:65" $SREPORT + rlAssertGrep "tcache_count:0" $SREPORT + rlAssertGrep "tcache_count:65535" $SREPORT + rlAssertNotGrep "tcache_count:65536" $SREPORT + rlAssertNotGrep "tcache_count:5555555" $SREPORT + rlAssertNotGrep "tcache_count:-20" $SREPORT + rlFileSubmit $SREPORT + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/t.c b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/t.c new file mode 100644 index 0000000..6e020f9 --- /dev/null +++ b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/t.c @@ -0,0 +1,12 @@ +#include +#include + +int main() { + void *m; + printf("Malloc test\n"); + if(!malloc(100)) { + perror("malloc"); + return 1; + } + return 0; +} diff --git a/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/trigger.sh b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/trigger.sh new file mode 100755 index 0000000..f8c41c9 --- /dev/null +++ b/tests/Regression/bz1746933-glibc-Backport-malloc-tcache-enhancements/trigger.sh @@ -0,0 +1,16 @@ +#!/bin/bash +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=11111" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=65" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=0" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=65535" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=65536" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=-20" +./t +export "GLIBC_TUNABLES=glibc.malloc.tcache_count=5555555" +./t + diff --git a/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/main.fmf b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/main.fmf new file mode 100644 index 0000000..4ec13fd --- /dev/null +++ b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1763325 (argp.h kills __attribute__, causing gcc 4.8.5 with) +description: | + Bug summary: argp.h kills __attribute__, causing gcc 4.8.5 with -std=c++ results in compile / link errors for __gthrw_pthread_mutex_* functions + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1763325 +adjust: + - enabled: false + when: distro < rhel-7.9 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1763325 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with +extra-task: /tools/glibc/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with diff --git a/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/runtest.sh b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/runtest.sh new file mode 100755 index 0000000..7649cf4 --- /dev/null +++ b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/runtest.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with +# Description: Test for BZ#1763325 (argp.h kills __attribute__, causing gcc 4.8.5 with) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="t" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -O2 -D_FORTIFY_SOURCE=2 -E -std=c89 ${TESTPROG}.c | grep '\bstr.*__attribute__' > e_log" + rlRun -l "cat e_log" + rlAssertGrep "__attribute__" e_log + rlRun -c "gcc -O2 -D_FORTIFY_SOURCE=2 -dM -E -std=c89 ${TESTPROG}.c | grep '__attribute__(' > dm_log" + rlRun -l "cat dm_log" + rlAssertNotGrep "__attribute__(Spec)" dm_log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/t.c b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/t.c new file mode 100644 index 0000000..ec6f222 --- /dev/null +++ b/tests/Regression/bz1763325-argp-h-kills-attribute-causing-gcc-4-8-5-with/t.c @@ -0,0 +1,3 @@ +#include +#include + diff --git a/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/main.fmf b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/main.fmf new file mode 100644 index 0000000..3a1cd4b --- /dev/null +++ b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/main.fmf @@ -0,0 +1,24 @@ +summary: Test for BZ#1764235 (glibc malloc Set and reset all hooks for tracing) +description: | + Bug summary: glibc: malloc: Set and reset all hooks for tracing (Bug 16573) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1764235 +adjust: + - enabled: false + when: distro < rhel-8.2 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1764235 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc-devel + - glibc-utils + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing +extra-task: + /tools/glibc/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing diff --git a/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/mtrace_test.c b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/mtrace_test.c new file mode 100644 index 0000000..0ba8bbf --- /dev/null +++ b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/mtrace_test.c @@ -0,0 +1,15 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=16573 */ +#include +#include + +int main(void) +{ + char *a; + + mtrace(); + a = (char*) malloc(8); + free(a); + free(a); + muntrace(); +} + diff --git a/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/runtest.sh b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/runtest.sh new file mode 100755 index 0000000..a4f2e87 --- /dev/null +++ b/tests/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing/runtest.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1764235-glibc-malloc-Set-and-reset-all-hooks-for-tracing +# Description: Test for BZ#1764235 (glibc malloc Set and reset all hooks for tracing) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="mtrace_test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG" + rlAssertExists "$TESTPROG" + if rlIsRHEL '>=9' || rlIsCentOS '>=9'; then + rlWatchdog "LD_PRELOAD=/usr/lib64/libc_malloc_debug.so.0 MALLOC_TRACE='mtrace.log' ./${TESTPROG}" 15 + else + rlWatchdog "MALLOC_TRACE='mtrace.log' ./${TESTPROG}" 15 + fi + RET=$? + if [ $RET -ne 0 ] + then + rlFail "$TESTPROG was killed" + # Gathering debug information + rlRun -l "dmesg | tail -n 30" + rlRun -l "journalctl --since '3 minutes ago' --no-pager" + rlRun -l "coredumpctl --no-pager info $TESTPROG" + fi + rlAssertExists "mtrace.log" + rlFileSubmit "mtrace.log" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/inf-test.c b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/inf-test.c new file mode 100644 index 0000000..32aa460 --- /dev/null +++ b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/inf-test.c @@ -0,0 +1,27 @@ +#include +#include + +int main(int argc, char* argv[]) { + int res=0; + float in; + + res=fpclassify(in); + printf("fpclassify=%d\n",res); + + res=signbit(in); + printf("signbit=%d\n",res); + + res=isfinite(in); + printf("isfinite=%d\n",res); + + res=isnormal(in); + printf("isnormal=%d\n",res); + + res=isnan(in); + printf("isnan=%d\n",res); + + res=isinf(in); + printf("isinf=%d\n",res); + + return 0; +} diff --git a/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/main.fmf b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/main.fmf new file mode 100644 index 0000000..6c8aa6e --- /dev/null +++ b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1764242 (glibc Enhancements for LLVM toolset) +description: | + Bug summary: glibc: Enhancements for LLVM toolset + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1764242 +adjust: + - enabled: false + when: distro < rhel-8.2 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1764242 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - clang + - gcc + - glibc-devel +duration: 8m +extra-summary: /tools/glibc/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset +extra-task: /tools/glibc/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset diff --git a/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/runtest.sh b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/runtest.sh new file mode 100755 index 0000000..e4d68f5 --- /dev/null +++ b/tests/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1764242-glibc-Enhancements-for-LLVM-toolset +# Description: Test for BZ#1764242 (glibc Enhancements for LLVM toolset) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="inf-test" +CLANG_MATH_FUNCS="fpclassify signbit isfinite isnormal isnan isinf" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "clang ${TESTPROG}.c -E > ${TESTPROG}_pre.c" + for CLANGFUNC in $CLANG_MATH_FUNCS + do + rlAssertGrep "res=__builtin_${CLANGFUNC}" ${TESTPROG}_pre.c + done + rlRun -l "tail -n 25 ${TESTPROG}_pre.c" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1784519-glibc-string-h-Define/1.cpp b/tests/Regression/bz1784519-glibc-string-h-Define/1.cpp new file mode 100644 index 0000000..2245a0e --- /dev/null +++ b/tests/Regression/bz1784519-glibc-string-h-Define/1.cpp @@ -0,0 +1,12 @@ +#include "string.h" +#include "stdio.h" +int main() { +#if defined __CORRECT_ISO_CPP_STRING_H_PROTO + printf("Defined\n"); + return 0; +#else + printf("Not defined\n"); + return 1; +#endif +} + diff --git a/tests/Regression/bz1784519-glibc-string-h-Define/main.fmf b/tests/Regression/bz1784519-glibc-string-h-Define/main.fmf new file mode 100644 index 0000000..a3c996d --- /dev/null +++ b/tests/Regression/bz1784519-glibc-string-h-Define/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1784519 (glibc Define) +description: | + Bug summary: glibc: : Define __CORRECT_ISO_CPP_STRING_H_PROTO for Clang [BZ #25232] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1784519 +adjust: + - enabled: false + when: distro < rhel-8.3 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1784519 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - clang + - gcc-c++ + - glibc +duration: 5m +extra-summary: /tools/glibc/Regression/bz1784519-glibc-string-h-Define +extra-task: /tools/glibc/Regression/bz1784519-glibc-string-h-Define diff --git a/tests/Regression/bz1784519-glibc-string-h-Define/runtest.sh b/tests/Regression/bz1784519-glibc-string-h-Define/runtest.sh new file mode 100755 index 0000000..51f913e --- /dev/null +++ b/tests/Regression/bz1784519-glibc-string-h-Define/runtest.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1784519-glibc-string-h-Define +# Description: Test for BZ#1784519 (glibc Define) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="1" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.cpp $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "g++ ${TESTPROG}.cpp -o $TESTPROG.g" + rlAssertExists "$TESTPROG.g" + rlRun -c "./${TESTPROG}.g" + rlRun -c "clang ${TESTPROG}.cpp -o $TESTPROG.c" + rlAssertExists "$TESTPROG.c" + rlRun -c "./${TESTPROG}.c" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.be.gz b/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.be.gz new file mode 100644 index 0000000000000000000000000000000000000000..9b36a34a89dd2e07b854f814ac056ff8aa507d52 GIT binary patch literal 1882836 zcmeFad011|7B*hzDk>_qpa`iWA}S)4nZ!DwqM)E4Ac=@bl_4U8Ktd7~6_p{*s0defPOO&vxy1zw6y=uf1|| zJZJwAK(SwceYo8Z_SK|7xUWy3-x{BjzCRud_k$fi2@miKUVGT@tHBhlgZo-KsI0kF zM~+9|PD}`wHCKJt&}|@C8Zxige1^y#Xo$d**A+0dU=GDN9esA$ z={*72Gq12bzgcn5#%Igo`6u!WuLRG2yX5n2?5I(!G`n5UgnT;9}&npMLS!bLe^oux8KbQKwbOp-nyo)GH^$kp0y5^LSL+MHqfD4MDV{3VRFl-i)+hwQ|E0B z+`S{fdJ2OwM|=RS`}9cXuA}_c_~*`X`vn(M6V8<*pV2N!*YAcdn?byNRTB8^$-9ug z>@7%dh(#&B3~TW^w4GmZzj9?_F1YQ+n)uLtJ3S9g?O@)@=Dfd0o7OO}lB&hq_x2v6 ztZ!GcV%c6P;gSL29J~4eYg(7j+nJ$`85v`1Hu8s-tj7lC+!T{Kp}p#$JZ{5U9g4Fj|Ahb#Kp7~%v-)qg7-FU_*~yR_!9bH!CU_FNdJOE zyM@5F^xQ;ygF4lwop*euQb$>}wC~eS+i<#7Z$sDE&u4Ufr@oFdUFNg)l{9R%^v-E< zi&+r+1$~zu)%)3l(CeVqj9{PCgx>HAwmI0~(pIr~kBcKcmuo(BSZyuN-|I*0fK%TI zXpZLCm=^HBex)e;T1u_|H)>l@sXs*>$z60S)_PfstJ%S-2i2wzS*C(S$4xsu1MH;o zwiG?oCUtcy1UXj2j+*6X3USUD);_y8{nB zo)z3+oJ{i3JOA6p-yD{abU3R>9CYMIpQS?5shMjAx7+}yoy^_ceBwyx`dfL~t*2&s z7YS9RMXAnTNmAYt9nXJf|I%q?t)S2U-ZzwD=GB?>$#?Tk&!ZtskCD%WX1K58x=GfK za*ZF@Z#@sKe&g6ID)fbHLy6}B7Rwf84yW!u&#A>~U7tN5wkyagK1N=W|Hfoq+k>$3 zMiUDMRIPPJVm2pQK56t#z^NUj0jGAC2Hd@nGykRDz=kQgTt|@N< z^mdr;btd33*G3l}y#cK`nbCHlc(A5t;7vf;g_5+^fU~Zs_$>!-fLD($^iO1OfIfTU z(W=AVuy`YC_k}A^oo5l)jpr|}XphkedK0iDfj6%NdQG$LRS#RJYseadg4ot>PVJ6%iE`Q34;Bl-=cc^wi9vInTgr%^P!bdnQd!} z1KZY`LDOG!pXg1ixe+t_N{m+t6n${0!!^&F<~?+>qGLICAmuHxq;BAPxiEkDR)Wjq zrqeTxwxd!Whlt@Z^My7Gz9Tz%mPp;J_xCBMxCdWAy;E0ozl@JvMqYd82nZVX(yr<~ zx5jaaTWl+@D1ceEx-Y(P3Y5CuVuNKI)LQe|=H5wAMYYuRuPJDsmHDGoZ~e{XCED?R zyB{PL<~?U)7Ml7-UgP?$hBv*hD!fy_nXR*4y9M=QVqr!7W?%7FnkX$>4V}L8opmMV z)t;Aj-?z?DjpViF-uFheY}#u~Y~&3@X~NACk6%S0hghr03p&nDq;b{D#QIy_2@itRMCsKZVmd>QnMoOpsgVKQeWFbmSJXHZpv`c zak9CIedUfqSZXdJI_(lBX_T9~lrevmJZ#0zp4YQ8T~QZtJJaf#QRn;} zi6^qctL`1dWM2ReuH;QOt!;_9w7b-Cu4)v#K=B-1^VY}#C7!E#gF#P4{TyL@M&`&G83DC#|Oz4lT{aSq$>nekJT zkxRS9m#XgMCq#Q{4_&I_?jtY3UFMy9uYE5CbhqAJKztr>k{@5SqK~Q9Vlsl79ck2@ z)jvN2YJ!?luz$elQbKJB%HHX9(lhb_{5{J$#LoPf&I`=d?}9J5M1VKH_L|r%yu^IB zhh`!-nY%gYx>W&sE3aff)qp&oXf*pc~&lmp$V(69sFRTb~KbZgRH zoBgJl=?^cqpb$kniB9h#eVu-&yuRmIR=}p6x1OIqF1Nb%^Mz-!QJ25$l`?N4aCzGz^>*3P;RPh!rB zfeo6{Vk;YYzU0B0@)ZNixjrhFzKW3(1!YGk8;hPUPc5X#`TZ4V0|+Lgm*dLURL0Y;p(R1l;IPRCy9NgnKwB%dgzS zl)dUL>FWIuzO=Hc)W6QIb8$z>*O@;WQ9~W7M>}#%BfzVNU+zwXmd_3fjtaU4bvXIq zUJJInYD!L!zYI5+&kWsey+UG}9@g7q7NXvjpV)-JS?~5F7LUE*B@;E@t91^>oWmJy zfUq~bIE}h&vUeNUL1~zDFAy| z+-iwvL6s%0(LXz_f$?2Id+cg`OiQ?j#Y;uwNak~f&C1$NTNhr5u>&gTr8{GPcZsbR zYAEEx?$57Ai{AtgpVJRre`=ewS~0QN?$KcJP9kPtO6b1RZ4=0&Hiz6o(;xFPJW##u znoSvX-0)9?MvfJEXKks}z1I6kFLv$9S8sTaA`)C!d(39mto#4F*{uw;vPXsOq+a*u zWM$;X4cUaxTTrwpHQ}O9=Z^a3vi=#6exUfc)2@8(nx__53#(o1dMa8kX0j*+hNK%NCpS!YmLbM?moRZ?UNe%K;7Ce`{~hRP&s7 zzUkE)7W`cho`u1@>doQ3C`!f=@jpGc7@njWKp+A819?Z#5q-R&bR=|z--GeW)T?%d z`2vy~7Qxl~6hk}wuZqBSJI*gZ>P&mKt~N(_hnT65-&djEi|wsM{WttF4kT;RESDbi z{GPUmwc$aWsMi9=)5Yb@U9e(6lZa}ky)S-fKBMY;I8EBu?KJHuW!uXr^}*{O61jif zN3sx-Cl9N+zsjQ|p){#-Y)8?SBs&8gSCkbj0N!%850-ks3Majk9b0_4|& zW?0u}#H}YjT6K-V7C0X@#=JNr4ckuI8XJJe9Unrdw(W6E!gf_qrynUBl&~U+J_OP| z&!<;%V`0{NHyma^Gkwv|DWvS(i>;3$3hxi;dKO@had5Qi+dsTEv70}mW?lVehgt_F zqiZnU5;fak0}(-@k%^c6bO75`=Z!PN7IcM$9pT^uqAnwYyWVeZLAs9mq-yK+eQTDv z%Ta4VdC(5N|Av!6(-Uko4}&HH<&jgn?ifK0LijZO`I1y(QRbQj61&Tk*kZX{yr2mx zs5;T(rPY9$k77@AS$kdPKWc)HI;>~)5Z0J9Z6c5A9=mgS&DR|7nKyiHO^X|FY{doF z88np~RmJ7GIqEBS?K~b=X$nLi92dT=cqGuXS;$Jjlo1M43-DEqm zs|oMFV(kOaXzg%qMqHgFY}bcdgq_}_2J|Y#i7``~F!{Y#aZ?-=lDp3ZyO!Haqv#-g zdB&6y60metd1wU9YJK<#MJR{f<{XaWZSdfSRr$K9v_btaJB z8)n!J-P-}VmwQh!Qm11;#)8;)%a?dBxnjBR^>VUf3)Wfjot;TNYsS#ohZH@}6=7f7 z%&<<=*<%>CP!8*7HG1?fIx9-_KD%}^WFw?!KsRl*^!%!gH@5VXkdG^e;9C7mW z8Rs|MU6)wDXH_Km)@G9%Q$8L^^#kQ<9>Nm9!44{91Pa_;wdwkGzq~l;w zVxMx-R;brbiCo;dK9#RlOwb>l`u$Xt&O)vDXzFI2yB8b18khCM8yStZjjS}}Vj*%H zGnyHrp0NA;{f(fFu4yxWTzGxD-w&WoO=$}ncdgXFGv(EJ@R`1ipv|Fak&Q-;Q9n+2 zG{@9OifYpJw4rd*`IMQ%plCC};e>d-bgHG9)7^uW5&4Pld? z+U=sAz)?DdsfGuAb2y2Z;`y>Ip^Z69Wq!`(}b z>2q4YdN6bUX~XDe6`V=?&l$!%v}n}XgUFtG7IEhI56+u#XC5BiW6*EhPrqzB3YpV7 z=fN}|gS4#0dCQyUJe{~PesP|0^W>)$n|3eGTXW>>GkW5k9}f6tPdSS?@A*T1n#G*f zMaQ*DqB}Mpz-2FOp3a?l`|jF3b4F*LMO;)*wAVtMd$?_{Wwz}%GknPRPOO}Wnmv!Q zk2#4uU3}(Y!e02wd8i3b@2qG&dFjl(#d+}NX{8zihPNnN=~a!}dD(lYm2OxK3<$b0kfBEd792?8EoT}dmGMF2hqmUw|6UJ7bk zaJ*!;-lmH$YJ@FUe>6CfR(4i)cHhFqvF`ad-%dDUaP{)_ox;tlTYqSVyuLa*qjp8+ z>>bN^jTvwECExr$Y+daNZ9d`h^~>MD%34fA9zUFL@$e4nz3Zz}T&`uhA3u3~)A4s- zofPuSC#PD5y}Lb`=Q5=Vo-=&_mf`i(y&0J^H@5b0;ekAt%ohNSi9Th0GuXd8KRQ;EEbKJ9hx~c`pKd7;4Rl?zI`8cVd}2gi8Eu8uNm)H zVYxtOM#X6@m(2s!Ton4g|9yX(`sC1=ZKzb7n=|4ZxvjEQUX61X!}90~RB1g7kWds2 zRYSI868LWAH}A6MK~BqdJOc|a$zna0s+Eo&uvhYPN&xAL0rM2a*p+a_>1Xt%*u_Fx zVf9%Eu&fpDiSXrAnDc z7+YJevZxYd6@o89aE|Y8SuIsx4PurGY6!TwLRug(TD?>!@ z^9NFPhjoL5lV(*@N$=@IdocjHKmpwH7Qhu|&zz;AD3BUph&b?V%DD{s6ZzsiK^=gD zv~or`f*s0+JbE9UuuU1(ii~=p7@J68O4=1t*|vj5tWo*>HcN8#fOt0%j>0tYRH#~T z1F@T}M2T7g4;ONdy!Un~Z?Af)!qso2)bQr7jZ}2lMcQ+SmT+8M5{#}`Ma23ciO9+) zmKfEmF0WKzj5Uf)Ldwc?tNHkF3($XcMbNvyX*hxK28?1Pu}1g9)LL+n;=T)x$3Z{2hYDRz zQLRdC;KUwmime71%%SY-4%2ejLT5F(@pw)kVnue{!wgO^AO+W=A@$D1kgJvqzt zhM0C6x0c1hUTvFOWrkweJR)_CP+>vP?W>>z;u+?ui$|-l`tW6J?-5~Xl>JhiX(Bxl zOP)+5jbM6ZQ9_J}H$XvAlhLHMSd5ya1RU~Tq_zaoBgizmp%#;EP<1COavLgT792zO zUlLW}2Yu~ouP+jrDD#JaGcZ2cqOU0j6^^M60#|izAe+&dha(7XyC@wg#*u|%GAN8* zJ&Xht$Vv`=L_u*TwuP#@fm^gDS>_!tyJSV zJ^F;6l-H0A}akc85pbOKBcCLENfUsgmWMyQg zTr5~GtM`6yOXlY_vh%qj0VkeC6ftPGO?)Sso05vUDR(1{JWU;Jp+F>g6<8)q z^R*Boacy{fS9?0?(JNXU3yteqaG?@X%WOG>%}X^SM_`$1sp%6bCW5Tuk#%PfA%{^% z(*rq8u@fS=lTybb!B`?Eit^q7!ky0)^j7PXMs`ewC=__Q`iyCmz3CWA(S|FGB46*q zfS~Y$U0Pi&S}a9zvGAR!=bQ}l&9bp`!Na`;17zGwY19r=VF4U#@4bXBS7@$Y13X?9mXhc{98k;9Tn@Xsbk5YwI?3NKAP8-XfC8(MZF|z%HXx|TN zkO(C|%2Fy#CF`Xp1!6UNBt)8;c}}2?enJnuU>XV|4x`FxL4q2dJ(HC?e~h-2BA~Sa zdIwovEO{$3vOSK{yrF6sUypmF=w8DbjZB;7=xl$b!)_~ApS`+@lb(!*x5d6qK}RS# zM%eB#-(jHwtiDW&sz8om-zg-h^*foeA1?T}vdpX1=3H^+YN|dw3SQcq<1D&ghvuNM ztuXt|5il%BqV9a|N*XnU5k1X_76c|yK~V&P-J^^kvIvtfY0MCBs|YCU6E~lOEDbTe z!_mc&tAX|^;j2Cxu2Xi6O9Wmqq-M^m6G2j{nzOaKPAQ41Mqybh6HFYGIMM>+_A$rQ z(1BK1h7DAm0Oi(I%d;XHSP%h^qJ|LFqG|f`hl8UF+wDqjmr37e#UB_oY z0VdoYElTPRb-uQQS+WZ{hCoJNjr58#r%1~x(HsqPF&pid z8^hHPoRgb*;`wMULuqP-W0gHK(x;-a4t()Fj4HP(NL}sAs(KS33P0go`-+F<4@p`q zupDeeI6&UG1Cr~Xs%&h!#+gEtqf|DB1p`?PsUCRzglgjw0Vs<^VX|x@{1!*Rn|SsV z=y|$BuefN3EW&6IgCS=;s?Kbw93F@gbj~Q z%JIJ;FsX*>i5b9Z}nsAP9pd%i#J3WZ2 zu=i|eub8`GY&3{cbD+aw1f3j6Tn|7;TUjaqmL;suBM+FS3Jq=mA}HO3V1Xf<>c3r)M9YNvyvPNDcI$|KoJnFH&Y7fd5ehyir{X`9Im z`cklsJJ%^JQ*!IT^U!`&!wU%&tgC#NDip4g2=h5%2*w7Y61$yBH$3Lpki z?oOspM_w4sfL2jqJ0}yO>aTgn0@C+l{#X<>%_qq{kC-(g#kR3Dt6%R=5&(PvdI9i) z2~K*$afgIZqH0Vaq)u=nD)%2YbQ9hmlRY2|*;i@4YQn7${uCM6ij@T=x|OiXxWEmV zsbom1tK3Hna~6zN;~mv4CZl5igGpKH*Y!N$rE1n*M%9?lTP^HJ+wRBa>K{~1IK=~Z zAekt?4>G%Gzx*pW7!Z!Nqhqw9VnEdqQ{7pkRMup=Y%*N6#kpBH%cv}JB-GNmFyeK5 zXJsd|QuClDq$_|*61nADa$6fZ1tjPdPlN&XES88by)i~M=rtjy4uumG9oTkvMK%pI z*2lw9cTkD24h8fCJd(V#niZ9ugB*@yMD09IxAj3XhLF4H zvA809gNlNloeDF>SN6waQ7V9`ZtO9D5Aw;ZVhHv{TWr^;gHT*mSLxWVd06v;I{REC z56qPNlXF4C^>iTkJjIb)G^UCLp(v({1PPpY zq6i8lI|c+v1?W)Pj&{g zVs0GuJK*7#aKnH8fvs*A_aEJVV82^@Nlk~}P@%+QTHfZ?xw#F;AKuBkJipL0&my;m zTa@5o-#VRl9YMA67kf-3|Ll}ovxQ`N z04qgook#b>81m2$tBnE_3U7)o4_#cX%~KRrgT`Mizv4xMYKXu!56C&Os|O@r+?%Ie zh_&JQKg6!!`4?g>c$|mTXT+f%5WHCAK{+MX@_@aNZ_R_%%a`X74{KhQ5{s}4c!|Z> zDLnTg?0lYkF?JTOtq5ztYb(Z1;#n4f>*c%iSoQKXd90W6pgdNCd||8Lkjkl5a2T_O zhb+cw^E7WYAfB{X{S{BUNIi$A?Mh`3g}_7gN*=yYZN+nbs9wf%E>wTdqd!!y<}J;G z(Bz^#%42zK9_5+5E|2n5o|{LZ%6WN|C-S5`O0ArcN2!rl=22*Jn^u;;cX40dlzH-$-u{4fI)pCH{MZpdlbylKPfaY#b5Kr>ZygNsGz#eN}a!ik? z_OxpIV&?K@j zMk<^D--#BgDRem}5BEf#n1`#Cx8>n#^M9)`LP?U)N^iSM*RIpnj<$b zVLLDC4ZAebP9K_0WA?CN4ktBtMltB1Dr6gtVaSvSN|7W?bsiA!#YiDpig4pplqILuo-k zAljc{$w+ON)RnrIVv2^Y1mObFz6@PP>RU;T1HWsa(Ji`EUfhzJ&kx+-pKIxr-_EUf z^DUJZwcN}v2;AV8>n{~_wFpbklf;$zT|r&J0pVUmhG$pnKmrbljD}^(Ys1b@A=7~`;CDq}GCkDa zC|!r0g%D#|RyW}cZie~`_(u`A5`Kv5LiI6ORuADk?hE)`5#WMS#R8dsH{mqyyycPc zZmRmH@fV<}MxTUl7W%E)L+0N@IEVWJepdvzz);-VO^C+LR$I$B5xyU~U&dcRIinJ8 z+S@~j!5OL}Wt=bIw?$BEzG1it>M1haZrG`DpuYDNFj1*BZ2Fk;1!#(J0xb>dU80N~ zHhoI@8u$W!R|F;#6HA;7%u_lJn?9j@07}2<>gBS;ZrB;z7XYguD?+ZWSJn-i)=*{w zU%>B*z+z(1l!?F$rO7by@y}p*_I#OpH|#WSiu!*Zl#>-^MXQv#!^EeQ8Ne6tyCN`| zsvn(asW-^lx?$0{UqC$a!4t|C|ZEGOz;$^tF9boodYyfB<(lEA87vfC^A`5D72Rep5V0A=wVhg zV5pRKQ>Fo5s83WPSb)tyg4Bv(Rtx}EN_!~U07fRL!F`}ODZe59K=Z#wv6!mRE0biP z$C_jPX~U3Hzyzgsx8{)l{{{srQgn*wn%nYRUm3*D(AEWeV^G{H_R^|E5GL3ngP1UPGA$ zd=k7e`teWwe=_yI+$9<6GFxXLLw2)HYfc5efZr9NoNQZ>uBCbXuN)RU)tm`@64V(D z{Hgy>rv6vE&}gKx$xMmw!OaAGWuO{BPfZ(!oCm&8pQr>0Nt29rv!XTUCH6Aup8~dy z_)q69F9=;W02-Z8Qw|Lj7?i-b?t;3tVM{r@%MrtYOGG zz*yJydFd?R_b zF@Uv_-h-PBgvtmtz#=tg81iYV!N~5@&d&?+->iZQ5+a9cG$*@YrD9m{1^l)M>Y=W^ zDU)Q{-I~+fuhgFfzyqHt{FkEszbcMqRI*cIhCxp?um6jcU%>B*5P?SS5`3**D#Lec zPHjIEfQ6qa{FkEszbV$74IGe~DQUx?8qJgWzXKE|>!|RX^q&{?Z&L}adl+r-_3EQ+xS8654YyP~u?6d~`9h>V z4lk501WpOH7Xp`s+WNo+A$}onONiG8&I+9u0@sDk`aqnJz7TR)8A^q~m0DEFk4i@> zB~WQXr5slVP$|JmeJbUc(u+z7Qrc1}0ZKHLXs*VvOG1JV>LpT%mg-4t$oJ}{Y>0(g zhYi`FHfLkl5KFZdoASNdgiWzf>$52v)V6F(J%B8P=mF_M$O3pA&@O|;X~${D11&OE z9MB~L76LIs+(LJ1iSUXLw*VjsTlY`EwiKX*1pUG>%NU& z?%RIA%q@NcJ0Ya4%)ispP)|GFfm%`M6S#1*?~%X-3~EAQfSrXT&WP&DzAfy0YdJe^ zGyA!f1ys+7>d3wkay)qfcmRg>cmDj`s5OeGvw9;2FCVxP;J;vqFM^LUt#vYblr zSB_C(hm_~2u*1q#Y$A%~E+@uJyzagswYlcj2l_Ke$}PFBD{z<#+og)l!I_Co@2icG(urcz z;aR8Uy4kq@z#vbfbhATGSA3ft@E@Be0oxF(_s}MaP4-ZJGOP9wCyK`n!gvpUqIjjo zAdL3FN-1scL-xTYikI(kn21=WG2*3rARi54$sVJLAB=eM3I4PO)#Gwd)bsvi?PT8R zQ2P_9(1K`RgnB9;H<5Fqd(rIV zn$w|HCuUFMM^BXga9VNqF=kIUc;yMuH)Yy0lG{#)+MICG{BHSUYXd97Bu+?o=gdy$ zKpeb|-Cs2`Iq|e;{Ryaz6TddaJcP5WlXAh<|6RlFvd|U$@JAf0McTthhfI<4nx zSaEv@$E~w`J~FsA#VZ68t`UrD{WY+&{99x}ZA!pDSmZxowC4Vq5*@-h^l`#?7~jq@ zJtUYq4v%zNFF-m`Q?7lSpkY&@g@hob^)^g!XQUp|kSZ<@Q4L9u)9n))Xk{WZzFn*> z{hj<(8P>dj700t=H&m8|8f(g8i+m@qDH9nLK;mp;-pQYqRj(^BjpJ#tKSJUqUhX^j zgEH)@0>UL;`XUGEyoTJfp{siAc3Q#bH6)!Ct>}r`{?=$ZZ>>+)@;uU6#Epl+^ICU5 zt=N(6J6&o$9fR3qup@igbn$mRqTI7|;=Dd%pVWUcX*j3;L>+nW*-%JNr*nUjj=b+9 zw36z`-=76rr#U|h*SL{yR32|s z?Gh>5E`i^4^_M0;m7#c)f&DHAw4FQcDxYyxe&&5lJfC${)8uC}lCPa~;_6<7`6>;z z5pq`yRc2rk9|^8Xyx&wib|7~s*5=T+bIq^H<1!F89uL$(P}p4NEJR#p^lSY6Jpmho%>#>tXS(CNO1^4A>X_eLmj&rQtg)vUqFcV zkD8qt!t_f(0U`4^VLs-7Wbp#7!TEt;`X!0`|fHUJ)?)TWre(G+V6w1Jo?;`J((k*Y(?>Uu_EB+*D9exJgLRBdJQUZCx# zK%9G)ZsY8Eg4z27Zz2oXit&F<^cv-Tn_qlS>OQKz)aw31VPfs?SPgq2HQ`0qHQXo) zO&>hC5)JcH!P+tKcCaafHQdZd`-I{S&U@~W@5;EP1$cgoxY5QI3r z0NdPxuaNF{hj6(L-m2_ekcQ-Qh#&foP8KoL3t`%fKPNBTlm2Z5d}f#BdHJJ8%;A2p zSu^RJytGl}lMO!0=WLRO`Y`&d*X%RhB=t&D7k64>EhQC>1{Rr61ag_a#u6WRh+23EiDhxKif;gkg{Tx4clXQO? z=AT9%MA^*q;KUi2wevd&X^MhI@T{SxM)gb;c5A=XWD`L%v8j|}W0xR-_lM>-3Y-J! z=!ivK^mCd$tAhKnYr`PA6$C8}0Xr53)8*nft3t9Nvs3ibuvX2$c{y_rOW($Q69%3w zm<0)JmY#1&(J)-}<_}DYV_LPPhWscaeUypGX`v=z!RH$C8_Vb0kT!AL`a5T&c>R`? z9SI)5kvP6~3G(hetoicLspCs($AAf1E$MsgXJDLkA2_B}eDlCRP0`z^I@vFE-6V}p zQ#@%@9m*!o5bsZ`Ue)Y=PX1sIY(6)4lX$IW!1c&ZJ;#M+SI0=>#~pfH;wIJpY|0F= zdzyMxGwhr^cMop<=aR7b4`P2>WEE%XEWAmK2q+Vk-C-Z@xiW6B|yqL}k@1Xt*lO9;rV zT+Dk>!S*hEv+9Exirj=xM}cyrSN<-8d6vy|;9@fVCIhF3q87C%wv+MA|E_t?F}_j( z%2E7eh{~>j9K{+0C6iBTR^6;%xk$aZSjR5-XOJ8(Zj@sRJV&$!QJvX9>ez-LXBLo} z#WyRME^S_1l%qF1hqvZGAX%wWvDJfr3PJPYMmQS4bJ%MTRhbE-=AoMvT`nXqZn$Gt za1LV)qB1j>)XckS)8#_&;-2J1Z$p%4t|c}1-mK_!Nz^co-oZI_YyLfw#7VbL;GS?a z2+pZlgDA_KO=|ABY18Qv83PEd3JU7JAJ~)TAMqHL@NNQ%^M0L90z5a^){pw;; zCbP7eaTCRGfqQWS9aDmGiq{}YGaE{q+i%)1T>O7WR&= zr0z`#%)J(bD9U##ZFx~@)9wahaDBZnfw}k~F)?3V(n2Yfx48iwT$qt`^xdl>}&!V^nTEpEgP?tU-w@m%*H@q>J)l9rrOd9#~;2Va-L-Q|^XEY~~;kv61c zrCQ3YYyd_BP^$UG#;9Oh0;7RlDk>YY3%14o9)fd*z&WbL>7w$Vw4BmEgNclW-qO(W zp@YG;pMWHe2{@sFRVpG4DT8crj0Q%jsC1|*$QJ$+j0&=KXEeMn4J{t(479am@ZCEa z>PkhqL(1c}l#T{ssp9N-6Xgxr1=!L%8j3%{O6MPK+d3LbN<)Ltd^WrPV8Bnq{GmUG zipfEP{_9CuTj7hri%51f;Oun(F<;}5qbvgz(gEnwz+~7*7?OZU_BG%fpjo$S z;Aoct$HRfr6_Sb=Wf-W!9Vldbm?)U!l&8p1~;qYXGv2cYvc1UX7KP=)>iIY($5 zr~xKy+^RlU3}PH}0yxpzI03Y=j*#l`(KZ7W!U5Oy8ixF1n9MTZAU_I{IR>0aS|l?h z75NERqX|wc?+8f^PrhcrIpRQh``RBd>S2I!qgl6vfHnK}R{hWh9_&DRD{=xrh@tcX zdP$|kwM})rt-Aj~o3|o802DS9T_9$as4H8MZStWC(BOkQZ(ebLcQAb{YEgbn0iv;F zcEw5l%W@M|K~&|)&`XjA*j0`Uz9gDZ_%U(Z0C)SL2U*_YViQt<{7nlT+1s=qUI8X? zZGg%KV8}WZpDwE6*$Hgul?|K%Q8_P)Z$qeT==CLNEwW8~7OMH}OujV%-M~pjG=@4! zlbh^0Va}Ad#ZIUOUaF|VziTwP&7OmxM|Oomr5eb~LA6*|H_{gJbw49czF7zi$ z^Q4+S3peNi*z+iwegO2*rGe!Xfi(vuf1WBT$ifd=OUEI&NCO9!qQ}`nPSiN$3qCdy z2MJD)*QKh9vM7TCra$rWSE<!uGX|H)1k2{ zG6zi2v@F=rfIC{=lB!USH+4xCZrmxIo2~#-e`%q)oX}IL^a&{NwEnS0cmFZSakdxd zXnxGPIV%-hk>w;FeQhs(kcHmK)w};NoYh)^ z_XFERZbN3M@J(dIfL&FXA=HMoHYFgjq1ci0HdDlV6Nwl|t_TBr+a#_{aY$@PbL7x7 zLpg6ELkE(}m3Lp4pBy+?9+rC0#$jy=D6t{hk@F-owEKpq|LY)~-x(_%X6K z7iKCZCdykKF}zGL&xL}@(Iz+Jpj=y1F+33q8F)jWm5nNPCSqX&Zv-aZa!jTpg%~zK z_dX~O)peJjHNiZ+0q)sJIFadGRs<>-o$fBFy@3hwgB={u86W+u;BH9AgpF$mA2cnR zNiWqEZ;TGM`~RfDAjjRn2Y1i78(TH*P8@eDM4A=+2vAMT!M5=wG3aqIj;L7y^gUO@ za!eFs;~E%jTqF3P!D=*`5Wh|&wC82{c&aDC2dzJ3+i=l@^K5*z$dKNuakaH&L9+hG zlv-lqKBh0~)r9U%E+2Qpf4!@Z`#uTw9+*}zI?25u*M!q@L&V()Igtq}JBjtSrfB|# zmU{!yMD_Sa=-^B1@Ls87fwKI83B@$37d!A0TwR1G4zf)YvR@zt64fh>Au83wH&hru z9HUiwpHKUP#(lTXJGlas^q;iScz(_O&uE6cjf#AY|@-W|F!Bb!~C;gbn`aOyXJB$#9F76Sl2&;!1suc z4eFGV=*sDBj=vIJr!@`pZrnrp;IaJR z!GECNkJAwA@d@r9=)@0n-v{+Lt-A19qX4X1a39=h<8D>|xEp5kQ;xqRs|iAL5*L1u z4DN&2jz?{C5|_9V>YT(RSJhB6r^pq<-$$?&mk(-ilVY33gIR0aqU}6xb)7M@ZCXI% z_=AApO29d()a}gz!ftVsDIm`nv;o-y?YRHeD9rk6l_pkE#b0}V%{`Xb3;l+*6lOI1OkOlYe z{H%W7gm~`XnC`DWe$Daxe|CxGNKMW~{q_n?RoWz$$SH0>8yE0Y!E%8BF)m+CYyo~l zV)Gk_E#i`jYPYsFuH4fbmdgu3VDbw-lEL~d!jcNI8>x*e^29)M=>g)%d@!+vQzEZ& zBYYMq4%qfD&-tt9xW??iPQo6VOA8Q3wrd-6@ypgBik{N8P#?!FvA>Ed~>1$A22Kj&>2p4E=Gnq zI{0K@ymhwOAJ^|{vv<)pEGMGhSM#sPhqq%Q#(|>3fzLC{(Z@H(J8-E>5$r1!!tGrV z8NqfgmcOOR5gAZB7gNI=U3_z_1NT{aTO7A$DWc~}#qf6fhzvtJP5hi`_~vK_?vthB z?klLD=rM6HX{71~C*Ka<8)-uKiez$igT-1T`8hAu(|l}?8|6eUtV|sFB%iJoEY>E0 zP0LywIz3HEt#$e0lL6#$D8J-|sSRTMn9}KKL~4DJk2o3dNvKO|t<6V-1bBCP{seOg zWhLO?e7qNr-6|i4Vx93I*msf*>Ee^)-r(T;BrjfXE2_K%8l0c_E66Ys-@}!)Ksvdg zVDT)H{Ja;YCcnDJjddayUe;pS$<_ZgEs5Utd-t!l%Bm__Gg*XcdovLns3;9DbsV(jw?sO2#3TG*4qGCJVI_oQr`9gvQv*J~c3JDhf zAT^@5?)r-3zObOd+;~h$A<;t8Lapxj2l;AR{BM|eY?Lo9Xpk7MDk-E`$c36QTT~QJ zud|Sg;?+^<5LQ3k@-HE1J@+$Ie;MYt0+CPpXQ%Mnxu4Fw=Krww9biqR+uFmRMg(C5 z1!-Xr6d9EwAT0?ZT?A|+BP}8bC<4+UAqj|pN|U01lz^y!D4_Hj6bT}cPz7lL0wfd( zfj~k?`GZb9_ndR*oO|zo?>*0bp7pHnUGI9=`o6t)V)hO@Zf)jLJR~e%gh2iRo8bAB zF><{&b20uaEZ1f(#6#fu_%ZSqh_5{cAq_FIJpBpemFMyJ@?#ME5Ch~%{5fbFV#s(B z{dt*}#~@zn%ABdZ>h!ZKzY57* z_Ifz*H1w;p!&sGKW>>WvIZp?8&sfWJLiNu3Kx#R>8+bPFQ)8`S371&$SP^Md3RPPg z6-%v_LS<5`r7>8BemtgwcQYHoiv`9KJXr`V!H30Z3_?J_4PA|2!Yy|^9v z3xa+x{$4A!7~{hm`&aB;atKl@tdHrWYHU;IJWH>1Wxm0B`iG#;pxU4u2Ys88Y^8zD z6i-rn<;v7hsNYwb6u;G_`=_H1;`g}p|D>_FH#i=SMGzyXT_LW|rKPb?)iq7A4_SE!(rc`;E`8Da6$SyJ z`UWN0aswYJl`F&{y{4*!(#>dvcMdVXKBQM$WnF^qyR#bhg5zkY-kALW@`a z0y1yBfH)M349vAu*4=oa;!rF&F!$ywL_vvk-nHIx0G|^(iIU!2_N3o}|%Ay`UEfj>RqmbAy`@=~xUMnCq`(2E2ec7F!O?^;Fgc zyijp0HXE4hu7m}=0R9C;^)cGwc+ajaz*gdXGUAwsn{ zT12QeXD5-M$vHwK9OK9m30fR5aX^yWL>e3h!=9^ac8!e} zd`katkMn4vBSDIiV~ZUz#m>yFI3RM0@&2o!B@lf7bZs5THjOm5>>!&{+~OY?QX-7+ zpQzOX*~XCOmK@mG#Tft9;1W(}KcSYXZ;K+$Ejo;5SI2)DitGIYgG&}W`$uc*^lgK` z=Kd_%m|a}$zZz6B)(O>kR_-4dRMOem|EZR#XKO~9BRj}u7w7v229zXp_IKAZb!`nu zbEFY={~vk1--%a5q*cbF3;b6DIL`SSuX&ppY@ow4 zTOZQg=MnZeD|qj(dzdnUnE305$kh!&T1z`RK6}OantpRCvd89jf{4mxD{H zWrA$cq(2_3G3FSe~_N-)xj#;|*>D z&rVlM%&nambt)Vd420)-tM+}4s@qJR#z@T3Pq3W|34*KeJfvzLC2E5drPp-2O~Nbx z%P_|{Aqy=e3I>MdC8+jMzvliVxj6w|Vs8Be7+Of;Ei0CHy39P`2rZl!3`9(DLi3tb zM+|=TX9Lb~AUpCw~?*H8a! z?cbWkmr(d0SkYhYij>x_I!{TPW1nq=KBHT%B8$dU`!}AzF#i$q$}n%8|KTowSVRZ! zmHD5#MqYPT?wS9@jsCh^-mP{2S$px9?O*2otmOBHWs#o7vpMcrHuM?Saurp?QSIkG zVPej6{{d1?{qNWQV=sXQpa00q<(Ccp!%MJ!Sm_y^-oLRi$40DjnqVksBc`;IU`wJD zuh9F~H|AJ~Ku(h$3Yz`*=mARcJiUK)V~&XkWFvGvPu-YfAOcxUdPt}& zciSpOx)0-Xn%iW^-uN|Ok?y~gUI}x_@xiUcuQ#e=w3$V}#-UB>cIy1M+R^ zy5&a6iQY6bZDzhSqB|Z*Hbwa>V5DnD$+q4!Wo>4vG~#_cXUY`im#06f$ezT32 zfX-~dVjEBg1+0;SkMq(ziWfJy1sJR~hpslW2l-dY5ir_uFl-zI&jo^Slz>ks0(A&q z^jW-(`eGxYqA9n2#Ms^V4~&%fF|g8g?QgFJfXowiwM%Y7d6TaBH14VkHeG8bF4X1qPnr+nuDG=Rr1ddQAL~fW z@g;;@0%-yz=dsZ*uL{K{y}WW=S|3|N9URoi*=rN;j`epT=%@+DD-Z`moU`_-#@k|x zeBD@Eh}s&+N7PJdgLXzc*2kIk0BfU;JVdNMhLk3HVtqVW=ZV!C$cNP4_`mf%0mCug zW{z4fZP3Q3#o{%PB1F0-vYF8sM;K-x;s^r_b{v7g;E$8jL^e?YQmA`WfHd!t-6#&~ z!OFwRxv};UMYK8Fi4xMN$5b;(%v(l&yaAT+1S{vs^2MrZa6*VSY8+#t%~6gk(MFwf zo@k?itfd-Z(cUacEcz|!3iU(s&P&bdA}D-qVjs)p%%wMy;x7M zP&d{z7V6BpkA+@g^<$xb;*vfN)61xjgL<+?u>==ZBbMOKVq*<1u_Cd&OTrc`@294y zxL+^M;!r(|g1CQsg=Rv89_3siLe)7x5}_KLKq5hnV?`t!<#-VZ>KsQRK?9jhrAU{? z`xD>PXd)Y_a(lUXR5?lRODcLVw}^_Cq)2mXsnEULCse2;w~|WO%Y8v5NMc?yDDm9a z47qr2dx#4QkL6wtyAl=9ohDO!T;@p|9c($7rhsrZ~j$|vL5@|j!l=rUfTRK9SVO%2$ZJ2!g#uO{Z0~^ z=O+9whdkV?dp9Yc=O)0H8F71a_C=#^PwctOxVabjee_sc*VQPy)M={GA6vUB_ezOxd?)C2H_u32Qz^RX?K}6lFzi3!NNaMUZGTxu zT9XbNj-jYCHBD`>9)+JJcMl)iQCJ?XC&+V%OyR=m@VcFa)!|{=rZm1s^Q{ZL zb3YE@UzWUw|3c-?e0xph7uRq;+-Jv;wqLa2w)Tu_gteDC(<9wCF7D6 zK`9|G6d{KM1{A@`Z|(O_WE%6QFp3njQfOA9BKL0vi&~wU%uKdl^lcb7Qp;d-~} zc%KDwN1EB$%NmLXMBDowbK5+GI&$@`AK2p@5+Da*+tyFq8bG(NRLpS zQ#D~fDda6V?Gfi}AM|dWC2x+o!zPF)g~hv9Qy(Rq?X$W2(Bh1e@-+n$@Z-Wr-h)1G z*u2)?O4=QEPR;7I`c{nQNYB#A7Ui92O^2Q(^A>q4PVW@hs;PHM*9zG?rDX-_rFlOb zv+AwC3e&ctJe?iYY|MNb{0ljYznmw3)h~ndO{~MyZlb1L@_~Y@FkLqL;?yxKn*sy0 zNkT6zhzTfv7x)lpgOZQUDwtiRNxXcAc$i~@QWxBI6=uNRfB2`z8GN&?5bI&!HRF27VN!ArqkoiYv>}@Hs#)f5Tn)P_6?Bzm5N}}Bq82Y=PCVCJc8Un- z!KG+|dKnR#<%&D;nmONpIAzhI6|ZfsVc)Z4rIFu@OV`Zm4T;ipl8?7FC+_L_0zWiZ zx9G>an`>0}-moFc_TVU*tX>>ib4AHY_Hl;6)ftaM52Y+Lw0rt29@Zwgc|R^n)AU#PFk*gA`|6A-k9vyi!Nv0^E7>O* z(wh|QBu~ww0`K$GUnwceuM|(!_*Dh755~oRUOQ;SzLG92Ib#~Fhf~uⅈOoO`nk6 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 kF(bDGz&I8ukLVEp_O{! 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%0AU+#cQOv^t8BJ0Cp~cxN!EJIKgC-0pU)Pombc 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

H1&_R4ar*@$~iZZxVUgZ%rL~=?~jn8&O{9 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

gJvX5uAWM5tFYydg#Xl&w)Kjc5W$K7M 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 z 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

  • JM_m#yyT34u!e-JIVuQ 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%0A=1Wi$SV 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 XsEQCC<(c7GCgl15EEZ=a@aJIwAp6X0 literal 0 HcmV?d00001 diff --git a/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.le.gz b/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/locale-archive_broken.le.gz new file mode 100644 index 0000000000000000000000000000000000000000..36e7170067b3e8fa38969a905f0e30a1f743fbcb GIT binary patch literal 1432704 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≦iFZaXO)!MErK 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Ⓢ-)gr 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

    K5PmR`O5kAm{&5}&0SeH_b{ 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 i5>^ex7SqWVz{&iPtuRc4TvnK1aakWFTOGQA1 zX@ysXL&cg3s|w!=*NUJDlM0Ut`-)W+mK8n~E){_lW)eJWsgJIwctm?pZbsjv9Enb;d-3dRPC?dZ6Bksqqo0wVt)ID{lb@-d zgP)b3tDlLVy`QC@i=UaFqaVr-lZ+W;%8X?jWbU%VG83VfuuK>$G^3#E&^f;BJ7?}> z2N_42Mp{LhL|UfJt+cL0R~l8?R+?8jP0SxWDYF-PQ;2oEoWzX8vq2_l^ClJ~xFiG) zrphdZjudPiDW}G`-KgC>&0)fM@U+ZD7$y8H^rukkCTb_1P1MPAYE04`C(wiGGBY8H zqNQN!@Hy$mfinVU2hP;aop2gVk~s>o6mp$7C*4FlZ^CsjO@<52lf0nl4|#u)bJ47#c}3Pm=pv(J>t!B;hawh59F3S4 zu|L8uB00i3VrRtih~p9H2vP(-f*D~Hu|C2rf)ZgHu{&Z##K{Qrh;6b|;U3{z;TXlS zc6l~8gL{^n#bxh1voAYp=Ixoc=Ty(%Z@S-Mztw)%{U-bE_gn6F*>9F?Ua@>|k1ST$ zObM^OoBcj3%JeoWenz!(vQ>p!g>A)(!Gp5X!U2kZ?eXl-GvkfpEvlVb=OkMW?w2JB zdxi6aMZ*2UR-vD;QkX295Lye*3wH|N2$u`*3XcoF3eiHIkR+4~@j|hXDQu@qQBrDW z)qc&k%C^e1%CX9@I%}0>#V$BgkX?{jkW-NH+0@0d+QrX08I^z=B*|vVHpx6?F|xU` zy|UG^pJa1n+hxmS39<#ULo%FF#?3aYlKw&+<=9XdN`X4?G91(n8? zb`!G`91_+fSS9!l?v|~S(Pgt_TV#u5M`cHZjTB-nFFVLI&AHOF(qUrG-~m~ZFi|)p z?4w|7N!c|s)0`$O63i032lvV1g>4jSZE{_5y*#_dwB4lLvfV7rWx{$eN|q*6Q82am z>>+mgOzr#$^T8Q|3kPim!(?$nDTQ1s&Q3SgI!{;)M#@rzN(!NtnLRaA>oj3G7%rm< z6%;mwRjbdQGSybgU$+0o!j`%{P4_;rqiGZV=4;r|mc70Exe2nhoZdc}-kMBrsb+W0 zOPX$15>ngo7o^8o|0;p>;~Q~xuR)s`Tf82<(x@Q^5#Bl9-{KD}A zqFF0>(9l9-^!oGoU;cqc2>*Hf7x536o%F=sP2$xbgD;X?dcTOO;OqUkmt~^auSVOgl|^M*N;dqd$F~fjE1Qhb+M?uJ6NKp;LU%(D@z!zAR$j7?RXygP4Y3lJySIR5m zmGFu5?>hK8=~fo<^&@7;*MGG}j-swpkB=!*DPN|%3(07jVOw{Wi4yv_SF4q>q^2|F zEW6YfwFdw7?h?OY{iP2Etal2S#bOU_DrMvlLk zi!W}hHr=B>gjUWYA|Ir!x8OH-eK!58Z}iWAS1Dm@g9BDMW7Y*9a6g-LIe*XE;1X|W zWI;o-)1q(j?MMIhTpr`=KCKq}qAGXl*SvLYyFXbj?@ykYJa+;+IDc^MviJMSBY%u= zjyM>xE`lC0OBNtJCrqN0M3+zwL?57hi2gtchz_7UiGD&!jZUR#qBRuLXj97B=(Ci~ z(VHpHqn}f}qP-}6bs=>j^>5fwGpcR&&)Pq4zx96fexv=i$+i`C6)Oi1M>s_6i&ztJ zI>IVqM}%)gVuY*AOZZe6N-3^e&W~i2-7I`(e{)}(U&M;(P5N#(eEg$qE}HKL_eS;MJG|lqQ@wzy02{C zGrrlrnZ7weGa`*6Eh1;7*-Y3BQe>xO7P1hThj5?py>N~2kuaDt5IsO~iFTosMwe1J zb!c{wQJUSv+`(hAd9wYoRl+!mw63zQvYyATnUQ8YVK*2n^AWlVuM5K|f;tkr#;D!2 z-73v~VqO9&0h@psOq2x*Qz*(hIXiuZ)}|6OVLNz4<}EZ4W(hY6i4=Yvo}F%_wVQAl zjFm_0Q^Ydc{-7$?ID$rMQ)lkJ)_Wu&#Aa2%w{2tp6xO(BcY7~M#@^)LVU zEy}UzW0d~reu`6cU+v0gZ_dVM#^%Ik#GZ}Kie>kl>B;WN?8)iL=sDYy)x&l;5$`);c(U=%Yn^3!_B^K=40w(6^KbT8r%@!6mcLTAR;xwG-9)CvoJ*XN|;aC7rl@2 zKKeanP4pVdqv%JJ)6vDX|2|uOHfmP&f@IUdkcc4JKH;Qrmhd*Et=9RObDeYj-Lp|< z)#zlC!7Z{K!bQU0g{73&(N(p_&wid2Zyj$GZys+NZxwG6Zy9eEj~bXUFneI;z?=c& z0gHkE!QPtyHI=pN!kRFT$`oc$Q9vN5D3LIBJ0K#^NGnky1W<8+pg@SsMj927K|yGR zfGw?jHUUD@!j>^4kRWJq3{k=uBFK<5p-GGZ^6zl#^WOTaPSyFV{!^#!y;PBxl{LI; z-0RKrtYIt7Xw9sjQJqno(VT(KsLv?3n6WGpm7~|q`m?>*mTU}r1N$fT4)!Is3i}Y- zhJB80$Ua4`C%1%iF=7gx#?SJ*>i3J^HNWeA1ivi5OurkiuD<%^)wNgGUlCqqy~=!b zV@SEhqH$g0hDMb}L(#fu)o9yjquC$W`^Y!K`@-!ocH#Myh}sb0g+z z%r7z5Vy?R@rI?BoW_{Q}YL;jyQl1T9hmkwNWt2Qh9(5(l zEYs}9;|rIXA76h=c%1b(^YM){SBcO*6<1iXYOztVVzGX)X0cf@v{<)Tz1XB!xfoWg zU2JiD-SG{_RgN1TS2(VBT;sUuamaCa@Tam0Deg<tpo8VV&DM z|JxBlSmu*vxTKL`f^*GNT>F*!AN)!+5oyn= z%-YO`v3IgBqyDH4XnIfHP5z6VK>mlUL5{~5g-=p1KuHmlZ2)HaHuPt6*BrIkvW)5l1XtzL}*Ckp^^cZ#ueil zUPlehY|~1CHmWz8h_=l-u+7<_Y!CJz8IKWAhcnx>rRzkSqCID~uo>h4j50XDhIC54E#&f2jD$g!9aYI|mywsgH{%d9oKpB#qipr&UoYq@Gjp(5*9NA?Ig1LKYH z4wq5$I`e2pPsRTqKV7X68vl7hV{DDk_`jLZ_z`VXgl(iFIYx0G$_m8nj6dQ0wjt%MX=XijA8 zmvj)81U8-qJ^2SE^Iqw0y+M!T%b$$A7<^A~ODn2UoiM6&i?Qt2<9&f7725<@^fY)U zUH2-t>+M&aNUC&;v~=9Sn^Y1~1Iuj-U^&8 zk}otREIqR6H|lZB6QT*NCyOSvCiYai1z6VU@{*uQLpJ@e9>*Nv5@G3QBadMPzvA_W3ER}$sXMl|Kol;zQ6 zHu5m#)v)vOu#Qy~1FKbx#@ zR+z}6y_BoyHnrZf*Dr+BqeZdW zq>%|MQKBHeP9A@X->Q~esxdmgE#=Xi7J8XL6mFbSE z6WR0H`;*EkU(XQScBY>%n$*0VVN+mD2MIO_lpCxh?E0!77;3pA{g`FI?F_44btQV8 zJW+LJ>ra@aN_nD~BAC|gFpD0U^jkjIC-WxIq==>KHjV~{viKZ0M1tq~-`0_DxR8!*c@Df50r+5tcd@I&3<2 z>`0FSRgG-qo%wN6S+2i2Fw}X+O0L(+h$O10ME&-N8K@tBAW8CC@&c@$>}*l6%Iy)8 z9+|5wS9pssAFB-3BrR}w#}1Dmi%D5p#%?d!6s$_@&;mUzypujq zzGi}@p7egydJ?l#1vb#iPelW2M48rvjF_=MiAecsA+LaTV7kxLQWB_NX4^ZXM3)(Z z4UoRA*HQDf%pL3inE|gPi#Z}MHZ3qc39}R?*LveoYba)^9<27lzQ9n=9UgubV6mT8 zw*G)gZI=7`2BzaMso=z6SmDuYqD+rcpOCqC=QV7bn+wc`_+S7Ee9SmA?2+3RMbR9ktws^OIcz+=iC} z)6Za*-hdfp{4Rcqds=4IHz54^_+}r`g`A)h^Hv}29Q=n_8l-mvZA5E&M%H8mv~lQv zSxVU7->*+tIJNv};nX5TVg^>GK>N0^8Y(HUi8buG;hn_w^4Q*6r#=Br#D0XOVVhXv z9_s^14PG95dSf*woF26%Syq_w9H5dVn^=<`n0J!Yt9^H`tCA3Gqj<}(jl5G($saZX z^PYi&Ndm8S+g_=XkWslL@>==1Xk=qg(?JQ5u=L!9`hhPGSMpl!j336BVs{9+@}>9IbTG~nf7+uNcjd=WV8UJ#Hi zG$*89C=zQ-ynECdY*}H>YlBK|+X!@fq7Ei?czL+?#%fQ*KWfdetT5r>6@*EF9+n0D z`9fEy1T55!f)NW|CIl>rg=r7$prpX7-KO`3lCV3_!@j_C1CIuk+_kaT*i&*)(&N=` z-|MX?RIW@-u*|UOWhe-5R4&zewY$kHs2`Y)w+u7laUqf|f$0I3Vfs8SR5EQ-u>ov7 zNtf5kIe7(V9;L=vhFS1}Ad>4g6~;Y?gOb1G4O^uwd===irN9&1@&}c013l~tJU8+h zppwEs59d0-Q^p{GI` zU@n`K#W=m(Qhw|6#*2`?B&X(zIl|I{&4_M~wzuR4VF^`~q1)4-g-j}4Hk~|H*}C7d z&VqLaDp>@d5=(&|PZOFXu!+^_Q9dYPd$n)wEm0JfRHp8;%y8|k(3-IDmaNFFuc!8e zk#a@rvU>sSrtqy15pi3H0H^O9zO2S;C8bE9I&q^iHP%wLrMFLkC1^gk+^Zyl29u! z{e-2!kXNEC^bbrwU@0)=fwM6@Fx0UCpDV0}BsJO8S@g7cCuMpKZ|SYmnsBdNdf+u| z*K49A91a||DG+B1>4er;x#5x?kl+YQBAX760&%|3MEj=~czJB@4N(x@2^`*4kbg^foRFGO z)TA{L`KZ;;vcs--P)S%HI1DcsAzoQ2EPLml+VRt_Z^Ms#EImDYOO=GX0@Fh*>-2eZ zP_UVXT?(4=g+CBdkISF5zRJ`eEi;h4*2=;;`H1Pzu?FOl?2@;n2McCu@QPF(-m5 zR)&wqEI!3DKfSM!8tk%oxp_EG|KD8g zSndTs;zLO(JILh=k;Egm(KCq1p_jG^;;v@hpsB_%F4j50wX3=CC<VfN3wCDY6-;*q~jBEs5YZn3h7I+XMHTC3Y{6v-jF`& zZkFu{2JxSZ0l4kTNJ#|o58U0by3O_cW3~y^UCm8Zuje+-Xlaoq&FYzddqw?3a@zjd z$b9CuYQn)TWWFM@G?Ew$B?cEJ+#OV^>uxTDG757d>ZITc!+O)<3-o@t4@o5f1zvgN?2#q3DDCcd~E z83G|L)-&JjxtpOe6ERd{n}DDhNY8Q3dvq*7OM>-Kv8a=qeUr`I1YHytOHA})ZgxVZju@VwNM-D=Wq4mr@0uvlk z)dc24tI3D&jr1$PT5=h%-KOI6Ubbg(*>BaNCxI}9gnOs zd90p!kKn(In*76S@&T$U{o%VEtn(YDcHhE1P(Z$lBt9Yd=U9!{{qYXTI=^u$;WqB1 z5|S86%p>?$psL~@#;1_pZGHWvV#4(x?qD}E6G}{pByJ=yi%?OgA38a(jLfE9x@8J> zme7$6P~wfdsj`1Dx70If1mX{7$CLa|Q^02{L-a4szGp)u`sc}jpmF9ID}Ngq??TFy#~CR2LZ zxLpeJx&1bQnN;up#H%WSROs^hx#bJ-$LS&;q1iJeuP{|W@_%eKqFo)dh4ljVEpO42 z_|;PuYrz;3}0H6jqNyx6LzHN2i%*k9k-UXocl+RE%Ps# ze!uYU;^!BGgOI)pufP2x?Z1xe)#_W{r`o63r`ZSXQ}0vm)3#e@r(&mIr(p-NQ?paD z)3RG{r|PPGTno zEH?AI+ospI0!q&GKa(Qr)N=>3E74(1$a~g#CLbQT`H{qa?_E8~WwDV-aeWf_^r;Of zrud4+8FGJdOzL#mi7AAhBR&0M0sM8+R+f*&)GW%ZjSrbwI+L(uwpbAvE6~g9I1xo$ zLG_N!-@9?_W_e#?w+!$8=l-USmzT=-G%xSz9aN@+tX%fI47|{l^7S7l5TZui1lgT= z7ZCfWGHnE=hG9EE6b`#3gcDkSwhw65j>>f(IrAuVfD*U8TR2f1v}YQpZa?`JRnCc< zKG4P|@OIzgy>OVk{;z>81pl(?c6k%rtqR{jFpur0;}rUttJS_%D1E#-;jED#kJlCP#=*M*m!U`xGX;5+>iv?hl&?rRIda#g15q%LBUB|UJ+P@T?1{Z8^dT%2 z+f`zbMwUB38KUp6QCP(@6PJcF==l!hy(p9JLx!e6D z?^Ksy#ZZfE9=h~p>z4L16X-%-SKNbbPJ)|`lPoaf`ZCswm#*V|UpD-Tw<>ba>YjXS9P^ODRjLsLlS}o12FQ{A4rn~A@x$0$lMDCSlyy{iD>a|oLPbjqobKs1O ztY#`ffGS(@ZgQ_MI@k(#Cgu4h{U&$9z{XpVdYFOzkmtmcKc88Y*3CQHFM!-xow>Ys z2IP-&iQ;Fo?ACO7VNK-Dr6=;lBL-m3!bY&W#^-TrU^JqZQq@>E7}b%JPN~ zOrC&NDC_1oB#g!%+Z^k*@ILVnKfSrT(L1hfxPI;~S|DPJd}Cf|f7?`;^>`nYl*wtW zNk!q#Ko8G?5q+LmQP@(swBqFf?}aG{Qy!&;TXrCNEmS57D^q z`z8D2fZ5ZuC(2tQ^zyLo4OS374{YC6(4QmphJb`n`*t}YlrJZM+TjI`*+NaiQm4&` zVUNWv;VVMwfg(?X9*b-tLr#okY%ZwF7Ft6kpKLO=7kC=;0+fZg!1g@_-~$*#SgN-f zG4HX+7fwPYL4n}QMnEb9WO1f!!t_8AOOi=QJzLaaC}(jpZmqH-yxHqI}hfSZ~QG!cv=jI`h0O zY=KG`fgbPzi`&8!h$IT62LJiC%3vV^JvJ3&SnzbAl7K)DTRC@82$hW4ROs}`ZV5XH zOJ8jI4ZtOUB#~FBQ?ItN@XnigLB5v4oVnRPx$Aj9e6m&YPH9{VLbba39p+&NvFQ!=&tHjb`{ zd>lzsdN%Yzzon7sPT-*pLzqQgRdFOIkJq*)9nNSo{87e=hv%1Pin>JKh`#$9Z|oaOD~KuAs7HRzaLE`C8t;y~Wa-J~S3 z_Io&AGT(hCK&4FCZzAYXDsJ?${Y~K>0(j$3o#sT&rS`V%c?$hz`g@l+ ztVA)rqOhk$Ast`XBUMVzxYGmr!0z-Ql+y){YNi>R>lD$MNRF{>i1`dJO3B{r%GLJXMeB8oGOVBIRB7 zq@e3LebBN$S?*yD(9z{i^Ka7_c zp?#MhqpTB%9}h=eig}kCbt(7#Z&8=pKKWMq#|>P0@QnXH?#BVIev6d$9|y)9^g=2? zAbv4YP7i!QRi%y^XO)1%wn&Av&{RJe5jNUBoEuY74IQky94-A>ixiN_{;MLnieJi_dY3Pv_!eFj9`*pobB3W+6G6Sgpva z3XD!WuEeTJicb4+Ac~W$G!T^vPYk zx7VM4mLIe@Q;+S_Ywn92I&PZ~+}&IgG*z368~pwCDT|p#zu#JRvSLbp#K)5cJ+k=R zsCvgRw&-WX^w$P@%ZNM{Ub{*z^H*iRpFGm% zRcWv)i~Yly-#i%=dY?)2*n8*9AAqn&&-HnKu1~o6gY~j(4)c>q`>D14wGWxLGt>G(|=;D`d&TsA$<!b zDdU6F-@x^5^MM8ej&Bq)X-|-TGMPD|Mp^*aiNofoinjViA0$}3lU)_>yrNP`?_9|q z#7HUX?MR&!5@xj^y(dfG=JQ!>CtF7AdS+~7UyqEat9wLXmelip*Ggz)ASvsXp4;AEu*~+qbDEiHg>2dy4|<)y`!cCOmVPkDz1E-L|7=gyXNc{qK6u_MlcNtx zj%DM5KnV`Gs@FB?29uiRx8xq~rZZ1=JBFCA%8jeiNG?;XQ#=Iu?A$xQMgaEF6WU0{*j{9fpQ<>86*kO9NP;Q6G1 z4TmQrkO7s$;6bVk-SQqs4YbtyPOvKa9eD1<=xeEPe|p-ev0HZQiP2BU?ADl3giCg7 z%Bsv5HAZBoUK;(hCp$G^^ug}zrEFvdMD`6<8{F7;RYnWU) zs4SlKLQK+Sh;^lZXU`ldyW&9ae|ju`S*+^#OGbeGjKHX>7#ER3WLE_&;it+T6we1l z8(G)Fc5Oa+@NInRhki_2-piXFCHwPdx{$;d(&?}_$g(Q|CWbZM2ofzjqxvyf>wMI~ z3fv1_7=2PP)9oBdTc(woTpnsc^%$uw!aAqaN6ruZd$ z`b`=>H+0`TBYm6r)Rs@_*7SU-C${53{h6{WbK;!hJL_led=(UhDnE-Doal;w)X&Mr z&P_f0bt*AORJ9XquYs+PasP5!IBi|eX^E(t&wkO$>_7dn#OlPPZT+(6bHRxp`>IXA z7y2>Mouxl4pGzC(D({yzlrx;t$}}VT-0NR`+t0Z9LgrafT3wk|8}b)Px4&<+!7UN3 z8`Hpl^VP}Se^@VfW~2KP*ZxcBJ~p5$M(E6hxZhuFb4Y&aUK#T%`$^QoudWCCz5ChH z)8i;v#zz72z|4C)Wa5%6Nn2nRQ{fRMG54^40j!VOi@mbDHf&bnSvv6YmnlPB1oMMk zV#SBM&-=H&`L%23#1T5_cJBQ<)cU{g{3|7*!u0Ns;x|+C+Sz6)%+oC~Idsij5p5-E zFF*I(h;Qmju4hA? zAsQQ~WL$|b{{;Uwd+(p+ahcF?B-fm~qm|!3v9ldE2eYP&Z@PzN*C)3R=jXb-OIysG znz#OJHQ$euWq80c4BWkGm1*#Kk5p$ydw=8%%QN{^;$b0YDQuYAezUxE>t{UU58+-Mt+3?SYRO(c4I0sJLo}A}D%jH(eRys^A;`R?>6QWyQ?d^*x zL40Bygo$Or`&vsKPs;Y=&qZ5EWD6fXGyc-D{v3JgZgk%TLQGQVKWyDdC5$V5VAJzC z)b>Ww*VMnG8zWzws{mZ@i~pSXynOHOZO?aUK-_LDdOm1!g?SoXGqp3|W?MzYTx2^u zd3f7?LE(!z*8%Stmz~K0hm-vuC98=)*qrK?}J?8O4h-MHkd2i})B(E;TTe#_`+2zVOy+bdam zRK?MZi>0z zbt3PTuF0Uto?(!e8-p*7?9a)K$taHOI~Wvor*DaiI1(qY!zb)LZ=DSN+ob4gtPgnG zqj2Th!9Mr-kP@e)x}J?g-mKlWGA3`*-+Hc#YxaQJ96Xgeec2pbp9W|zaJ~s4Rt*kZ z?sY4p0igy%GuM2fFN%CBD#1-sR>4M?*Q5zWO`l$Pmit`v&wYAgaw6uV9=!;aa^XnH zr>gY6QqHdr>ZMN&hWY_Ly54gC^64YEX~c{*w#i#8K2#Ib@q=e+|CNC{_h(_hh`w}* z>`mrijJqFYx8N-FaOSciVaKPN_z=;Rjf^q`898l zB-c#rn<+%}zRE@SE7zq-b6VCF4Z1Vt7AemCbDeor<%2xi=;~Yblg^L%9Cm!^(I)S@ zpi|4kj_vL4k7`Z;_-SFAz*SyTcC@JOL6zowT}5d+-w8YCnsZuYqk7X6m%dxJec8%@{G=htC(Z~Mn} z_V>YvE0cwSjQPvfjl7So0eMrYLern#g670y#c?vmJJDlt>G!|1f6i?aJb8a=gX`JH z@8{mlycE;?>z8dGC+%Nke*^suLq>|4(;{cUruCg|^L)&2GAj(jE;XDSU?={1j~aKe zt8w4qp#$>jHibpI{{DW>d{E04*D>?!QXF^iH}B}@C*E%B;0Pl7jv?AP*2Rl`v_6;AsYe|`mgBgJ?2WZ^pgpgryP zd*IvEv`7pTcO~2Vgg@VkEdTbh^zHLoCJ{q%wzDP(?;+g6a)12_1o-C+&+OtHs1s+@BE&GP|G)`KJb3`(}*s-f8a$^_ycY!_jFc`k!`BAF9zBG^}tsUwV)tAb2s!mP#W7jv5UhbW|T zTIstEZRET96A_Vv;ICayeSJ)ST=Z{jc4CxEg%@|OCx^DS)`g-JN` z3sJpKp--a^(x=v^)c5~wWe>v6BJU#qNsc26$!g?V6UhYf59ChrCh~9OaPk;=Bl!+Fko< zjUn~Yb)_n$3Z)vQkW#f$rBbcZ^`)w%ilv&R&{FkMPPT8gF!IjhNrv$5<_auX&6lM*h) z#L|WdZR#o7B9B=p`v!TLoR6`fc@WI5n*CySElo|TA##~jXP1!cFk!TILYlf%OXNPQ z%+4oQU_5E*gk?3UrpR@6$E-HHg4}`0psf(h2xeK!>aI$zTE5Tb6MQv&p}y+A%D&ot z>s*zKHzvaEb?u$()$Q%Gh_s&1=A89OC7#8N0`f+%WTt3Q5L~x z-Puwyc#j}eMDw_orXf{GT$i{ZQAK1s>%^WUJ7U79?bp&YrAi`)Sy#50Y=QBlre9mu zkSdDoW)W-wnMU@+WKdVGEo(}Z|JMrC( zYNu|eY^Pnlu3Du<<+$o`qr{ygHPUvHF$qahB5flXkeo?cvpT3#?8oFjObM;_>M7M~ zqMU|z%(o1wA8O<87YsiC`SK$sAhwvIq zO?V6@CVUPv7jA|z3nyZT;ioXC!iO+J;qDms@HR|acp4@xd>PY3`$pqm)x0{SYNBGI zV4`6HF;O#7GSM zjoByJm1G=wk*rD1CHs+Ikr|kLTKQFX)f6?+?r8OByICW419=iNh#3s;r-fc^Q%O-3 z?V8nRYq9;=)#L$89c}pP+_kyuZK^5ijmnL%Ms1PvtQot7EXD|E9#_*;2DPOsqMft4 z?Dgy)*qhi@WYF%@+OMXmO4USrW=+^lWC3P`mVR|vMXD-tnuW3J$Rn5znig&4>awa- zU4)pmU~gmxvOCC;WG?yV(zO%DyVp(_|NDfod*Xk*iRk~33lY{%82_hF7*EfynTj=2 z@!eDel&#&JvvzmRzwgdT7OtU+HB|Banzf*{>j(a8t{?c{@|v}Bk2L~njez=2K=Ia0 z#hR)3ZYo%7sA3IOd`A`iYp7!FM$Ydyawdz`OvRe1_--oV*HFb8s`!3+b0cw$fLbG< z{!KuAN?%*6SbM$8zhCb%Em=bqYpCKos&HIG6>F&Cf1--D9Z+jKpc22M3g0zUv4$$X zql(bAwTiXPvfnq$F7~e7s=s!t{`VKKn5~(LHB<53R3w(K5m0Lc)V~R+#D%McNcT^FwW-8W9#dlL7T3gm$GZo)W#ix|D9Z+jKp#HrB>cYqx#$3ag-!W#> z+QlAg7khaB`(lr__%&0pW-9(|DyE0lHp{MUmi@k2R={n2nV7Hy6WMSGyr(d*Gapf{nz(Hqf$ z=$+`xXjQZi+7^8tZG=97c0nhh710OKThV9G`sicmJ!l+S6YYm~K*ylX(5KMu=rlAG zy$`(w9f{UO2cezN@o06lFWL@$5p9AFLA#<;(8_3Uv^6>k4MPW`5okPG8y$dlM8~2n z&|zp#bOvV~$BSdh!EiQke&X!lT;iy34smQa=QxHO6lX8z3P*vnpJT;2&C%oh%-PLJ z;An7;aO^qJ98(UOHepnpQ| zKwm&^qX&=w0YIv>N&_dOP|8+8BKjjYKD-mCy&#+t6px2I%8xXO1V3aalI@CpT_1 zZai)*jw>7$jtj?xT(wcPakViu?yb>VfCHo9$m+t@bllhG&RPsW~b&yJoQKRb4o`+4;9_~)_D zT!T@Aaf2}fZt-aGc=1><_xR}X@#AC1xvWvvIBSf>bslvdcOG-*HjXxqH;y%O6Gs!r z6UP#{qEXSfXiUV_8r2%t8q?zDjpmK#jpcFuNBzhB$Nag>QRX;vjLC(M!pGrbaBl5r z?Rf22Ef+hA9mkGgx%^T7IDd@KH6Jw}Hy<ypQ7=(Lm^xF8fv1{BPM}HjuaqLGf zb(A_z9iwtLk8U2{JhqwpX!Ozeqp?Tah|!4gh_MLn_~`if_}DmCXH;igXH18Ccl7S~ z-LbpeqoYU1kB%MXz8!r#{&wswch~5y@m*uPxPOlRIsWI^O6PKpRJ+8i1X`k7qF!QB zqFe$i(JrwFUKhL}SS8pnSRq(1SR>dp7!s@#tQKq>tQ2eztQBk?ygqniuxhYTuwt-& zux7AXFf>>ggIh8Vk1HoVT4db=p!@{W(X)k7omO$tqV zO&U$6O^_y?CbcHxCZ#5WCaos(ru9u5n^c>OniQM#n>3runxIX(P3lc1P0CHMChaB* z{5t#wyb9hBuYlLXYv4`s5WEgv4R4HB!W-bV@aFjS_>Fi~yb)dzuaDQno8h5&UA#Kp z1h0&T;kEG=;&tK;VimEWSV62O))1SDAz~e|n%G#ZBsLIhiOt39#T&({Vk5DlSYNCu zHWNd|x?**)iC7snN*{r3fT_R?VG1xkmm58DV+g@G?b zg6YFFVP-HWOc$mOGl40?U@&c%MajC74J9fih9wFmdL*hofHTktBmyEp3&;cf0VV(kY5^?32h4$TAQTt|Jb-o}9asU@0|ej) zpcB{x{04*rW57n>4iE^u0d@lQz-3?_PzAC9AK(RG3p@qR1783m;688y_z1WF&w(UB z0w@AmzyY8e*a|!b&Hy|>AGik`13mzIfM);>SOheIT)+=_1vmgTKnySkm;prK6fgw1 z18qPWuna(fOkf{C1GWH_KqSBgbb&%32zUoL0S!PrumGq7Ie;(F2iO7Cz(rsNFab(| z5MU5+1zLav zm;wxeUjY=r2KE8~a0U1ZC;-0z`++XN3ius34NL%fKoRgW@E+I=`~@Tc{{R}mZQuy- z60iqIKs1nXNjAPhJHy~ncwIaykIw7lb@OOEhCW5VOP{Jw*YDKt)~D$+?osY_-J{;4 z-|M{BeUEmJag1`T>lpPI{aEL*?qjrLj1QC#T_30)=pQ;ibbp|IVCDoixL*LW6 zr+W`=591l-S=Te_Gy1d6XWh?e&lorgt_w%S(Q%!)ZX6BASfng=Em9Zhi=B(zi?l_C zCPlMLld4JA?9}Ymq-ip8DY;#_)LeRQXKr^cEtla(@$2%V`qBM5{kr{VevDU?S6#2D zujsEjUvo7%`NXt{7?zJ*G3J zJBAj+n4`>f%~9v*bDeYDbF?{z8O5y2jA}+V>on^&qnR;?6k->VN~9AziQPmRk#UN0 zs_PW>6#Z1^sqRy>Q;Z?XP}dN3h(6Rg)ICHSVz^V>yWFYnboWm8Zg-kHqm9zm)kbZj zw{^C4x6#@dX_U0CG-?_>tuw7Vjh4n(rYv_YQor=JsSg}iysz_JtRP0uyDKfGs zSzTGwEP7UFR(BRHi*bN*pz8qj0R2Gcf$jse1B`A;cUL#Ho8H~o-Q7*=W^AQw?b=G+ zO5fVKwR1>CcCU9Dy9hT0vqDz!GXhP8WZ6>6<&^=fz5YSh}-n%272LTWeH>eTM4 zRjb`zYg~)0RjS=qYf$T4t5plHHLvxkU0=JYc4O_%TGd+HTBBN*TE*I}wfePtYBg&e zYRzihYoWDUYISR!YSnA)YE5cgYn5xkm-N&kYPD+}Yb|O$vFosw*bUenSQV@d))2cF ztAMq_>S1?dHL&(rQ>+^ng58YO!S2GUVYg$Au}G{Eb{p0J>x|XH!m;L95A1sEChSJ+ zPOK`{7Hfoc!75_6V)e0mu$ov0tQpoF3&n21>SCR+>R3Ch3Dy;>jJ3wXun4R+))8xg z_2jSPTk<#XckosCHhe?=UcLg~im%7t&DY@D^G*3~d8^K-Ritzu3y>|_3>e~K) zxd;(aqoP1W6A%TJOS~XxiHVj1RjR2{ML`o05fm|rR#}ln0z?Ib7!-k8YEp4qYN?G@ zkh+PvKn(%Zh^SQ1Bqd3yrI?kVuu?*Dru*OD|D69mXP^CMcR#-H&3N(*=XxNExyI%5 z9do%Ld{+31@G0S8;d8@Rhr5OchI@rC5BCfY3HN(RcqaS7!FyVy0K0$Pq1Q{v8+4HJFErF1+2@=%dB)}I?Kp3vSu-7u_~FBtS!tftjEm9tQE`^ ztVU)d>j?7*>oxN=YYKA;i_heI5}AptZe}-YIdeJd2J;5%F!L~Lm^sYyWO}knnWd}*W&*2|*~toFhOp|H z^{gyr7Hg0>$ns&G!5Ux=uzZ+4tZHU8D~XxJ>S6Y96tU<`I!nvcvM5XnOU9J3xJ>7lwmfH6 z0keR$mbsRtU@BMv%mCI!=0#R2GnMr-^Jms{=5*E><{8!|<|bAbvx~Kqxs-LCd7Z^# zvRG!OndQOsV3jaSSnHVUSnbSq)*|L2))nRz);{Jw)(hqf7LJKyooAkBZD($0J!Lv{ z_B-Q6ou@ksI!iiFbn-iSou!>coq~}3km8WzA!Q+jA*Vu4hMW#52q_6U5yB7Qg_MRA zg$U~N>x=7;*O%27)}N|BS%12|puVL3L_NQrS6^CRR4>TN&nnJ3o>i7rm~|@aWY+1d zf~=CP6IuK$URG&VQI=pZf3SG)_+Z&!;ozyklY^%R3kFLDPYm)0d4r{cMS}vre7|D9 z<9=m+g?^{}PWqkpEAT7vJK@LoPfSFTbz2?|5HXUt!;= zzLR~Y`wIF>`cCxm`*?k&eMNnO==|v7=;P64(S^~cqEAMjjxLBUi9Qj{kLE>}Mi)g3 zn)92Bn~yh_H5WFYYChR~y1Agar1?ZMznRxu+FaBu$j#3!&OM%6mRp#6D)(gW>D+?c zlH3!y{9ImcX>L)jU@U*EcU66Q-f`sG0 z5+uejqr{h#|6xb(xZ&Hx4Ke=}ZuloJ{2zAojvKy3+>m7ZuW-XZdEuYzsQMi@e2chY z*MEf@{>cmfhaJ7+hHnu!6#RF%;h((lPj;04jvKx`+z_(-SGeJyyzozU^o|?8P28~i zujht(#{pH0i?6$r(=|W|vg`k6qTmfNc)t3}_ND(XiQ!$Ec#G16+WwcyOaCi9{IkUH zE={~e@)BhKOVh-k>EWLwhIeV=ZAufRe`%WdQ%?G4iQyeNev8O4&Hk5?{zmy#RNsRw#>hK*oew)Z~&tFQ8|0Kr$Jazbv9KS{6SYrK4$?>1W_@AZ@ z-;v{{w}>1M{dMGcgd1rHaGvbyS-C56JD z1;W2Lp75?vc$*4^(Z8fn__ILxSH~0H6$)=rp#Y#>UhFC?cgoa4n%*AcJQZW@Gp)hyweWeBJBXR{UzGLpPIqHIG*rMJ9wM4gX+IT zJNQ#G_*cgh-f0JKk#->c3$z1AMht$pe9cTZr-Rvjnxk3&_nQj90R+>l3el(GhkgIu znf7;0TS;u_dyx0W1ui)RDX@A!=zCBIjOOcjKciQnE zdb<^PSHYVXn>haMnf7;0UDfVSDX8@9fi=hhuAkd*Lqc;+r2g#MXv+XP0Cq#HIxG9_rd!d~ls%!F#AIGb1)SxR>1(UVL;@LqhFN@1awfNwLjA zy+^tZ79UM)NU449J#;!VC$>4bH?Ip{Jo0fveC=xQp^{8$Y;I8R;VxS7$mWKm+S}ek z{7gn{Zg6jI7rA(3Qv~kbGuvYm0+QEvZ7!)w zZiuM8JS*%%=8M=)|Kzx?WhGVH8$xT-XNA>dK8@`RNZ#0WsH7^TfmCap6(-8G#)kMO zukD&tvUOX-yxLi_u6~wzCpIJ?d0p4~lC8-N%W5lUUHu}{7+de39NV?HWb5{Z#kE^z zUHv@sacq4+@`kScC0kP(-m85)>#8vGb!?V@a!l9kk|*05f@)XHx_UnIUTjuCaza;f z$&=)U$lAtPS1)7^#SZ!>$9KI~@??8Mc*wFQrpvt~a$7?{?UY&BpJlej`UUiU*cDe2ncT3nmOm@|i%flNjeqY4T|p(0+Zz_u zZkUz*d1iNPO+fEQU3*I+QyNy)-kX&z%p8tQ@$Y@VYwDeGM%u9J_2yt(QxV^!5cq0K z2`i*n%3held4@XMj+=StI(-q6sKn~)_ymR8mvTz9f-{+tVOz=3pdPkDa|If!uR{`) zRDCsHq!9a3O6e;&Q)PQ?B+hfx&34jUif+(XBPmLvzKKs)n0#fYv@1AMWEr;iI9hay zt-xG^#^{@ncqKzG;A<5kUs)+-1qaLBYa`pAp{}+Q<{~sfFF=x%1ihF~QD}X+r(`Sa zlernTRdx;PY2%rz(RjTWp(^Qm5nrZ|`EpCSE9_Gpdu^-j&ryu6$SgpqdJ#fbQuH!D zSK;t=oN}zNPr**3j^&WPG!r0yJ;f|na(`Z1=1}rxJ9wDob{|I@lwab=X6l{I)0D11 z2k-U z%s)Z9^(=qi{t?=*Ux!2}EBg2GgIl|C)YElQ zLKpQe(gI-@w3t+3egy5+??XbB-TmA7b*(pWR6$0R&{>^I3KVujL8NN)UFe{GJ3><4 z=x6gYT8DA!(*sdLSK=;GFzo>pE-5!ZgHrWuWS(-kKbAkxT8dK(e4=Ph#8int?I9E( zIcIKx_UU7hWy;e2biPk(Cysc!I*R5Z-X)n&>w*?Z&YB-W>H2hJv9hy&3%|Ox9!C@; zMbVtasgilLZfJp|%G?2E>$f29DeL=>@RM2xapKcGQ8ZV^E=iE)0Td=VWA260^hb~& z|d;P@tsJtc0@k8<0q4O@B5&ss7-Xrk zs6UO5ZEeF5P79*QE}~uVd~z4M5I$?}Ligy?kVVS2{zSf@wGKxRP@~AsqEvVuxf`7i zSDD+<1NuZ{m9nn?FrV5wfD@foN0D9WyWk+{12hyqV}6S6)*nU|CT{7m`cx1U!(4WC4w5oBG)1oMj zi)@!|KBo&^WIJo_M$`2fNQhG1pTrlnig6SHJ&NNjOSR48bfXJwRpw4KTc3nPE5-de ze0r-1Cp)c;;<$2m*@Em3&@kH>b03WU1*4{!rX&q=otu6sqLrpWvwzCSHO+3J3CTs zf%a}R*j8;;qYOPAp(thjTt2te^~WCjTx_NdgIA$c(ls+3nx>bTzf?MOiZaI?$5Q;R zhg`pB&>GTl^BU+weS!I7B~N#ekGa$8i#=Ji!j83z%{pkMJ^(?KG5yoaidq6^WBKvR z@a}>Gq)_}FR0e&b{~5_tw(7h1@$xiZL2+9I-b0X1T88g~W|B^uzlL_`yAViuNpI%2 z$-R69CBYGRPwF00r0^$b4ynZa1GHIhM)oN6`gVS>Jkgh0To)mnNKGd#74||iNPP3( zpk#eJ@~N^y|AJp9U+zmS$%qh6Qtu(H5I%)wlS<7E&{q8m`l?HOB7~mAJ)|hwPY_;GY?eTq^j2iIa#(+d z?;}s}B^Fml&?XYoB}-_%&~!*{ zo=8ZCmymnWX>ghOBDziAim;SLdOcqt5B4RLP$S5bM0?-}@>A3oK4rd+exlbS`;=|^ zZa!6>;VUXuN02>4>F_dgA3760ZN7r;(03zjWu1PQua^7xib{wPWKa4YI8yo(ItMN> z-$FO*hmmyUfWDJYlqdPpi^UPriS%@Msk9fJ0rSn5(PVumazt6JALNVWQNHvNMuc>d zb`QKl`V^fFmzo>Vt@=SETiK)U<1^$rzS?3_gw#Wu4lkGXq292-d=;hX`;a_klYWeE zl4E_fC4>m6CuI*D#rX-v+ltM%(M|d>BuzQ0Z{ri>R9{N5D1tMQl5ShV=|!j8%FLJ0 z?fN$4uu`BO;EUu$UrGr*f-_0B#}>hPisEdi%s0?2`T-2ijztXLbt@sOq4 zmT~&fS+>*WdUU702gy~6^`m^PoZu@fp+s;zxqEDp_MgzXwi0tQny4Q|GL$C0nop6_ zeYwT52>V2Cx^1bw7xl97&2?ysUXA1^MS2roCa3svOSlpCNsc|X751m7pRLr~geK`t z2t%pWYx!I`*Vj?(h_HJ&(rwG_eW;I3U>2ivy%uruXyCTF&UO@Fmf5|q2W&q0A5jMB zYcmB}qUV~qWth)wTK6dYG;Atq8vY@)i*(NH4`u4tnwKbfKd15?JVzF3CH_7%kt8vf zLlg8Dkz!?x{!CesBG3<88o$&|#6N~sl0G*h(5L$8h_5oReKcAyGh}~M-Yj0-i$(r^d87erC0wVesD`7 zj#^e1DV#t}BP|j>ftHajm<`Y|{UT(tGO-`WuWMP3qw+H%h3@Lzq%h%Q=si-6`4x0j zk3;4tm-nyYXS5u~smlf;g>LFJQi!kziX@55ze61TD#S&3xZjOG(Bg?x^L-+P7~*ac zk@g58OFlE(AeP<@nW6OTU%>ZiNx%`ysv~I=h-s3Av?tI~$rt8+h^=3MOj0KF&*E3N zgy4w$q)3{(c(){!_83|v`P^)Qj_7A0vy~zJEBHw*SvYZ7PbAGvoF-XJ>w#8Cgy!F% zJpBs9U76KCh2PWShZFOoB54@LZb`W25wu!z-uwr2SU&~vR{Hga@uON&aE!91NX-OB znq-mY3A9{t!Tbx9s}Dn_DpUIB@|#+saSVP=q{iK}TN0*u3`I+7%p*{aelCJnM)$Ag z=d|SFOl6~y8aGp#Bt+8#MM*^Fmk?LK8gW+U_Pg>&TQE2i9~-H`5Ozz5*Gg znR-`bx)ReL$j7$C;|OJfNb&?i8oZGF1YH7uVg4C~^nr+nGQQu7FK7wI5%|{ypo_uwS z4^G4}y(cnD>C+#=C$=Qv=w;$a=>&Qjyh!>4T?St;8_{F> z5M+unso#$;Zi&Lt`HV=ZyLLAmCVh;)2iKTiqeu0A$XsPqe>9)bl7rKhnIffb+B7&s z+Ji>IBJ&W+(MKb$%A9@--_(M|Y59amDTcBeCUPF3WZP%vag?RUAYMvre=wiWLd8+a zM3I~clr-By&J%R0?F+LWW$S|xPbIbAhc9X&;wXH2B*$I0+ZM`sjIOeMZXQOD=zS1B zC9yw>Pj6x1WM$e&j+-pawwTj{uCNKsgJ_;U3c)BD{aC)Xg@BXsDUloucegFv{s>)d zJ8vFC59_grkCM<&EdSw$+$N(HuPiAt)*R6h60wi*uAYBJFODG+T(h2aO`Fd4EW2&R06xdRMQ> zsA|aeJNS=rihF-@lA(QlH^(=~ZXM0p@YVg_GwiQ3uAaYegpjl)dvIMa-C&o?I>ve2 z3XGE@96Qk-gP&-tBQ5zsRHEtj*Kv$%731x^g0X502J4S?#(#{TK`JNBgm$qr5r4}P z-CAR+g4f$7@tg2o zq_ZS%Xb<}Uve2?px5>y-Tx!=B#86qIthCJ6v5e~!`u2)~ zw(4LE)t~At{8%`HbcQqw+RfgN%(q17)*1IHD%!gXf~)H=)Bv@UaIr zA}pc0ea7vI?)Do6b=4UdwZGa~xJl?msv!A5d)Wt(Pzy=7-N;tlXdf=fs2;$m1Bgz- zMA|e`wPYG}ke!N~v(AWw9>ZxJA*~USCjMorDqli=AnkXkL=D5^pG- zosBF$L`1%^yr+9?IHIWU94zQ5@4<){F`Q@#nrV`olIcHGOO`@&*yj0a7uyf{%5qb8&oCsf>Fnb*mFGAy7MUh$)@wW@jgsY% zAKM4HY57h!WOy#`>ul!bl#e=@7MeUX>olH{8oi1axu_dAw93aii+I>_ffHdN!GruEc@lgLjzFhbeUXcn>$+Bh zUS8DM#uJoNod}CW6Upnz9&iJ^4E43nM6O$|==6qed0S^4k6NyF5-k*Ykk^qt;qT!{ zbf$Fa5>*KHV<*L4o?)a67c(IWapa)NXsd=p-Z&auuwZdoqth7FzafzE0kv0Us# zUr6_mekh#;Ux!zqGpw_b%a%r6r(sZD-PywvmouE`i?kD^>!luWBfK1)ZS_VPEmw7e zhCX>uXA_T6ZgSEt)OtwQNj>2ka1`oo#UocOw{?AnF?mzxD9=<*aMCWKOq3>YCc;g& zB`DrH9l33}q#HA|$wxZ{JVLq1iL#L5!TFFg$#%^afljyLkV}>ux;DdrT+r!op#)H{ zoXs3(+d11jbf0wrvfR?C%P=O%)$QU!#{!u%GXv>++@LAcMjb?$5vo-Lu0H7NW3LU zCoqZ?B9%6uQYmxe25~X=9d^9!gv}LAu*M@v7OGBc6e+YSS-z~2>&6XsxZ7#=xi+2+ zgT`B_2=x%f<9GY^mp-=AX9P6q78hYyoOD{Fvx2K~EpVK}xQ{Mx&z(KtnV7Wj2MT)$ z(_zu+oDBhT*N&J%%-JFrY$$dL{sX)_>1$Fbw1mA9(OD2(fML2krX#Sh=xn?THcT)X zABT4%eM?#ltz<_ah~-z^bi-14U`JYE{Mj}aL8xE~J{FH5eM1U|BG@G4R|~3JYVeS! zb$AuFoeg#ogi$BsN*?vvn@iQ0f%n2SRt!6;c?q zjQt*Bu)NYOGT`Ki9m@;r&Stn!!_JnTadyB( z9jcxpj1^)?^&}z`$tEMeTWq>j1~>WP4$s1Yvpz2BFydrkJZ%C=ELjMV*-H_drC;Y} zSRnW8NGS9z$BYfBELU&3y;23|)J4GXyfy$UVK8f z`0`El=03)ixz`>|P2OJ=+SppvJ3V3O>&r*)ZjL^9<-)Z`8@-2xTTdR|fV)uoO@4J{ zk{dBt>`tT6=1K}B?ocdy1G3(dtgAFOD(Y3Y<@Ftd`AHQ$ZsKq;h89C3NWPLdLt*R~ zq}LLsqgj-?BZdv~!H$~3o{A_}F_AGx@^Nvd0$6!VN*qpD}!j7s#&XXm0XepL&5Cr$ZpFa-5sM* zk)R66uRfRLLJSj6q;(u3LLG;Ml&iz=(AOgzA-2mr)&4#WW4kN~M?=`Fksiw*I)-72 zT-)JSD65Ea;Sw2>?Q1m?Y?ma9&|vm*L~Z#+M>mGaW$h`2-0CJ5M*w4rJyGNSO#Sg( z6G(|e^6~aQ-dJ^x6V~4}5&yBqgH#Tp>n;#o{XukHYkV%}wKwxH)uT?>0FwuPy~dN& z0HUieh_2T_bp07b*H#c+<3V&4EF?_CuOm++eGj7ROb}ha2GO+(MAu6oy0(GnDp*AD zz$cI=k#52f&>Rq5e*n?d45F)-s*M+Xj_O36FPbRaM)n|;z{{Y`AiC}W(Y4*!El*U{ z@#@a0ou~^$9>Qd@Cy5V7LdhVyehQ-N3*)eSxoUuyagOMuo==}B+%BC+s)v_Cks!MM z4x;NS5M2*(8My^bf7~ZGqsd3_}QWIFaM*)8TJzUg%0|24c1lbzTO# zBDh0VKt0RFh(aCCEjqb3aKrzt4 z%U4%m+(bmIyL1hH4t$X`0iDPG5V>RdSeIb9sHpB}%_mkAxzWS180q_XJbantg6?O3 zfUK~5sLL{*QS`K5$`@D1yJ`Ie?$S;8xo`!^9o@_R2nn-n)1?@%E1KH%`Hbo|H*J6b zBTd8;;A)aHdXW7-vfA>2F4tJ17;Ue}H&q9_QT(ayoR5WbY}ZI`=ydjaklH>0sqKnF z(Ak|YDz9^+gi$e^I3eElEy)#K#g0Q{hVycD=W-ssJi}QwUp!ef!dRkBE;HGlPKs;wlk7zDb$S`Psj->Pafr*k27~Zagu!- zZL+OIvJy>XdmtH>vpTi$vYf6;;K|NaJ98HhJ?+V~sW!fZgr>0FkQ~b?oyk}!r>H`B z+;d6Jj``wA_U*JOwo=J^XcBu0NM@gdWY#F>sFbGZd$xL;OZb$yvc^LZwc;D6w< z^AIPCyUy7-Md8}+SAeOCa>veNxZpq0%p`p#!9hqW$8LUIfAp)LWLX(ujfd|@>d4w` z%!7s>ZeCUARG;oC$O%3@iu-M~NX9w(bC1QE81&UIl>9T}%YJNr(#kvV;p^xpyaRAL zH&5DqcR@|;(-rtvDQli?0QUW-VfZ}>A5 z@gt6bn+NL7-TQs5%;&=Jcl0q1{p*wWn{{cR#!TpW#P+eBl)MKuCckGY6jk<2P}5Te zb|R}Ry*keAPc?4huu-cDfN*W{r0*);XsaTa}YPa!GMvB+!`fWuBz!Xijfi6(fIS6>zOG#9z$w1XmrluFKR; z2Uo4-Ozp+GfUC~YzkH2-*+5tzn>f@~5IxkU60aTGuG=_v-s1OwL;j(gBeZ!p&?moa zpwH(z4Mp*yhoah>){MOmmK0ikdq8G*Hb)N)t1xTEjsRDq<>CWQFu1A+mSC~pyg0%f zu(1`F$EQ?}`0VV}e!7p_euwB7;=IaRMCc@c`MHP-kAE|sev3!HtavJ zDYQ?2_Q?y@Pu!G!v~M21zI5U_mrgN+UCavx-#nhZGn4N6Y#)866x-W#U|&vM-W2xX zOzn3ko?jTrHV$9RQ@y!mMdj*(kpcymlGD-j{@6V5jan>252O=*=$8Hf`!t9rzHAWt z(>;flgIl${0~<4@1WV!$y~ouYT1BC;Ryj0B_i?wp9NytY>mFf-vn16p?v?06jvIXH zhNCr?H|?1CfeYzxAi*vK3HAX;@4`NNwpxs&Ibur1rqEg zkYF!?1RD<$tRUPp6(6HwM&{rCqn(kSM>=QCFBzL3LG!i>3-=$gZS1I0y>2h9b`_Pjzg= zVfk>!K;b}z+Eq;yVQFimPLeO-04TsZ4{5R7(Zw1PmdG`#KW-?#^EV?DzTOF56jQ-m+X+x91gHD*=y9!VHFdHHDf=H~P(&u>0@xov+= zSYvKgZ(hPs!R3($n{)SES$*@7aNB-rSYt+2@8N`@6PHIGZq7}=a{J~Z&9?oFu*RIK z-rR&C-sO?5&0~A6En4Fa>z4)A~ zW$be_yARPLzi;lgAKAGx_u_bc9C%n{o5uVe*pCE)0HFP5d~PP;`gQOyu?F{1@<-0h z?t8wEKp*mIv8Jw111n-4jS7_oBNhMfuNf$!w_WaIkuF|0Z9gnKcEz~fW4KWYF1L1k zV_fe!6cu@M%rtnuw~jYb^X3Xs!qD=VF+G3CK1SX-bYsn!*FQeehKARS_3(#YHkj&1 zwtP9>tOUQ7`jfHL2b>SQzz@YlAa;9?_1+M?LQ?YPC;e78Xx;yrIDf;?%ezT4FQ_A9 z#&&_v4T8FnlrQs;H@8|+KOUJ$`2Gs`DjttHJ`LE%kH8=BZ~J9_y+sH2gSfG5fQ;=e z+V|$;p-dAjE#FLjCcZtcdr#Ayq{Drxu};-SW(ab7Y5{dBHRr6NPsmtXYI-t0rF ztdfbfl(w}CWezEZGmvnfMC;AW3uC?zuL-<=etdNjH)Q7@^;6Cs^v@PHeLbIFr<+W-}4+F*y?b;==kQ%9i)G0 zZ*G--dh;UqNwE#;Q77VJtut-Q*r8ls?uHm}GXv`#cOFQ0z4>!f>Tg>=8nAtF>X!KR z0oAI*^gfeu^$L@7_V|%~cfs$_-Af+Y@kjlmFuNwv3O1ul`XQ`0D)czZg6)zWN`wvFXj{6OC_d_7-k*s$*{L>qswBB|Hmq zwR$0$$uDDcHIM8;s2@9JrDIR`G1RkHv~}#o1ABgN&dHHMzuxDoq?ZQKjg!Zz*#}0o zqw{;o@n1UHd+ANH$5MmX5QY2l`Kia_!|=+7;_=&Y5FuNbr5(Z!Z%t^kO!};ekUaA0 z)1e37=baeIjyk$py6nf&jm&28&~K}+dP+Cau<&gO8Fgp7B7Dn9U5$Y+kLvW} zG0sFeYZo&nNjGRF!(-Z)@miBP_3<~k)S8&SxxY2Lp&Qu=$WF^vU9<73VifEPQ)QEz zHkg5t(lvNnzQh$>%Z^84EE{!2#tRC8syUxfnd3$YGP!ehXy)3EOEBmP87RVeHis3d*)RA)b~3osW?xC%*XUQxFziwh4(Y$@>dJ8|78W(-OkI zzU+N>v**DpC$2quKY9Pf(8dSHHg^2lBPH8<(43kj`@NQYdwWBjCYhkSU@TBHt9bc2 zl^8cu5Y}C@6F)~%M4A9m+1n6~g{d1i{;a^L0`sxw;wKR13nq}a;c;*=X%hM|`x7M9 zlBsJob}8ajY59V4Z7zf`!4z^F9s_?%3P)G6U62yXkGe#|I(c13MFAC{Ls0L>}CEBcC|lcTY@jyjGQ!vN9n|a@qSLDl(0t zzV&}M52xhjZNomV$DYhB>HK?-uL~!ZJk$0K?2E3jGLb>cbX}AoP{HVkFVLP9xXZ!_ zuAF$Xx9vN44!YV3A!8N~9oFEbAan#5P|i}_xuGH#`v>G%wkz;#bh-6YWWa*c5e>@~ z^p1=I*;%zaH%#Pek0blouEKaU+6p717B?Ni;HjW=_!Mx@65So4bQgQ9bf&Ey#-UNx zLx{;TOGhz;D7YO-1!FIMS-o@0%Ot7$GZ7s20~gdmPL|i85cZS1wnr6Wsu(WVdD_YN zPo!?7&)^VClagKsPDNWE>;o}!M%`=Z$pNH#raGDa% zf38XV<9T?L@m2HAZ<=ifs}G0E`Yz{pnvR|yv^4LuvDsAc|LsZaw>Ji+JUKiwA?%yW z-uE__9=vkr+N0gc`>%&K{#2DbCn4;+%iikErHm^Ju05KOyuT#0@yDv<8AEjmg>ufL z_LuhuSWP=@H%qlFb8|RH+%2nKbR~UN#rFN}jlU7V|Sb$ zGl#e3ZLikbt2$ZqR^tzjPU8>6Uk^P~A71rxJlD#3)^jF)O2+7_yiZ9yb!9w86fAHi z)A3$l1A2oEcmQm`m0$z16xAwy0kN_TLl2@lNp}dR!6!)5(e;3SZvphX9?tV{7?pJxZIIeYx>GnEE+Tn>Sg;qwf>00( zwkt+$peP>SK)9)bGCu7r3XA;xCN^dFt-6GLw`hNRc+0Umk8_djSRzRm#o zx)ut`F)oBf*vaJe_z7?WX(8&%UILJ>4j|tEfP7;LspUm3qJ`KgrBw&j>^*!WuEqw>oqo{O45pU;>e-KOz{OC%oXW_BWy zZrQ8rG~QDrsZ#RA=b9$a7cktU$(q?PUor(vW~U%WEJt;N#vw(NDmtHG>l^=d>^V8K zjz#^xt?2QR-@nBAz39wHTmAa!PtPWfSlb`a$5ume;7R)kJZa~Ro{AePpMs1^qPseX z?jqbNok=Q!anMHar0oDt+AU*xz>K9vl2VvyE_wnI8gavb&pXyqtCD|2<1jnRruRZc;5rOBNbtaYW)q&|{Dm;l9E zIe^f)0z!uYgbrJfR7r3b2T>-`T%WP&+Y&i*dV8uwPNQc<6U2cOH(C;4DMG+f#{cmI z8e3=l_KfS@8~L#|Ns-dwZ~?pp3wVn&;4Sk2Z%Idf0Z1hb5N*E>VnI{|!C4$mai=A4 zrbsGpUKoB|U!}AN1Fl}Ky1zMraV7oQqh-na&xbbNtxEPz2&=zbb#HU$!7IiG!|Okh zjU4%O=h%|l6yk3dJ6zZ~HhgHs5xlc3tZsB*#ZHY#l*8uIRK{^DTs=DAEcq1gA|8Bg zIwI`;e(s@t(T1Xodue%+x;qMWdq^R@I?9zBV#4BU#iOt0L$lZs+ptj$gvZB6Mptl% zi2OGS5uM&hbmHuwx!cZ4mZ2L!QXK$rQf#=V(5}+A{t@!ap)WRky6S#M^PG&F9j9+3 zhqpa-tJZ&et&??AZd~d4t8t9Al}h$|!q_}S$(B>H#+xvXAd@Hlqj9Vg7VOiW+6Cj1 zx=r%xj!T8aig;IgxL_(EGOmEg1fh%Bp~z#)Pr57vOWxC=FBDg_xzdROtaPo=3BE)M zK!e!xkb59mrGRAB)KO8$s0en|hEu0XV}ven9ccj?&R&c>w>;A28urOYJGu)^6?Lv! zA{EP7BXqWXNeV;**g;6E<*qK?uw5?bxKT)`$Z(~EtEY0_7rNU1MhZq3vBQyW%QIaD z;MPQyXCeKZkBe+RaWZE+ZG!ETWFeq3O97SX2UKPOpfU-CZ>S6<1W=icfXWcr9AwzC zS=VH^tYCC@=4;PXyU9X`7!H+&w@D=~s4F`bDYC5B2@I7ALT7zGic(Hx8@8Rzk# z6ydOC+kSRfBYX^h*LAd_Xbhs37K+YPJ2?_)vu(AY^qm42PA-tm;w^vIQ4OyZA^>S* z=bBs{i%k>kiDVqho41A<5EI-OrEh&QKPR zQzC(!lI=J;JeU+FGp<~?>&mQ0*O$)u@7&2CH~?N zt)Y7K)lz6FC>Z-Kb-D!xwLGCi#H&6lb0UUuJ!opAOi5{EfFUM?8*QocN5;3x(= z#tV8X#xPK{{B+4BpwI>bh4wyBXm=VmDVjSj735UJV@%-!XU(PR z(NWoV)TONumyqbN4x6>&tSwX{A-9~k*C2w*i3bg$W97tDgNR*D+-DF0f4YGV{MiON z@TVE*z@KHH1Am4=3;Ya&_E@=imqE)e7iSu@x#i+L1`1RzK472#|84^X`1czqz`xfZ z1O9^s8StkXWWc}AAOrq%0~h$S4cuepqsuI^m)K{PBV`gg)^da|p}R}-$c~gRblkIDvH^k{!B%A?N4t}QHK5L4^@;=e|m>XhWOKaRkBz9bfrpW@uxpg z$wvI?_f;~mUZawM^$L{?tnX6E!1{I-7p#A(;)3;eR9vwBv5E`U-&1kH`sXSxSl_DR zg7w`hE?D2Ga)9-HD#t5-6S#5D3Ac=czHAxZFgTmd1s2D40PAOU!W;a2t@*&twypsd zXO#o%XZ6P$YJ9C<0z2Ef3s{_02dtlU8s3oNYb^(Mw)JCRan=XG`dOFY4Sl}WYrxL7 zGJ(Ze5n%nS6Y+*{#Zy8 zyfo19BM)W;Iv(+0k3h#=9=tBl@r(yA3Usva;C+FPhddY;=;+|V+XEfFJa|!C`@pRvw%k=;-E2s?Ru%aE(>sG{ZR9hFOMjunjW|<6s*y46aZ)W0%48 zSUDrp;L0v%>@m3JmNO0*c)-8gzytpM1|IP5HSmD{pdkkMQw=e|zt0c@{ON`m;LkR+ z0)LvJ75K9Zt-zmQXa#r2t0@>xJJ%+&Ca?`gq@z|F?Fu4YZ1SSN> z6JhL2(I0-J)PvUDarP37wLi{&1!J8NXFrdzo{h8L!dN%Q*-v1s5992YG1g^q_DYQP z`#5_e#(F5u&c|3SarUbi>!djQ1&sAnoc%V&x<1a%!&p1w?3Xas#c}oujP;v1`wfhB zf1JG(WBo18UXQWPj z5m?`%Dgx^ts*1q+4pk9Y->WJD>y@e^u>Ogv2&})aDgx^@s(7$op^69VyHxRDeY+|i ztlw^>kFGWUY*)Q7^^9+F!M+r@`;NxHMRyBChqvr*dFbpa^KqT4u|$p;f72|iAVks~ z2g8;&%stR>`(>;5*V!{Nqdyp~oC$wT!l6splVwL`>DJqiPJ}whSFhRglEcy5pi8et zk00U*ss@}1fof0kRv{Mt0%$rA&~!Y2rsD-Po#1v)9<|EHSu~I6Nlv0og@r(}fq`V> z1|%ELFm7~HaXMwuH{^^JzInQ6n=Z#t`K2TFH?1ekx9#_DcKrTj+MH+9 z__=LBkc|R@ETeF&TI+)K7y1445(C6dZ2JI@P(^g2%%e}_d?KA_`%FRr@);M%XU;%A za|QAlrhr(1b*G2Ru=r27HAZJ>2`B}0pcDu&2oy0LqWq$>6gO;`V=6w$?n)Bcf+6@8 z0qu+Q06EzUlq`@wC@9ix}Siz@qm;U&z=vY zXqAp`Sf$9_XFm)WM76WXAKbM~G#9u`G6$W{W+UyENdR*kQ4rgs^L?^(tB0o2Xc{+3 zgCqpP0fN8Y@@E$5GLX2x~TaHfV3JcTs!R3HkFpuN@!$hVdf-BV))5TJv3165RKb%%HUO3shx=-B2OBPj0H%a4D@9eFimwr_t;npDk>jdPZiNw97vx; zqe>@B3gA^xpmh=wWT^y$QuXo_RT8i1tk{_mNcYriluniK;MGvD)g1^#e4q~3$a7Uu zywS4^XH%edl7=ds0_VfgsK0e85@5LidfsMvyefw$IBNnsUh7HTD8<5sFa@1&bw(Ch zc%W4+l4q!}JoQDPT>SWD!;RH!37)*sLONXBJleq7LJ~)b1^NT zPSKOu#jE*voGGH%4lF{O~Y6VFG6+smbOG;jJu0V)4>h4Z(`xPHKTqxyYTk zkm5@FkmD`6W}5>|x6;9w-T)ZWOT2S)>>$7=s{uaA1^8qX3=f*X@F2xs?F3}*>9%r! zPf`Is2?Y2g9^exJ7#<{m;Xz7(+L^Oi=w&-c@PPG34^>!t9*#iH>`@UKDvK6^j(cR+Ek&pg< znY(P$jTUM1E4A%|e9lAhA@!bZuQR?4TC(+YI`@wkZk^=bZ6lK(sHthUX2%4LeNQ=` zRDLUSPvPFCjFzit1UE+YwWiE}MKlN%=kXWZnw#b;t3-JUub6 zdst(1P%LduC48JM+%l2B%~P8=S7@|g%-Lb+b{ z`ge@-*q%A2+|+M3D7Q`D^=-LwTg|Sg!M>feX}<(lT)(Y+fA8PU+;TbZr+n|gl;LM> zpADp6BRp9$ay_9OcW@7R&EBhLN}Pv(S8x07kMb+~_Do%~S9Zn&Gtl~(GIFO!UtZN2 z>!kCeaZ1X!1B|$@mhF+04J-Gneve!x@YlEfFjacuqiOn;e9ysPK5Ik!#Phr3zM8V< z*z8UY_Q}t41DE^$!v5y^?}Qh=5ml>Q_dN6)gJ-SWSmE3DVx#JA#IhBsPit_Ujkv13 zTi2(mTkNprCy|$Y+YA2nQ;P4aBcJ@dUiEv#6KeXlksp=c3kpA49+>D;RsZ+vJ1PQ} zYgD26cXxpM{e+s7wmPTq?wYi@8;f4wc(#pV((P#K{ek{`YG2;frIe(LqD{(G!;|*J z%|2gvZAWF<_1^cts=od^b(fHUJAeKfXY1^-ZBtc-$R`)+KYbH z-f7=f$uY0c@wHj88u!bxJ#oJ0zga@L%zxcI?PhLtT8;4J>%%{){#G

    o_zj9+}@}?M`xe+`Sjq@Wvfyhix^*| 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⁣rr6(x6g%%ut?UoCWm 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%0DXIPUuPPy5#IFPfFS7oG!JPl~HS@mt0@ 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

    ?v5aWWZA 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Ν#I?ojXaR&f>hGg8}Lq~VQ3|t@D5%{Pc1@w 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 z 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 n+^)CU3lMbbG!P9KVJQOCO5}= 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%0Agf6qQ84%Z%l8tU?G0yR?+Ip9)iJW;>>{UG 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

    MWcnYFvRTjCqeBn;F`>=~`% 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

    OK6CPjU8{Z_Bc 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≫J*sdx26=YT+&SPu=Y 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 +adjust: + - enabled: false + when: distro < rhel-8 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1784525 +component: + - glibc +test: ./runtest.sh +order: 1000 +framework: beakerlib +recommend: + - glibc +duration: 20m +extra-summary: /tools/glibc/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive +extra-task: /tools/glibc/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive diff --git a/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/runtest.sh b/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/runtest.sh new file mode 100755 index 0000000..64dcb6b --- /dev/null +++ b/tests/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1784525-glibc-loadarchive-guard-against-locale-archive +# Description: Test for BZ#1784525 (glibc loadarchive guard against locale-archive) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +LOCALEFILE="/usr/lib/locale/locale-archive" +TENDIN="le" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlFileBackup $LOCALEFILE --clean + (lscpu | grep "Big Endian") && TENDIN="be" + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp locale-archive_broken.${TENDIN}.gz $TESTTMPDIR" + rlRun "rm -f $LOCALEFILE" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gunzip -c locale-archive_broken.${TENDIN}.gz > $LOCALEFILE" + rlAssertExists "$LOCALEFILE" + unset LOCPATH + rlRun -l "/usr/bin/localedef --list-archive" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "rm -f $LOCALEFILE" + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlFileRestore + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.cc b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.cc new file mode 100644 index 0000000..a631204 --- /dev/null +++ b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.cc @@ -0,0 +1,16 @@ +#include + +void +use_string () +{ + std::string unused; +} + +extern "C" void call_dlopen (); + +int +main () +{ + call_dlopen (); + return 0; +} diff --git a/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.fmf b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.fmf new file mode 100644 index 0000000..0dc1af8 --- /dev/null +++ b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/main.fmf @@ -0,0 +1,18 @@ +summary: Test for BZ#1790475 (glibc BIND_NOW is incompatible with copy) +description: | + Bug summary: glibc: BIND_NOW is incompatible with copy relocations on ppc64 + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1790475 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1790475 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gcc-c++ + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy +extra-task: /tools/glibc/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy diff --git a/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/runtest.sh b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/runtest.sh new file mode 100755 index 0000000..39512a8 --- /dev/null +++ b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy +# Description: Test for BZ#1790475 (glibc BIND_NOW is incompatible with copy) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp main.cc shared.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -fPIC -shared -o libshared.so shared.c -ldl -lpthread" + rlRun -c "g++ -Wl,-rpath,. -L. -lshared -o main main.cc" + rlAssertExists "./main" + rlRun -c "./main" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/shared.c b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/shared.c new file mode 100644 index 0000000..6162a05 --- /dev/null +++ b/tests/Regression/bz1790475-glibc-BIND-NOW-is-incompatible-with-copy/shared.c @@ -0,0 +1,10 @@ +#include +#include + +static void *force_linking = pthread_create; + +void +call_dlopen (void) +{ + dlopen ("", 0); +} diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/main.fmf b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/main.fmf new file mode 100644 index 0000000..e4f8d3e --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/main.fmf @@ -0,0 +1,24 @@ +summary: Test for BZ#1834816 (glibc internal_end*ent in nss_compat may clobber) +description: | + Bug summary: glibc: internal_end*ent in nss_compat may clobber errno, hiding ERANGE + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1834816 +adjust: + - enabled: false + when: distro < rhel-7.9 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1834816 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - sssd +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber +extra-task: + /tools/glibc/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/nsconf b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/nsconf new file mode 100644 index 0000000..aae9d27 --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/nsconf @@ -0,0 +1,7 @@ +passwd_compat: sss +passwd: compat +shadow_compat: sss +shadow: compat +group_compat: sss +group: compat + diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/runtest.sh b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/runtest.sh new file mode 100755 index 0000000..8efa0f3 --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/runtest.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber +# Description: Test for BZ#1834816 (glibc internal_end*ent in nss_compat may clobber) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGS="tst-grgid tst-grnam tst-pwnam tst-spnam" +TESTPARAMS=("100" "users" "nobody" "nobody") +NSFILE="/etc/nsswitch.conf" +NEWCONF="nsconf" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm sssd + rlRun "TESTTMPDIR=$(mktemp -d)" + for T in $TESTPROGS + do + rlRun "cp ${T}.c $TESTTMPDIR" + done + rlRun "cp $NEWCONF $TESTTMPDIR" + rlFileBackup $NSFILE + + rlRun "pushd $TESTTMPDIR" + + rlRun -l "sed -i '/^passwd/d' $NSFILE" + rlRun -l "sed -i '/^group/d' $NSFILE" + rlRun -l "sed -i '/^shadow/d' $NSFILE" + + rlRun -l "cat $NEWCONF >> $NSFILE" + rlRun -l "grep compat $NSFILE" + rlPhaseEnd + + let "I=0" + for T in $TESTPROGS + do + rlPhaseStartTest $T + rlRun -c "gcc ${T}.c -o $T -g" + rlAssertExists "$T" + P=${TESTPARAMS[$I]} + rlRun -l "./${T} ${P}" 34 + let "I=I+1" + rlPhaseEnd + done + + rlPhaseStartCleanup + rlFileRestore + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grgid.c b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grgid.c new file mode 100644 index 0000000..9a593cd --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grgid.c @@ -0,0 +1,27 @@ +#include +#include +//#include +//#include +#include +#include + +int main(int argc, char *argv[]) +{ + char buf[4]; + int ret; + + struct group grp; + struct group *pg; + + if (argc != 2) { + return -1; + } + + gid_t agid = atoi(argv[1]); + + ret = getgrgid_r(agid, &grp, buf, sizeof(buf), &pg); + + printf("ret: %d\n", ret); + + return ret; +} diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grnam.c b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grnam.c new file mode 100644 index 0000000..5c7c42e --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-grnam.c @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + char buf[4]; + int ret; + struct group grp; + struct group *pg; + + if (argc != 2) { + return -1; + } + + ret = getgrnam_r(argv[1], &grp, buf, sizeof(buf), &pg); + + printf("ret: %d\n", ret); + + return ret; +} diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-pwnam.c b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-pwnam.c new file mode 100644 index 0000000..aeba18f --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-pwnam.c @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + char buf[4]; + int ret; + struct passwd pwd; + struct passwd *pw; + + if (argc != 2) { + return -1; + } + + ret = getpwnam_r(argv[1], &pwd, buf, sizeof(buf), &pw); + + printf("ret: %d\n", ret); + + return ret; +} diff --git a/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-spnam.c b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-spnam.c new file mode 100644 index 0000000..f56bc20 --- /dev/null +++ b/tests/Regression/bz1834816-glibc-internal-end-ent-in-nss-compat-may-clobber/tst-spnam.c @@ -0,0 +1,24 @@ +#include +#include +//#include +#include + +int main(int argc, char *argv[]) +{ + char buf[4]; + int ret; + + struct spwd spbuf; + struct spwd *ps; + + + if (argc != 2) { + return -1; + } + + ret = getspnam_r(argv[1], &spbuf, buf, sizeof(buf), &ps); + + printf("ret: %d\n", ret); + + return ret; +} diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/main.fmf b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/main.fmf new file mode 100644 index 0000000..438b69e --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/main.fmf @@ -0,0 +1,30 @@ +summary: 'Test for bz1871383 (glibc: Improve malloc implementation (includes Safe + Linking)).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.8 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1871383 +component: + - glibc +tag: + - regression +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - glibc-static + - glibc-debuginfo + - rpm-build + - yum-utils + - gcc + - gdb + - systemtap +duration: 15m +extra-summary: + /tools/glibc/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking +extra-task: + /tools/glibc/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/runtest.sh b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/runtest.sh new file mode 100755 index 0000000..0aae225 --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/runtest.sh @@ -0,0 +1,135 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking +# Description: Test for bz1871383 (glibc: Improve malloc implementation (includes Safe Linking)). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +BASEPATCH="glibc-rh1871383" + +rlJournalStart + rlPhaseStartSetup + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp src/*.c src/*.stp src/*.stp_fix $TmpDir" + rlRun "pushd $TmpDir" + # checking patches makes sense for RHEL8 only + if rlIsRHEL "8"; then + PRARCH="$(rlGetPrimaryArch)" + BUILDDIR="$(rpm -E '%{_builddir}')" + SPECDIR="$(rpm -E '%{_specdir}')" + rlAssertRpm $PACKAGE + rlLog "Build directory: $BUILDDIR" + rlLog "Spec directory: $SPECDIR" + rlLog "Architecture : $PRARCH" + + rlLog "Cleaning build and spec directories of glibc files" + rlRun "rm -rf $BUILDDIR/glibc*" 0 "Cleaning $BUILDDIR/glibc*" + rlRun "rm -rf $SPECDIR/glibc*.spec" 0 "Cleaning $SPECDIR/glibc*.spec" + rlRun "rm -rf glibc*.src.rpm" 0 "Removing any present glibc src.rpm" + + rlLog "Installing glibc srpm" + rlFetchSrcForInstalled $PACKAGE + rlRun "rpm -Uhv $PACKAGE*.src.rpm" + rlAssertExists $SPECDIR/$PACKAGE.spec + + rlRun "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependences" + fi + rlPhaseEnd + + # checking patches makes sense for RHEL8 only + if rlIsRHEL "8"; then + rlPhaseStartTest "Testing patches" + rlRun "rpmbuild -bp ${SPECDIR}/${PACKAGE}.spec &> glibc_prep_log.txt" 0 "Unpacking $PACKAGE" + ISSUCCESS=$? + if [ $ISSUCCESS -ne 0 ] + then + rlFail "Glibc preparation error" + fi + rlFileSubmit glibc_prep_log.txt + + BUILDSUBDIR="$(echo ${BUILDDIR}/glibc-*)" + rlLog "BUILDSUBDIR=$BUILDSUBDIR" + + for i in {1..7}; do + rlAssertGrep "${BASEPATCH}-${i}.patch" glibc_prep_log.txt + done + rlPhaseEnd + fi + + rlPhaseStartTest "bz25733" + rlRun "gcc bz25733.c -o bz25733" + # count the number of times 'malloc_init_state' is called (should be max once) + # workaround for ppc64le and s390x until + # https://sourceware.org/bugzilla/show_bug.cgi?id=29756 will be fixed + if { rlIsRHEL ">=9" || rlIsCentOS ">=9"; } && [[ $(rlGetPrimaryArch) == ppc64le || $(rlGetPrimaryArch) == s390x ]] + then + rlRun "stap bz25733_probe.stp_fix -c ./bz25733 &> bz25733.log" + else + rlRun "stap bz25733_probe.stp -c ./bz25733 &> bz25733.log" + fi + rlRun "CNT=$(cat bz25733.log | grep 'malloc_init_state' | wc -l)" + rlAssertLesserOrEqual "Test malloc_init_state is called max once." "$CNT" "1" + rlFileSubmit bz25733.log + rlPhaseEnd + + rlPhaseStartTest "bz27052" + rlRun "gcc bz27052.c -o bz27052" + rlRun "./bz27052 &> bz27052.log" 134 + rlAssertGrep "too many chunks detected in tcache" bz27052.log + rlPhaseEnd + + # https://awaraucom.wordpress.com/2020/07/19/house-of-io-remastered/ + rlPhaseStartTest "House of Io" + # Use After Free + rlRun "gcc uaf.c -o uaf" + rlRun "{ ./uaf; } &> uaf.log" 139 + rlAssertGrep "Segmentation fault" uaf.log + rlAssertNotGrep "Victim: 2" uaf.log + + # Free Management Struct + rlRun "gcc fms.c -o fms" + rlRun "{ ./fms; } &> fms.log" 134,139 + rlAssertGrep "core dumped" fms.log + + # Underflow: skipped the actual test, since the code doesn't always have + # to crash, as long as it returns "safe" address. Since the area what is + # safe address is may differ, I can't see any easy way to test this. + rlPhaseEnd + + rlPhaseStartCleanup + if [ -n "$KEEP_GLIBC_RESULTS" ]; then + rlLog "Source directory at: $BUILDSUBDIR" + rlLog "Spec file at: $SPECDIR/glibc*.spec" + else + rlRun "rm glibc*.src.rpm" 0-255 + rlRun "rm -rf $BUILDDIR/glibc* $SPECDIR/glibc*.spec" 0-255 + fi + rlRun "popd" + rlRun "rm -rf $TmpDir" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733.c b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733.c new file mode 100644 index 0000000..368a789 --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733.c @@ -0,0 +1,31 @@ +/* reproducer from: https://sourceware.org/bugzilla/show_bug.cgi?id=25733 */ +#include +#include +#include + +int main(void) { + + // Populate last_remainder, which is treated as the top chunk size field + // after main arena re-initialization. + void* remainder_me = malloc(0x418); + void *m1 = malloc(0x18); // Avoid top chunk consolidation. + free(remainder_me); + void *m2 = malloc(0x18); // Remainder remainder_me chunk. + + // Set global_max_fast to 0. + mallopt(M_MXFAST, 7); + + // Trigger malloc_consolidate(), which could happen during large + // allocations/frees, but for the sake of simplicity here just call + // mallopt() again. + mallopt(M_MXFAST, 0x78); + + // malloc_consolidate() uses global_max_fast to determine if malloc has + // been initialized. If global_max_fast is 0, malloc_consolidate() will + // re-initialize the main arena, setting its top chunk pointer to an address + // within the main arena. Now last_remainder acts as the top chunk size + // field. + printf("%p\n", malloc(0x418)); + + return 0; +} diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp new file mode 100644 index 0000000..e77c456 --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp @@ -0,0 +1 @@ +probe process("/lib64/libc.so.6").function("malloc_init_state") { log(ppfunc()) } diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp_fix b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp_fix new file mode 100644 index 0000000..333febb --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz25733_probe.stp_fix @@ -0,0 +1 @@ +probe process("/lib64/libc.so.6").function("malloc_init_state*") { log(ppfunc()) } diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz27052.c b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz27052.c new file mode 100644 index 0000000..de843e5 --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/bz27052.c @@ -0,0 +1,23 @@ +/* Reproducer from: https://sourceware.org/bugzilla/show_bug.cgi?id=27052 */ +#include +#include + +unsigned long protect_ptr(unsigned long pos, unsigned long ptr){ + return (pos>>12) ^ (ptr); +} + +int main(void) +{ + char *a,*b,*c; + a = malloc(0x50); + b = malloc(0x50); + c = malloc(0x50); + free(a); + free(b); + + *(unsigned long*)(b) = (unsigned long)(unsigned long*)protect_ptr((unsigned long)b, (unsigned long)b); + ((unsigned long*)c)[1] = ((unsigned long*)a)[1]; + free(c); + + return 0; +} diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/fms.c b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/fms.c new file mode 100644 index 0000000..fd7b54b --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/fms.c @@ -0,0 +1,25 @@ +// source: https://awaraucom.wordpress.com/2020/07/19/house-of-io-remastered/ + +#include + +unsigned long victim = 1; + +typedef struct hi { + char *a; + char *b; +}; + +int main() { + long int *a, *b, *z; + struct hi *ptr = malloc(sizeof(ptr)); + + ptr->a = malloc(10); + ptr->b = malloc(10); + + free(ptr); + free(ptr->a); + free(ptr->b); + + a = malloc(0x285); + return 0; +} diff --git a/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/uaf.c b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/uaf.c new file mode 100644 index 0000000..2515a35 --- /dev/null +++ b/tests/Regression/bz1871383-glibc-Improve-malloc-implementation-includes-Safe-Linking/src/uaf.c @@ -0,0 +1,44 @@ +// source: https://awaraucom.wordpress.com/2020/07/19/house-of-io-remastered/ + +#include +#include + +unsigned long victim = 1; + +typedef struct hi { + char *a; + char *b; +}; + +int main() { + long int *a, *b, *z; + struct hi *ptr = malloc(sizeof(ptr)); + + ptr->a = malloc(10); + ptr->b = malloc(10); + free(ptr); + + //This is a UAF on a struct entry + a = (long int*)ptr->b; + + //set the count to n > 1 + *a = 2; + + //get a pointer to target tc_idx + //this is deterministic because tcache + //metadata chunk is an instance of its type. + z = (long int*)((char*)a + 0x80); + + //set the list head to victim + //we could also spray this address + *z = (long int)&victim; + + //get the victim + b = malloc(0x15); + + //set value at victim + *b = 2; + + printf("Victim: %d\n", victim); + return 0; +} diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/main.fmf b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/main.fmf new file mode 100644 index 0000000..fff5dd4 --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/main.fmf @@ -0,0 +1,31 @@ +summary: Test for BZ#1871387 (glibc Improve IBM POWER9 architecture performance) +enabled: true +description: | + Bug summary: glibc: Improve IBM POWER9 architecture performance + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1871387 +tag: + - power9 + - power10 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1871387 +adjust: + - enabled: false + when: arch != ppc64le + - enabled: false + when: distro < rhel-8.4 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gdb + - glibc + - glibc-debuginfo + - glibc-devel +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance +extra-task: + /tools/glibc/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/runtest.sh b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/runtest.sh new file mode 100755 index 0000000..2357bdc --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/runtest.sh @@ -0,0 +1,87 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance +# Description: Test for BZ#1871387 (glibc Improve IBM POWER9 architecture performance) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGS="rawmemchr stpcpy strcpy strlen" +THECPUVER=0 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + lscpu |grep "Model name"|grep 'POWER9' + if [ $? -eq 0 ]; then + THECPUVER=9 + fi + lscpu |grep "Model name"|grep 'POWER10' + if [ $? -eq 0 ]; then + THECPUVER=10 + fi + if [ $THECPUVER -le 8 ]; then + rlFail "We need POWER9 or POWER10 machine." + rlPhaseEnd; rlJournalPrintText; rlJournalEnd + exit 0 + fi + rlRun "TESTTMPDIR=$(mktemp -d)" + for T in $TESTPROGS + do + rlRun "cp t${T}.c $TESTTMPDIR" + done + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + for T in $TESTPROGS + do + rlPhaseStartTest "$T" + rlRun -c "gcc t${T}.c -o t${T} -g" + rlAssertExists "t${T}" + if rlIsRHEL "<9.5"; then + rlRun -c "gdb ./t${T} -batch -ex 'set confirm off' -ex 'set breakpoint pending on' -ex 'br main' -ex run -ex \"b ${T}\" -ex c -ex step -ex q > gdb_log_${T}" + else + if [ "$T" = "stpcpy" ] || [ "$T" = "strcpy" ]; then + rlRun -c "gdb ./t${T} -batch -ex 'set confirm off' -ex 'set breakpoint pending on' -ex 'br main' -ex run -ex \"b __${T}_power9\" -ex c -ex q > gdb_log_${T}" + else + rlRun -c "gdb ./t${T} -batch -ex 'set confirm off' -ex 'set breakpoint pending on' -ex 'br main' -ex run -ex \"b __${T}_power${THECPUVER}\" -ex c -ex q > gdb_log_${T}" + fi + fi + if [ "$T" = "stpcpy" ] || [ "$T" = "strcpy" ]; then + rlAssertGrep "__${T}_power9" "gdb_log_${T}" + else + rlAssertGrep "__${T}_power${THECPUVER}" "gdb_log_${T}" + fi + rlFileSubmit "gdb_log_${T}" + rlPhaseEnd + done + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/trawmemchr.c b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/trawmemchr.c new file mode 100644 index 0000000..6a41c20 --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/trawmemchr.c @@ -0,0 +1,10 @@ +#define _GNU_SOURCE +#include +#include + +int main() { + const char *s="AAABBBCCC"; + void *r; + r=rawmemchr(s, 'C'); + return 0; +} diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstpcpy.c b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstpcpy.c new file mode 100644 index 0000000..ca9fdb7 --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstpcpy.c @@ -0,0 +1,14 @@ +#include +#include + +int main() { + const char *s1="AAAA"; + const char *s2="BBBB"; + char buf[10]; + char *end=buf; + + end = stpcpy(end,s1); + end = stpcpy(end,s2); + + return 0; +} diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrcpy.c b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrcpy.c new file mode 100644 index 0000000..3fafb87 --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrcpy.c @@ -0,0 +1,9 @@ +#include +#include + +int main() { + const char *s="Test string"; + char *d=malloc(strlen(s)+1); + strcpy(d,s); + return 0; +} diff --git a/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrlen.c b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrlen.c new file mode 100644 index 0000000..8c348a9 --- /dev/null +++ b/tests/Regression/bz1871387-glibc-Improve-IBM-POWER9-architecture-performance/tstrlen.c @@ -0,0 +1,9 @@ +#include +#include + +int main() { + const char *s="Test string"; + size_t len; + len = strlen(s); + return 0; +} diff --git a/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/hang.c b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/hang.c new file mode 100644 index 0000000..98ad82c --- /dev/null +++ b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/hang.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include +#include +#include +#include + +static void * thr_func(void * arg) +{ + return arg; +} + +static void __attribute__((constructor)) init(void) +{ + pthread_atfork(NULL, NULL, init); +} + +int main(void) +{ + int rc; + pthread_t thr; + pid_t pid; + + // make libc know we use threads + if ((rc = pthread_create(&thr, NULL, thr_func, NULL))) { + fprintf(stderr, "pthread_create(): %d\n", rc); + return 1; + } + + if ((rc = pthread_join(thr, NULL))) { + fprintf(stderr, "pthread_join(): %d\n", rc); + return 1; + } + + // fork + if ((pid = fork()) == 0) { // child + return 0; + } + + if (pid < 0) { + fprintf(stderr, "fork(): %d\n", errno); + return 1; + } + + wait(NULL); + + return 0; +} diff --git a/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/main.fmf b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/main.fmf new file mode 100644 index 0000000..b8de3d8 --- /dev/null +++ b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/main.fmf @@ -0,0 +1,23 @@ +summary: 'Test for bz1888660 (glibc: pthread_atfork handlers that call pthread_atfork + deadlock).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.7 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.1 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1888660 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc +duration: 10m +extra-summary: + /tools/glibc/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock +extra-task: + /tools/glibc/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock diff --git a/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/runtest.sh b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/runtest.sh new file mode 100755 index 0000000..c39ecee --- /dev/null +++ b/tests/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1888660-glibc-pthread_atfork-handlers-that-call-pthread_atfork-deadlock +# Description: Test for bz1888660 (glibc: pthread_atfork handlers that call pthread_atfork deadlock). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTNAME="hang" +TIMEOUT=5 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ${TESTNAME}.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "gcc -pthread -o ${TESTNAME} ${TESTNAME}.c" + rlAssertExists "${TESTNAME}" + rlWatchdog "./${TESTNAME}" ${TIMEOUT} || rlFail "Test timeout, possible bz1888660 hit." + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/.testinfo.tmt b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/.testinfo.tmt new file mode 100644 index 0000000..aa22f7f --- /dev/null +++ b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/.testinfo.tmt @@ -0,0 +1,7 @@ +Description: Test for BZ#1915349 (libnsl needs to be in BaseOS (or AppStream)) +Owner: Sergey Kolosov +RunFor: glibc +RunTest: ./runtest.sh +Path: /mnt/tests/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream +Requires: glibc +TestTime: 10m diff --git a/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/main.fmf b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/main.fmf new file mode 100644 index 0000000..6cb2aab --- /dev/null +++ b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1915349 (libnsl needs to be in BaseOS (or AppStream)) +enabled: true +description: | + Bug summary: libnsl needs to be in BaseOS (or AppStream) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1915349 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1915349 +adjust: + - enabled: false + when: distro < rhel-9 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 10m +extra-summary: /tools/glibc/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream +extra-task: /tools/glibc/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream diff --git a/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/runtest.sh b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/runtest.sh new file mode 100755 index 0000000..27d1e5a --- /dev/null +++ b/tests/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream/runtest.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1915349-libnsl-needs-to-be-in-BaseOS-or-AppStream +# Description: Test for BZ#1915349 (libnsl needs to be in BaseOS (or AppStream)) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2021 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPKG="libnsl" +TESTMINVER="2.32.9000-26.el9" +PKGLOG="pkg_list" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + PACKNVR=$(rpm -q ${PACKAGE}.`arch`) + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "repo test" + rlRun -c "dnf repoquery ${TESTPKG} -i > ${PKGLOG}" + rlFileSubmit $PKGLOG + rlRun -l "grep Repository ${PKGLOG} | grep -i \"appstream\|baseos\"" + rlPhaseEnd + + rlPhaseStartTest "version test" + CURVER=$(dnf repoquery -q --queryformat '%{name}-%{version}-%{release}' ${TESTPKG}|head -n1) + rlRun -l "rlTestVersion \"${CURVER}\" '>=' \"${TESTPKG}-${TESTMINVER}\"" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/main.fmf b/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/main.fmf new file mode 100644 index 0000000..3d0891a --- /dev/null +++ b/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1924207 (glibc Letter 'w' or 'W' not in range [a-z] or) +enabled: true +description: | + Bug summary: glibc: Letter 'w' or 'W' not in range [a-z] or [A-Z] in sv_SE locale + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1924207 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1924207 +adjust: + - enabled: false + when: distro < rhel-9 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-langpack-sv +duration: 10m +extra-summary: /tools/glibc/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or +extra-task: /tools/glibc/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or diff --git a/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/runtest.sh b/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/runtest.sh new file mode 100755 index 0000000..af5eb89 --- /dev/null +++ b/tests/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or/runtest.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1924207-glibc-Letter-w-or-W-not-in-range-a-z-or +# Description: Test for BZ#1924207 (glibc Letter 'w' or 'W' not in range [a-z] or) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2021 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm glibc-langpack-sv + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "LANG=sv_SE.iso88591 && [[ w =~ [a-z] ]]" + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/main.fmf b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/main.fmf new file mode 100644 index 0000000..1b999fe --- /dev/null +++ b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#1927536 (glibc Static builds fail to link with "multiple) +description: | + Bug summary: glibc: Static builds fail to link with "multiple definition of `__isnanl'" [rhel-7.9.z] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1927536 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1927536 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - glibc-static +duration: 5m +extra-summary: /tools/glibc/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple +extra-task: /tools/glibc/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple diff --git a/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/runtest.sh b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/runtest.sh new file mode 100755 index 0000000..1ba26e1 --- /dev/null +++ b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple +# Description: Test for BZ#1927536 (glibc Static builds fail to link with "multiple) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2021 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="tst-isnanl" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "gcc -Wall -static ${TESTPROG}.c -o $TESTPROG -lm" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/tst-isnanl.c b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/tst-isnanl.c new file mode 100644 index 0000000..f174e33 --- /dev/null +++ b/tests/Regression/bz1927536-glibc-Static-builds-fail-to-link-with-multiple/tst-isnanl.c @@ -0,0 +1,8 @@ +/* reproducer from: Ben Webb + +int main() { + long double x = 0.; + return isnan(x); +} + diff --git a/tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/main.fmf b/tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/main.fmf new file mode 100644 index 0000000..cf85329 --- /dev/null +++ b/tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/main.fmf @@ -0,0 +1,24 @@ +summary: 'Test for BZ#1950056 (glibc: dynamic loader crashes when lazy binding some + libraries built with TLS variant gnu2)' +description: | + Bug summary: glibc: dynamic loader crashes when lazy binding some libraries built with TLS variant gnu2 [rhel-8] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1950056 +adjust: + - enabled: false + when: arch != x86_64 + - enabled: false + when: distro < rhel-8.6 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1950056 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc +duration: 15m +extra-summary: + /tools/glibc/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2 +extra-task: + /tools/glibc/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2 diff --git a/tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/reproducer.tar.gz b/tests/Regression/bz1950056-glibc-dynamic-loader-crashes-when-lazy-binding-some-libraries-built-with-TLS-variant-gnu2/reproducer.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..59d0f3cc6f00d3259dd61b5e83abc59760353c6e GIT binary patch literal 821879 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 Vx(dD5NJsA>p!FV6g;+|<1owCbVGY^(R0 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

    0KlSEJ+6k7!-+1aF{05*g4%QFt~srle_I;|N9O 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 +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartSetup + rlRun "tmpdir=$(mktemp -d)" + rlRun "cp reproducer.tar.gz $tmpdir" + rlRun "pushd $tmpdir" + rlRun -l "tar -xvzf reproducer.tar.gz" + rlRun -l "make all" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "LD_AUDIT=$tmpdir/auditor.so $tmpdir/dlmain $tmpdir/libmemkind.so" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -rf $tmpdir" + rlPhaseEnd + rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/main.fmf b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/main.fmf new file mode 100644 index 0000000..a901dc1 --- /dev/null +++ b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/main.fmf @@ -0,0 +1,21 @@ +summary: Test for BZ#1950247 ([FJ9.0 Bug] [REG] LTP pthread_cond_destroy_2-1) +description: | + Bug summary: [FJ9.0 Bug]: [REG] LTP pthread_cond_destroy_2-1 failed. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1950247 +adjust: + - enabled: false + when: distro < rhel-9 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1950247 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 20m +extra-summary: /tools/glibc/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1 +extra-task: /tools/glibc/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1 diff --git a/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/runtest.sh b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/runtest.sh new file mode 100755 index 0000000..a6e380a --- /dev/null +++ b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1 +# Description: Test for BZ#1950247 ([FJ9.0 Bug] [REG] LTP pthread_cond_destroy_2-1) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2021 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROG="test" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ${TESTPROG}.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc ${TESTPROG}.c -o $TESTPROG -lpthread" + rlAssertExists "$TESTPROG" + rlRun -c "./${TESTPROG}" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/test.c b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/test.c new file mode 100644 index 0000000..9e550a4 --- /dev/null +++ b/tests/Regression/bz1950247-FJ9-0-Bug-REG-LTP-pthread-cond-destroy-2-1/test.c @@ -0,0 +1,828 @@ +/* + * Copyright (c) 2004, Bull S.A.. All rights reserved. + * Created by: Sebastien Decugis + + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + * This sample test aims to check the following assertion: + * + * It is safe to destroy a condition variable when no thread is blocked on it. + + * The steps are: + * -> Some threads are waiting on a condition variable. + * -> A thread broadcasts and destroys immediatly the condvar, + * then corrupts the memory of the condvar. + * + * The test fails if it hangs or if an error is returned, either + * in the wait routines or in the destroy routine. + * + */ + +/********************************************************************************************/ +/****************************** standard includes *****************************************/ +/********************************************************************************************/ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/********************************************************************************************/ +/****************************** Test framework *****************************************/ +/********************************************************************************************/ +#if 0 // FJ_MOD +#include "../testfrmw/testfrmw.h" +#include "../testfrmw/testfrmw.c" + /* This header is responsible for defining the following macros: + * UNRESOLVED(ret, descr); + * where descr is a description of the error and ret is an int (error code for example) + * FAILED(descr); + * where descr is a short text saying why the test has failed. + * PASSED(); + * No parameter. + * + * Both three macros shall terminate the calling process. + * The testcase shall not terminate in any other maneer. + * + * The other file defines the functions + * void output_init() + * void output(char * string, ...) + * + * Those may be used to output information. + */ +#else // FJ_MOD +#define UNRESOLVED(ret, descr) printf(descr "\n");exit(1) +#define FAILED(descr) printf(descr "\n");exit(1) +#define PASSED +#define output_init() +#define output_fini() +#define output printf +#define PTS_FAIL 1 +#define PTS_ATTRIBUTE_UNUSED __attribute__((unused)) +#define VERBOSE 99 +#endif // FJ_MOD +#define UNRESOLVED_KILLALL(error, text, Tchild) { \ + if (td->fork) \ + { \ + int _nch; \ + for (_nch=0; _nchfork) \ + { \ + int _nch; \ + for (_nch=0; _nchmtx1); + if (ret != 0) { + UNRESOLVED(ret, "Failed to lock mutex in child"); + } + + /* increment count */ + td->count1++; + + timed = td->count1 & 1; + + if (timed) { + /* get current time if we are a timedwait */ + ret = clock_gettime(td->cid, &ts); + if (ret != 0) { + UNRESOLVED(errno, "Unable to read clock"); + } + ts.tv_sec += TIMEOUT; + } + + do { + /* Wait while the predicate is false */ + if (timed) + ret = pthread_cond_timedwait(&td->cnd, &td->mtx1, &ts); + else + ret = pthread_cond_wait(&td->cnd, &td->mtx1); + } while ((ret == 0) && (td->predicate1 == 0)); + if ((ret != 0) && (td->predicate1 != 0)) { + output("Wakening the cond failed with error %i (%s)\n", ret, + strerror(ret)); + FAILED + ("Destroying the cond var while threads were awaken but inside wait routine failed."); + } + if (ret != 0) { + UNRESOLVED(ret, "Failed to wait for the cond"); + } + + td->count1--; + + /* unlock the mutex */ + ret = pthread_mutex_unlock(&td->mtx1); + if (ret != 0) { + UNRESOLVED(ret, "Failed to unlock the mutex."); + } + + /* Second pass */ + + /* lock the mutex */ + ret = pthread_mutex_lock(&td->mtx2); + if (ret != 0) { + UNRESOLVED(ret, "Failed to lock mutex in child"); + } + + /* increment count */ + td->count2++; + + timed = td->count2 & 1; + + if (timed) { + /* get current time if we are a timedwait */ + ret = clock_gettime(td->cid, &ts); + if (ret != 0) { + UNRESOLVED(errno, "Unable to read clock"); + } + ts.tv_sec += TIMEOUT; + } + + do { + /* Wait while the predicate is false */ + if (timed) + ret = pthread_cond_timedwait(&td->cnd, &td->mtx2, &ts); + else + ret = pthread_cond_wait(&td->cnd, &td->mtx2); + } while ((ret == 0) && (td->predicate2 == 0)); + if ((ret != 0) && (td->predicate2 != 0)) { + output("Wakening the cond failed with error %i (%s)\n", ret, + strerror(ret)); + FAILED + ("Destroying the cond var while threads were awaken but inside wait routine failed."); + } + if (ret != 0) { + UNRESOLVED(ret, "Failed to wait for the cond"); + } + + /* unlock the mutex */ + ret = pthread_mutex_unlock(&td->mtx2); + if (ret != 0) { + UNRESOLVED(ret, "Failed to unlock the mutex."); + } + + return NULL; +} + +/* Timeout thread */ +static void *timer(void *arg) +{ + pid_t *pchildren = (pid_t *) arg; + unsigned int to = TIMEOUT; + do { + to = sleep(to); + } + while (to > 0); + FAILED_KILLALL("Test failed (hang)", pchildren); + return NULL; /* For compiler */ +} + +/* main function */ + +int main(void) +{ + int ret; + + pthread_mutexattr_t ma; + pthread_condattr_t ca; + + int scenar; + long pshared, monotonic, cs, mf; + + pid_t p_child[NTHREADS]; + pthread_t t_child[NTHREADS]; + int ch; + pid_t pid; + int status; + + pthread_t t_timer; + + testdata_t alternativ; + + output_init(); + + /* check the system abilities */ + pshared = sysconf(_SC_THREAD_PROCESS_SHARED); + cs = sysconf(_SC_CLOCK_SELECTION); + monotonic = sysconf(_SC_MONOTONIC_CLOCK); + mf = sysconf(_SC_MAPPED_FILES); + +#if VERBOSE > 0 + output("Test starting\n"); + output("System abilities:\n"); + output(" TPS : %li\n", pshared); + output(" CS : %li\n", cs); + output(" MON : %li\n", monotonic); + output(" MF : %li\n", mf); + if ((mf < 0) || (pshared < 0)) + output("Process-shared attributes won't be tested\n"); + if ((cs < 0) || (monotonic < 0)) + output("Alternative clock won't be tested\n"); +#endif + + /* We are not interested in testing the clock if we have no other clock available.. */ + if (monotonic < 0) + cs = -1; + +#ifndef USE_ALTCLK + if (cs > 0) + output + ("Implementation supports the MONOTONIC CLOCK but option is disabled in test.\n"); +#endif + +/********** + * Allocate space for the testdata structure + */ + if (mf < 0) { + /* Cannot mmap a file, we use an alternative method */ + td = &alternativ; + pshared = -1; /* We won't do this testing anyway */ +#if VERBOSE > 0 + output("Testdata allocated in the process memory.\n"); +#endif + } else { + /* We will place the test data in a mmaped file */ + char filename[] = "/tmp/cond_destroy-XXXXXX"; + size_t sz, ps; + void *mmaped; + int fd; + char *tmp; + + /* We now create the temp files */ + fd = mkstemp(filename); + if (fd == -1) { + UNRESOLVED(errno, + "Temporary file could not be created"); + } + + /* and make sure the file will be deleted when closed */ + unlink(filename); + +#if VERBOSE > 1 + output("Temp file created (%s).\n", filename); +#endif + + ps = (size_t) sysconf(_SC_PAGESIZE); + sz = ((sizeof(testdata_t) / ps) + 1) * ps; /* # pages needed to store the testdata */ + + tmp = calloc(1, sz); + if (tmp == NULL) { + UNRESOLVED(errno, "Memory allocation failed"); + } + + /* Write the data to the file. */ + if (write(fd, tmp, sz) != (ssize_t) sz) { + UNRESOLVED(sz, "Writting to the file failed"); + } + + free(tmp); + + /* Now we can map the file in memory */ + mmaped = + mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (mmaped == MAP_FAILED) { + UNRESOLVED(errno, "mmap failed"); + } + + td = (testdata_t *) mmaped; + + /* Our datatest structure is now in shared memory */ +#if VERBOSE > 1 + output("Testdata allocated in shared memory (%ib).\n", + sizeof(testdata_t)); +#endif + } + + /* Do the test for each test scenario */ + for (scenar = 0; scenar < (int)NSCENAR; scenar++) { + /* set / reset everything */ + td->fork = 0; + ret = pthread_mutexattr_init(&ma); + if (ret != 0) { + UNRESOLVED(ret, + "[parent] Unable to initialize the mutex attribute object"); + } + ret = pthread_condattr_init(&ca); + if (ret != 0) { + UNRESOLVED(ret, + "[parent] Unable to initialize the cond attribute object"); + } +#ifndef WITHOUT_XOPEN + /* Set the mutex type */ + ret = pthread_mutexattr_settype(&ma, scenarii[scenar].m_type); + if (ret != 0) { + UNRESOLVED(ret, "[parent] Unable to set mutex type"); + } +#endif + + /* Set the pshared attributes, if supported */ + if ((pshared > 0) && (scenarii[scenar].mc_pshared != 0)) { + ret = + pthread_mutexattr_setpshared(&ma, + PTHREAD_PROCESS_SHARED); + if (ret != 0) { + UNRESOLVED(ret, + "[parent] Unable to set the mutex process-shared"); + } + ret = + pthread_condattr_setpshared(&ca, + PTHREAD_PROCESS_SHARED); + if (ret != 0) { + UNRESOLVED(ret, + "[parent] Unable to set the cond var process-shared"); + } + } + + /* Set the alternative clock, if supported */ +#ifdef USE_ALTCLK + if ((cs > 0) && (scenarii[scenar].c_clock != 0)) { + ret = pthread_condattr_setclock(&ca, CLOCK_MONOTONIC); + if (ret != 0) { + UNRESOLVED(ret, + "[parent] Unable to set the monotonic clock for the cond"); + } + } + ret = pthread_condattr_getclock(&ca, &td->cid); + if (ret != 0) { + UNRESOLVED(ret, "Unable to get clock from cond attr"); + } +#else + td->cid = CLOCK_REALTIME; +#endif + + /* Tell whether the test will be across processes */ + if ((pshared > 0) && (scenarii[scenar].fork != 0)) { + td->fork = 1; + } + + /* Proceed to testing */ + /* initialize the mutex */ + ret = pthread_mutex_init(&td->mtx1, &ma); + if (ret != 0) { + UNRESOLVED(ret, "Mutex init failed"); + } + + ret = pthread_mutex_init(&td->mtx2, &ma); + if (ret != 0) { + UNRESOLVED(ret, "Mutex init failed"); + } + + ret = pthread_mutex_lock(&td->mtx2); + if (ret != 0) { + UNRESOLVED(ret, "Mutex lock failed"); + } + + /* initialize the condvar */ + ret = pthread_cond_init(&td->cnd, &ca); + if (ret != 0) { + UNRESOLVED(ret, "Cond init failed"); + } +#if VERBOSE > 2 + printf("# %s:\n", scenarii[scenar].descr); // FJ_MOD + output("[parent] Starting 1st pass of test %s\n", + scenarii[scenar].descr); +#endif + + td->count1 = 0; + td->count2 = 0; + td->predicate1 = 0; + td->predicate2 = 0; + + /* Create all the children */ + for (ch = 0; ch < NTHREADS; ch++) { + if (td->fork == 0) { + ret = + pthread_create(&t_child[ch], NULL, child, + NULL); + if (ret != 0) { + UNRESOLVED(ret, + "Failed to create a child thread"); + } + } else { + p_child[ch] = fork(); + if (p_child[ch] == -1) { + ret = errno; + for (--ch; ch >= 0; ch--) + kill(p_child[ch], SIGKILL); + UNRESOLVED(ret, + "Failed to create a child process"); + } + + if (p_child[ch] == 0) { /* We are the child */ + child(NULL); + exit(0); + } + } + } +#if VERBOSE > 4 + output("[parent] All children are running\n"); +#endif + + /* Make sure all children are waiting */ + ret = pthread_mutex_lock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to lock mutex", + p_child); + } + ch = td->count1; + while (ch < NTHREADS) { + ret = pthread_mutex_unlock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, + "Failed to unlock mutex", + p_child); + } + sched_yield(); + ret = pthread_mutex_lock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to lock mutex", + p_child); + } + ch = td->count1; + } + +#if VERBOSE > 4 + output("[parent] All children are waiting\n"); +#endif + + /* create the timeout thread */ + ret = pthread_create(&t_timer, NULL, timer, p_child); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Unable to create timer thread", + p_child); + } + + /* Wakeup the children */ + td->predicate1 = 1; + ret = pthread_cond_broadcast(&td->cnd); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, + "Failed to signal the condition.", + p_child); + } + + ret = pthread_mutex_unlock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to unlock mutex", + p_child); + } + + printf("[parent] Destroy condvar ...\n"); // FJ_MOD + + /* Destroy the condvar (this must be safe) */ + ret = pthread_cond_destroy(&td->cnd); + if (ret != 0) { + FAILED_KILLALL + ("Unable to destroy the cond while no thread is blocked inside", + p_child); + } + + /* Reuse the cond memory */ + memset(&td->cnd, 0xFF, sizeof(pthread_cond_t)); + +#if VERBOSE > 4 + output + ("[parent] Condition was broadcasted, and condvar destroyed.\n"); +#endif + + /* Make sure all children have exited the first wait */ + ret = pthread_mutex_lock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to lock mutex", + p_child); + } + ch = td->count1; + while (ch > 0) { + ret = pthread_mutex_unlock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, + "Failed to unlock mutex", + p_child); + } + sched_yield(); + ret = pthread_mutex_lock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to lock mutex", + p_child); + } + ch = td->count1; + } + + ret = pthread_mutex_unlock(&td->mtx1); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to unlock mutex", + p_child); + } + + /* Go toward the 2nd pass */ + /* Now, all children are waiting to lock the 2nd mutex, which we own here. */ + /* reinitialize the condvar */ + ret = pthread_cond_init(&td->cnd, &ca); + if (ret != 0) { + UNRESOLVED(ret, "Cond init failed"); + } +#if VERBOSE > 2 + output("[parent] Starting 2nd pass of test %s\n", + scenarii[scenar].descr); +#endif + + /* Make sure all children are waiting */ + ch = td->count2; + while (ch < NTHREADS) { + ret = pthread_mutex_unlock(&td->mtx2); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, + "Failed to unlock mutex", + p_child); + } + sched_yield(); + ret = pthread_mutex_lock(&td->mtx2); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to lock mutex", + p_child); + } + ch = td->count2; + } + +#if VERBOSE > 4 + output("[parent] All children are waiting\n"); +#endif + + /* Wakeup the children */ + td->predicate2 = 1; + ret = pthread_cond_broadcast(&td->cnd); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, + "Failed to signal the condition.", + p_child); + } + + /* Allow the children to terminate */ + ret = pthread_mutex_unlock(&td->mtx2); + if (ret != 0) { + UNRESOLVED_KILLALL(ret, "Failed to unlock mutex", + p_child); + } + + /* Destroy the condvar (this must be safe) */ + ret = pthread_cond_destroy(&td->cnd); + if (ret != 0) { + FAILED_KILLALL + ("Unable to destroy the cond while no thread is blocked inside", + p_child); + } + + /* Reuse the cond memory */ + memset(&td->cnd, 0x00, sizeof(pthread_cond_t)); + +#if VERBOSE > 4 + output + ("[parent] Condition was broadcasted, and condvar destroyed.\n"); +#endif + +#if VERBOSE > 4 + output("[parent] Joining the children\n"); +#endif + + /* join the children */ + for (ch = (NTHREADS - 1); ch >= 0; ch--) { + if (td->fork == 0) { + ret = pthread_join(t_child[ch], NULL); + if (ret != 0) { + UNRESOLVED(ret, + "Failed to join a child thread"); + } + } else { + pid = waitpid(p_child[ch], &status, 0); + if (pid != p_child[ch]) { + ret = errno; + output + ("Waitpid failed (expected: %i, got: %i)\n", + p_child[ch], pid); + for (; ch >= 0; ch--) { + kill(p_child[ch], SIGKILL); + } + UNRESOLVED(ret, "Waitpid failed"); + } + if (WIFEXITED(status)) { + /* the child should return only failed or unresolved or passed */ + if (ret != PTS_FAIL) + ret |= WEXITSTATUS(status); + } + } + } + if (ret != 0) { + output_fini(); + exit(ret); + } +#if VERBOSE > 4 + output("[parent] All children terminated\n"); +#endif + + /* cancel the timeout thread */ + ret = pthread_cancel(t_timer); + if (ret != 0) { + /* Strange error here... the thread cannot be terminated (app would be killed) */ + UNRESOLVED(ret, "Failed to cancel the timeout handler"); + } + + /* join the timeout thread */ + ret = pthread_join(t_timer, NULL); + if (ret != 0) { + UNRESOLVED(ret, "Failed to join the timeout handler"); + } + + /* Destroy the datas */ + ret = pthread_cond_destroy(&td->cnd); + if (ret != 0) { + UNRESOLVED(ret, "Failed to destroy the condvar"); + } + + ret = pthread_mutex_destroy(&td->mtx1); + if (ret != 0) { + UNRESOLVED(ret, "Failed to destroy the mutex"); + } + + ret = pthread_mutex_destroy(&td->mtx2); + if (ret != 0) { + UNRESOLVED(ret, "Failed to destroy the mutex"); + } + + /* Destroy the attributes */ + ret = pthread_condattr_destroy(&ca); + if (ret != 0) { + UNRESOLVED(ret, + "Failed to destroy the cond var attribute object"); + } + + ret = pthread_mutexattr_destroy(&ma); + if (ret != 0) { + UNRESOLVED(ret, + "Failed to destroy the mutex attribute object"); + } + + } + + /* exit */ + PASSED; +} + diff --git a/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/main.fmf b/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/main.fmf new file mode 100644 index 0000000..f98b8fb --- /dev/null +++ b/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/main.fmf @@ -0,0 +1,21 @@ +summary: 'Test for bz1961109 (glibc: iconv: missing macron (unicode 0xAF) in EBCDIC-CP-ES + (IBM284)).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.7 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1961109 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - vim-common +duration: 5m +extra-summary: + /tools/glibc/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284 +extra-task: + /tools/glibc/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284 diff --git a/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/runtest.sh b/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/runtest.sh new file mode 100755 index 0000000..8e6592c --- /dev/null +++ b/tests/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284/runtest.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz1961109-glibc-iconv-missing-macron-unicode-0xAF-in-EBCDIC-CP-ES-IBM284 +# Description: Test for bz1961109 (glibc: iconv: missing macron (unicode 0xAF) in EBCDIC-CP-ES (IBM284)). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest + for CODE in IBM256 IBM277 IBM278 IBM280 IBM284 IBM297 IBM424; do + rlRun -l "printf '\xbc' | iconv -f $CODE -t UTF-16BE | xxd | grep '00000000: 00af'" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/main.fmf b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/main.fmf new file mode 100644 index 0000000..34fcab7 --- /dev/null +++ b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/main.fmf @@ -0,0 +1,22 @@ +summary: 'Test for BZ#2007327 (glibc: Regression with pthread_once implementation.)' +description: | + Bug summary: glibc: Regression with pthread_once implementation. + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2007327 +adjust: + - enabled: false + when: distro < rhel-8.6 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2007327 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc-c++ +duration: 15m +extra-summary: + /tools/glibc/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation +extra-task: + /tools/glibc/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation diff --git a/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/runtest.sh b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/runtest.sh new file mode 100755 index 0000000..bbeb6f4 --- /dev/null +++ b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation +# Description: Test for BZ#2007327 (glibc: Regression with pthread_once implementation.) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +TIMEOUT=10 + +rlJournalStart + rlPhaseStartSetup + rlRun "tmpdir=$(mktemp -d)" + rlRun "cp test.c $tmpdir" + rlRun "pushd $tmpdir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "g++ -lpthread test.c -o test" + rlRun "./test > output.log 2>&1 &" + rlRun "TEST_PID=$!" + rlRun "sleep $TIMEOUT" + # Kill the process if it gets stuck + rlRun "kill -0 $TEST_PID" 1 + if [[ "$?" -eq 0 ]]; then + rlFail "Process '$TEST_PID' is probably stuck and will be killed." + rlRun "kill -9 $TEST_PID" + fi + rlLogInfo "Content of output.log:\n$(cat output.log)" + rlAssertGrep "Threw exception: Threw error" output.log + rlAssertGrep "Succeeded" output.log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -rf $tmpdir" + rlPhaseEnd + rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/test.c b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/test.c new file mode 100644 index 0000000..eddaf45 --- /dev/null +++ b/tests/Regression/bz2007327-glibc-Regression-with-pthread-once-implementation/test.c @@ -0,0 +1,32 @@ +#include +#include +#include + +namespace +{ +std::once_flag flag; +} // close anonymous namespace + +void mayThrow(bool willThrow = false) +{ + if (willThrow) + { + throw std::runtime_error("Threw error"); + } +} + +int main() +{ + try + { + std::call_once(flag, mayThrow, true); + } + catch (const std::exception& e) + { + std::cout << "Threw exception: " << e.what() << '\n'; + } + + std::call_once(flag, mayThrow, false); + std::cout << "Succeeded" << std::endl; + return EXIT_SUCCESS; +} diff --git a/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/main.fmf b/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/main.fmf new file mode 100644 index 0000000..3598fd9 --- /dev/null +++ b/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/main.fmf @@ -0,0 +1,26 @@ +summary: 'Test for BZ#2020989 (glibc: rpmbuild fails with --without benchtests)' +description: | + Bug summary: glibc: rpmbuild fails with --without benchtests + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2020989 +adjust: + - enabled: false + when: distro < rhel-8.6 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2020989 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc + - rpm-build + - yum-utils +duration: 4h +extra-summary: /tools/glibc/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests +extra-task: /tools/glibc/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests diff --git a/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/runtest.sh b/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/runtest.sh new file mode 100755 index 0000000..92d4782 --- /dev/null +++ b/tests/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests/runtest.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2020989-glibc-rpmbuild-fails-with-without-benchtests +# Description: Test for BZ#2020989 (glibc: rpmbuild fails with --without benchtests) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +BUILDLOG="glibc_build_log.txt" + +rlJournalStart + rlPhaseStartSetup + rlMountAllCommon + + BUILDDIR="$(rpm -E '%{_builddir}')" + SPECDIR="$(rpm -E '%{_specdir}')" + TOPDIR="$(rpm -E '%{_topdir}')" + + rlLog "Build directory: $BUILDDIR" + rlLog "Spec directory: $SPECDIR" + + rlLog "Cleaning rpmbuild directory" + rlRun "rm -rf $TOPDIR/*" 0 "Cleaning $TOPDIR/*" + rlRun "rm -rf glibc*.src.rpm" 0 "Removing any present glibc src.rpm" + + rlAssertRpm $PACKAGE + rlAssertRpm kernel + #report other software versions + rlRun -c "LDPATH=$(which ld)" + rlRun -c "GCCPATH=$(which gcc)" + rlRun -l "rpm -qf $LDPATH" + rlRun -l "rpm -qf $GCCPATH" + rlLog "Installing glibc srpm" + rlFetchSrcForInstalled $PACKAGE + rlRun "rpm -Uhv $PACKAGE*.src.rpm" + rlAssertExists $SPECDIR/$PACKAGE.spec + + rlRun -c "yum-builddep -y $PACKAGE-*.src.rpm" 0 "Installing dependences" + + rlLog "Build (glibc) log: $BUILDLOG" + + rlPhaseEnd + + rlPhaseStartTest "Building glibc --without benchtests" + rlRun "rpmbuild --target=$(uname -m) --without benchtests -ba $SPECDIR/$PACKAGE.spec &> $BUILDLOG" 0 "Compliling $PACKAGE" + rlAssertNotGrep "error: Could not open %files file .*/glibc.filelist: No such file or directory" $BUILDLOG + rlRun "ls -lR $BUILDDIR/../RPMS/ | grep glibc-benchtests" 1 # glibc-benchtests shouldn't be build + rlFileSubmit $BUILDLOG + rlPhaseEnd + + rlPhaseStartCleanup + if [ -n "$KEEP_GLIBC_RESULTS" ]; then + rlLog "$(pwd) contains:" + rlLog "$(ls $(pwd))" + rlLog "Build Directory at: $(ls $BUILDDIR)" + rlLog "Spec File at: $(ls $SPECDIR/glibc*.spec)" + else + rlRun "rm glibc*.src.rpm" + rlRun "rm -rf $BUILDDIR/glibc* $SPECDIR/glibc*.spec" + rlRun "rm $BUILDLOG" + rlRun "ls" + fi + rlPhaseEnd + rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/main.fmf b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/main.fmf new file mode 100644 index 0000000..ee50b84 --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/main.fmf @@ -0,0 +1,27 @@ +summary: 'Test for bz2028296 (glibc: TLS performance degradation when loading two + or more threads).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.10 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.4 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2028296 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc + - gcc-c++ + - make + - glibc-devel + - openssl-devel +duration: 10m +extra-summary: + /tools/glibc/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads +extra-task: + /tools/glibc/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/runtest.sh b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/runtest.sh new file mode 100755 index 0000000..b0d555a --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/runtest.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads +# Description: Test for bz2028296 (glibc: TLS performance degradation when loading two or more threads). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +# Returns percentual difference between two numbers, if the first number +# is smaller, the number will be negative. +percentDifference() { + bc <<< "scale=4 ; ( $1-$2 ) / $1 * 100" +} + +PACKAGE="glibc" +TRESHOLD="20.0" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp src/* $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + # compile and run tls example + rlRun "make" + rlAssertExists "tls-test" + rlRun "./tls-test &> log" + + # make sure lib1 variable access time is consistent + rlRun "LIB1_LOADED=$(cat log | grep 'lib1 variable' | rev | cut -d ' ' -f 1 | cut -c3- | rev | sed -n '1p')" + rlRun "LIB2_LOADED=$(cat log | grep 'lib1 variable' | rev | cut -d ' ' -f 1 | cut -c3- | rev | sed -n '2p')" + rlRun "LIB2_ACCESSED=$(cat log | grep 'lib1 variable' | rev | cut -d ' ' -f 1 | cut -c3- | rev | sed -n '3p')" + # check that access time do not differ more than TRESHOLD + rlRun "LIB_DIFF=$(percentDifference $LIB1_LOADED $LIB2_LOADED)" + LIB_DIFF=${LIB_DIFF#-} + LIB_PASS=$(bc <<< "$LIB_DIFF<$TRESHOLD") + rlAssertEquals "Test the difference is less than $TRESHOLD%" "$LIB_PASS" "1" + rlRun "LIB_DIFF=$(percentDifference $LIB1_LOADED $LIB2_ACCESSED)" + LIB_DIFF=${LIB_DIFF#-} + LIB_PASS=$(bc <<< "$LIB_DIFF<$TRESHOLD") + rlAssertEquals "Test the difference is less than $TRESHOLD%" "$LIB_PASS" "1" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/Makefile b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/Makefile new file mode 100644 index 0000000..92f6b11 --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/Makefile @@ -0,0 +1,17 @@ +CXX = g++ +CXXFLAGS = -O0 -g -Wall -fPIC -std=c++11 +RM = rm -f + +.PHONY: clean archive +.SUFFIXES: .so + +default: tls-test libtls1.so libtls2.so +clean: + $(RM) tls-test libtls1.so libtls2.so tls1.o tls2.o tls-test.shar +archive: + shar -q -V Makefile main.cpp tls1.cpp tls2.cpp >tls-test.shar + +tls-test: main.cpp + $(CXX) $(CXXFLAGS) -ftls-model=initial-exec -o $@ $^ -lpthread -ldl +lib%.so: %.o + $(CXX) -shared -Wl,-soname,$@ -o $@ $^ -lc diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/main.cpp b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/main.cpp new file mode 100644 index 0000000..c840a9a --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/main.cpp @@ -0,0 +1,83 @@ +/* + * Demonstrate pathological __tls_get_addr_slow(). Load two shared libs + * with TLS via dlopen(). Until we access the TLS in the second library, + * accessing the TLS in the first library always uses __tls_get_addr_slow(). + */ +#include +#include +#include +#include +#include + +namespace { + +using TestFn = int(*)(); + +TestFn Load(const char* path, const char* fnName) +{ + void* handle = dlopen(path, RTLD_LAZY | RTLD_LOCAL); + if (not handle) { + fprintf(stderr, "failed to load '%s': %s\n", path, dlerror()); + exit(1); + } + auto fn = (TestFn)dlsym(handle, fnName); + if (not fn) { + fprintf(stderr, "failed to find symbol '%s': %s\n", fnName, dlerror()); + exit(1); + } + return fn; +} + +void Benchmark(const char* label, TestFn fn, size_t n) +{ + struct timeval t0, t1; + gettimeofday(&t0, nullptr); + for (size_t i = 0; i != n; ++i) { + fn(); + } + gettimeofday(&t1, nullptr); + const double dt = (t1.tv_sec - t0.tv_sec) + + 1.e-6 * (t1.tv_usec - t0.tv_usec); + fprintf(stdout, " %-30s: %.3fms\n", label, 1e3 * dt); +} + +int x; +thread_local int y; + +int f() { return x; } +int f0() { return y; } + +} + +int +main(int, char**) +{ + size_t n = 300000000lu; + + fprintf(stdout, "none loaded\n"); + Benchmark("main normal variable", f, n); + Benchmark("main thread-local variable", f0, n); + + // Load first module and benchmark. + TestFn f1 = Load("./libtls1.so", "fn1"); + fprintf(stdout, "lib1 loaded\n"); + Benchmark("main normal variable", f, n); + Benchmark("main thread-local variable", f0, n); + Benchmark("lib1 variable", f1, n); + + // Load second module and benchmark stuff again. + TestFn f2 = Load("./libtls2.so", "fn2"); + fprintf(stdout, "lib2 loaded\n"); + Benchmark("main normal variable", f, n); + Benchmark("main thread-local variable", f0, n); + Benchmark("lib1 variable", f1, n); + + // Use module2's TLS variable and benchmark first module a third time + f2(); + fprintf(stdout, "lib2 accessed\n"); + Benchmark("main normal variable", f, n); + Benchmark("main thread-local variable", f0, n); + Benchmark("lib1 variable", f1, n); + + return 0; +} diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls1.cpp b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls1.cpp new file mode 100644 index 0000000..4359984 --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls1.cpp @@ -0,0 +1,2 @@ +static thread_local int x; +extern "C" int fn1() { return ++x; } diff --git a/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls2.cpp b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls2.cpp new file mode 100644 index 0000000..0bc4780 --- /dev/null +++ b/tests/Regression/bz2028296-glibc-TLS-performance-degradation-when-loading-two-or-more-threads/src/tls2.cpp @@ -0,0 +1,2 @@ +static thread_local int x; +extern "C" int fn2() { return ++x; } diff --git a/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/main.fmf b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/main.fmf new file mode 100644 index 0000000..6ccaad6 --- /dev/null +++ b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/main.fmf @@ -0,0 +1,22 @@ +summary: Test for BZ#2063042 (_FORTIFY_SOURCE does not work for stpcpy [8.7.0]) +description: | + Bug summary: _FORTIFY_SOURCE does not work for stpcpy [8.7.0] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2063042 +adjust: + - enabled: false + when: distro < rhel-8.7 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.1 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2063042 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 5m +extra-summary: /tools/glibc/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy +extra-task: /tools/glibc/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy diff --git a/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/runtest.sh b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/runtest.sh new file mode 100755 index 0000000..54c9db6 --- /dev/null +++ b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/runtest.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy +# Description: Test for BZ#2063042 (_FORTIFY_SOURCE does not work for stpcpy [8.7.0]) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE='glibc' +TEST_NAME='test' + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "tmpdir=$(mktemp -d)" + rlRun "cp ${TEST_NAME}.c $tmpdir" + rlRun "pushd $tmpdir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "gcc -D_FORTIFY_SOURCE=2 -O2 -S ${TEST_NAME}.c -o ${TEST_NAME}.s" + rlAssertGrep "stpcpy_chk" "${TEST_NAME}.s" + # remove assember strings with stpcpy_chk from test.s to avoid false positive failure + rlRun "grep -v stpcpy_chk ${TEST_NAME}.s > ${TEST_NAME}_filtered.s" + rlAssertNotGrep "stpcpy" "${TEST_NAME}_filtered.s" + rlFileSubmit ${TEST_NAME}.s + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -rf $tmpdir" + rlPhaseEnd + rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/test.c b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/test.c new file mode 100644 index 0000000..2e67ff7 --- /dev/null +++ b/tests/Regression/bz2063042-FORTIFY-SOURCE-does-not-work-for-stpcpy/test.c @@ -0,0 +1,16 @@ +#include + +void f (void*); +void g (void) +{ + char a[8]; + strcat (strcpy (a, "12345678"), "abcdefgh"); + f (a); +} + +void h (void) +{ + char a[8]; + stpcpy (stpcpy (a, "12345678"), "abcdefgh"); + f (a); +} diff --git a/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/main.fmf b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/main.fmf new file mode 100644 index 0000000..f5f5e26 --- /dev/null +++ b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/main.fmf @@ -0,0 +1,18 @@ +summary: Test for BZ#2072329 (mbsrtowcs and mbsnrtowcs fortification should be skipped + for NULL __dst) +description: '' +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2072329 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst +extra-task: + /tools/glibc/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst diff --git a/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/runtest.sh b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/runtest.sh new file mode 100755 index 0000000..51a8467 --- /dev/null +++ b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst +# Description: Test for BZ#2072329 (mbsrtowcs and mbsnrtowcs fortification should be skipped for NULL __dst) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTFILE="test.c" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp $TESTFILE $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc -O2 -Wp,-D_FORTIFY_SOURCE=2 $TESTFILE -o test > compile.log 2>&1" + rlAssertExists "test" + rlAssertExists "compile.log" + rlAssertNotGrep "mbsrtowcs" compile.log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/test.c b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/test.c new file mode 100644 index 0000000..bef8776 --- /dev/null +++ b/tests/Regression/bz2072329-mbsrtowcs-and-mbsnrtowcs-fortification-should-be-skipped-for-NULL-__dst/test.c @@ -0,0 +1,7 @@ +#include + +int main (void) { + const char *hw = "HelloWorld"; + mbsrtowcs (NULL, &hw, (size_t)-1, NULL); + return 0; +} diff --git a/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/main.fmf b/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/main.fmf new file mode 100644 index 0000000..8bd2fb2 --- /dev/null +++ b/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/main.fmf @@ -0,0 +1,23 @@ +summary: 'Test for bz2086853 (glibc: Ensure that fortification condition checks are + constant).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.7 + - enabled: false + when: distro == rhel-9 and distro < rhel-9.1 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2086853 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel +duration: 5m +extra-summary: + /tools/glibc/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant +extra-task: + /tools/glibc/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant diff --git a/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/runtest.sh b/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/runtest.sh new file mode 100755 index 0000000..72932f5 --- /dev/null +++ b/tests/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant/runtest.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2086853-glibc-Ensure-that-fortification-condition-checks-are-constant +# Description: Test for bz2086853 (glibc: Ensure that fortification condition checks are constant). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "cat /usr/include/sys/cdefs.h > output" + # check change done in 'c8ee1c85c07b3c9eaef46355cb1095300855e8fa' is present + rlAssertGrep '((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1)' output + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/main.fmf b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/main.fmf new file mode 100644 index 0000000..c84dda8 --- /dev/null +++ b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/main.fmf @@ -0,0 +1,21 @@ +summary: 'Test for bz#2089247 (glibc: tempnam() regregresion in glibc affecting RedHat + 8.4+)' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.7 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2089247 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc-c++ +duration: 15m +extra-summary: + /tools/glibc/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4 +extra-task: + /tools/glibc/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4 diff --git a/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/runtest.sh b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/runtest.sh new file mode 100755 index 0000000..1a04856 --- /dev/null +++ b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4 +# Description: Test for bz#2089247 (glibc: tempnam() regregresion in glibc affecting RedHat 8.4+) +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTNAME="tempnam" +ITERATIONS=10 +TRESHOLD=100000 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ${TESTNAME}.cpp $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "g++ -o $TESTNAME ${TESTNAME}.cpp" + rlAssertExists "$TESTNAME" + sum=0 + for i in $(seq 1 ${ITERATIONS}); do + rlRun "./${TESTNAME} | tee output_${i}" + count=$(cat output_${i} | sed 's/[^0-9]*//g') + sum=$(($sum + $count)) + done + rlAssertGreater "Check the average number of generated unique filenames is high enough." $((sum / ${ITERATIONS})) ${TRESHOLD} + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/tempnam.cpp b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/tempnam.cpp new file mode 100644 index 0000000..2f4c037 --- /dev/null +++ b/tests/Regression/bz2089247-glibc-tempnam-regregresion-in-glibc-affecting-RedHat-8-4/tempnam.cpp @@ -0,0 +1,15 @@ +#include +#include +int main(int argc, char **argv) +{ + std::map m; + int i; + for (i=0; i<1000000; i++) { + auto ret = m.insert(std::pair(tempnam(NULL, "a"),1)); + if (ret.second == false) { + break; + } + } + std::cout << "Generated " << i << " tempnam() distinct entries\n"; + return 0; +} diff --git a/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/main.fmf b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/main.fmf new file mode 100644 index 0000000..560b1bc --- /dev/null +++ b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/main.fmf @@ -0,0 +1,25 @@ +summary: 'Test for bz2091549 (glibc: Incorrect results of POWER9-optimized strncpy).' +description: '' +contact: Martin Coufal +tag: + - power9 + - power10 +adjust: + - enabled: false + when: arch != ppc64le + - enabled: false + when: distro < rhel-8.6 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2091549 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 5m +extra-summary: + /tools/glibc/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy +extra-task: + /tools/glibc/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy diff --git a/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/runtest.sh b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/runtest.sh new file mode 100755 index 0000000..d728480 --- /dev/null +++ b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/runtest.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy +# Description: Test for bz2091549 (glibc: Incorrect results of POWER9-optimized strncpy). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTNAME="test" +THECPUVER=0 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + lscpu |grep "Model name"|grep 'POWER9' + if [ $? -eq 0 ]; then + THECPUVER=9 + fi + lscpu |grep "Model name"|grep 'POWER10' + if [ $? -eq 0 ]; then + THECPUVER=10 + fi + if [ $THECPUVER -le 8 ]; then + rlFail "We need POWER9 or POWER10 machine." + rlPhaseEnd; rlJournalPrintText; rlJournalEnd + exit 0 + fi + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ${TESTNAME}.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc ${TESTNAME}.c -o ${TESTNAME}" 0 "Compiling" + rlAssertExists "${TESTNAME}" + rlRun "./${TESTNAME}" 0 "Running the test" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/test.c b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/test.c new file mode 100644 index 0000000..05efb15 --- /dev/null +++ b/tests/Regression/bz2091549-glibc-Incorrect-results-of-POWER9-optimized-strncpy/test.c @@ -0,0 +1,18 @@ +/* source: https://sourceware.org/bugzilla/show_bug.cgi?id=29197 */ +#include +#include + +#define N 3 +char a[N]; +char c[N]; + +int +main (void) +{ + __asm__ volatile ("xxspltib 18, 0xf":::"vs18"); + strncpy (c, a, N); + for (unsigned i = 0; i < N; i++) + if (c[i]) + abort (); + return 0; +} diff --git a/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/main.fmf b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/main.fmf new file mode 100644 index 0000000..cf13bb4 --- /dev/null +++ b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/main.fmf @@ -0,0 +1,23 @@ +summary: Test for BZ#2104907 (Bad locale en_US@ampm.UTF-8 with glibc-all-langpacks). +description: '' +adjust: + - enabled: false + when: distro < rhel-8.7 +contact: Martin Coufal +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2104907 +component: + - glibc +tag: + - regression +test: ./runtest.sh +order: 1000 +framework: beakerlib +recommend: + - glibc + - gcc +duration: 10m +extra-summary: + /tools/glibc/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks +extra-task: + /tools/glibc/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks diff --git a/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/runtest.sh b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/runtest.sh new file mode 100755 index 0000000..333fdec --- /dev/null +++ b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/runtest.sh @@ -0,0 +1,131 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks +# Description: Test for BZ#2104907 (Bad locale en_US@ampm.UTF-8 with glibc-all-langpacks). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +function checklocale () +{ + if locale -a | grep -q "^${1}$"; then + rlPass "Locale '$1': available" + else + rlFail "Locale '$1': missing" + fi +} + +function testlocale () +{ + CHRMP=$(LC_ALL="$1" locale charmap) + if [ "$CHRMP" == "UTF-8" ]; then + rlPass "'$1' is UTF-8" + else + rlFail "'$1' is '$CHRMP' instead of UTF-8" + fi + DATE=$(LC_TIME="$1" date) + if echo $DATE | grep -q '\s[AP]M\s'; then + rlPass "'$1' shows AM/PM time" + else + rlFail "'$1' does not show AM/PM time" + fi +} + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp test-setlocale-with-locale-a.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -o test-setlocale-with-locale-a test-setlocale-with-locale-a.c" + rlAssertExists "test-setlocale-with-locale-a" + rlPhaseEnd + + rlPhaseStartTest "glibc-langpack-en is installed but glibc-all-langpacks is NOT installed" + # make sure correct packages are present + rlRun "yum -y install glibc-langpack-en" + rlRun "yum -y remove glibc-all-langpacks" + rlAssertRpm glibc-langpack-en + rlAssertNotRpm glibc-all-langpacks + + # Make sure these two locales are definitely present (AM/PM locales are specific to rhel8) + if rlIsRHEL 8; then + checklocale en_US.utf8@ampm + checklocale en_US@ampm + fi + + # Test *any* ampm locales found on the system for charmap and date + for l in $(locale -a | grep 'en_US.*@ampm'); do + rlLogInfo "Testing locale $l" + testlocale $l + done + + # Test *all* locales on the system for setlocale + for l in $(locale -a); do + if ./test-setlocale-with-locale-a $l; then + rlPass "setlocale ($l) passed" + else + rlFail "setlocale ($l) failed" + fi + done + rlPhaseEnd + + rlPhaseStartTest "glibc-all-langpacks is installed and no other langpack installed" + # make sure correct packages are present + rlRun "yum -y install glibc-all-langpacks" + rlRun "yum -y remove glibc-langpack-*" + rlAssertRpm glibc-all-langpacks + rlAssertNotRpm glibc-langpack-en + + # Make sure these two locales are definitely present (AM/PM locales are specific to rhel8) + if rlIsRHEL 8; then + checklocale en_US.utf8@ampm + checklocale en_US@ampm + fi + + # Test *any* ampm locales found on the system for charmap and date + for l in $(locale -a | grep 'en_US.*@ampm'); do + rlLogInfo "Testing locale $l" + testlocale $l + done + + # Test *all* locales on the system for setlocale + for l in $(locale -a); do + if ./test-setlocale-with-locale-a $l; then + rlPass "setlocale ($l) passed" + else + rlFail "setlocale ($l) failed" + fi + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/test-setlocale-with-locale-a.c b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/test-setlocale-with-locale-a.c new file mode 100644 index 0000000..b0eafb2 --- /dev/null +++ b/tests/Regression/bz2104907-Bad-locale-en_US-ampm-UTF-8-with-glibc-all-langpacks/test-setlocale-with-locale-a.c @@ -0,0 +1,15 @@ +#include +#include + +int +main (int argc, char *argv[]) +{ + char *locale = argv[1]; + int fail = 0; + + for (int i = 0; i < 13; i++) + if (!setlocale(i, locale)) + fail = 1; + + return fail; +} diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/ipc64_header.h b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/ipc64_header.h new file mode 100644 index 0000000..99cbde5 --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/ipc64_header.h @@ -0,0 +1,4 @@ +#ifndef __IPC_64 +# define __IPC_64 0x100 +#endif + diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/main.fmf b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/main.fmf new file mode 100644 index 0000000..b7ff6a8 --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/main.fmf @@ -0,0 +1,25 @@ +summary: Test for BZ#2141685 (glibc Restore IPC_64 support in sysvipc *ctl) +enabled: true +description: | + Bug summary: glibc: Restore IPC_64 support in sysvipc *ctl functions [rhel-9.2.0] + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2141685 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2141685 +adjust: + - enabled: false + when: arch != ppc64le + continue: false + - enabled: false + when: distro < rhel-8.8 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 10m +extra-summary: /tools/glibc/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl +extra-task: /tools/glibc/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/runtest.sh b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/runtest.sh new file mode 100755 index 0000000..04a1876 --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl +# Description: Test for BZ#2141685 (glibc Restore IPC_64 support in sysvipc *ctl) +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPROGS="tst-msgctl tst-semctl tst-shmctl" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp ipc64_header.h $TESTTMPDIR" + for T in ${TESTPROGS}; do + rlRun "cp ${T}.c $TESTTMPDIR" + done + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + for T in ${TESTPROGS}; do + rlPhaseStartTest ${T} + rlRun -c "gcc ${T}.c -o $T" + rlAssertExists "$T" + rlRun -c "./${T}" + rlPhaseEnd + done + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-msgctl.c b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-msgctl.c new file mode 100644 index 0000000..30f9efd --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-msgctl.c @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include + +#include "ipc64_header.h" + +int main(int argc, char *argv[]) { + int m_id; + + key_t key = ftok(".", 'm'); + + if((m_id = msgget(key, IPC_CREAT|0660)) == -1) { + perror("msgget"); + exit(1); + } + + if(msgctl(m_id, IPC_RMID|__IPC_64, 0) == -1) { + perror("msgctl"); + exit(1); + } + + return 0; +} diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-semctl.c b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-semctl.c new file mode 100644 index 0000000..dfe9d77 --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-semctl.c @@ -0,0 +1,33 @@ +#include +#include +#include +#include +#include + +#include "ipc64_header.h" + +union semun { + int val; /* Value for SETVAL */ + struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ + unsigned short *array; /* Array for GETALL, SETALL */ + struct seminfo *__buf; /* Buffer for IPC_INFO + (Linux-specific) */ +}; + + +int main(int argc, char *argv[]) { + int s_id; + union semun s_union; + + if ((s_id = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600)) == -1) { + perror("semget"); + exit(1); + } + + if(semctl(s_id, 0, IPC_RMID|__IPC_64, 0) == -1) { + perror("semctl"); + exit(1); + } + + return 0; +} diff --git a/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-shmctl.c b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-shmctl.c new file mode 100644 index 0000000..7071e36 --- /dev/null +++ b/tests/Regression/bz2141685-glibc-Restore-IPC-64-support-in-sysvipc-ctl/tst-shmctl.c @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include + +#include "ipc64_header.h" + +#define MEM_SIZE 32 + +int main(int argc, char *argv[]) { + int s_id; + + if ((s_id = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600)) == -1) { + perror("shmget"); + exit(1); + } + + if(shmctl(s_id, IPC_RMID|__IPC_64, 0) == -1) { + perror("shmctl"); + exit(1); + } + + return 0; +} diff --git a/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/bz2183081.cpp b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/bz2183081.cpp new file mode 100644 index 0000000..6c0807f --- /dev/null +++ b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/bz2183081.cpp @@ -0,0 +1,32 @@ +#include +#include + +void raises_invalid_and_divbyzero1() +{ + std::feraiseexcept(FE_DIVBYZERO); + std::feraiseexcept(FE_INVALID); +} + +void raises_invalid_and_divbyzero2() +{ + std::feraiseexcept(FE_INVALID | FE_DIVBYZERO); +} + +void raises_invalid_and_divbyzero3() +{ + std::feraiseexcept(FE_INVALID); + std::feraiseexcept(FE_DIVBYZERO); +} + +int main() +{ + raises_invalid_and_divbyzero1(); + assert((FE_INVALID | FE_DIVBYZERO) == std::fetestexcept(FE_ALL_EXCEPT)); + std::feclearexcept(FE_ALL_EXCEPT); + raises_invalid_and_divbyzero2(); + assert((FE_INVALID | FE_DIVBYZERO) == std::fetestexcept(FE_ALL_EXCEPT)); + std::feclearexcept(FE_ALL_EXCEPT); + raises_invalid_and_divbyzero3(); + assert((FE_INVALID | FE_DIVBYZERO) == std::fetestexcept(FE_ALL_EXCEPT)); +} + diff --git a/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/main.fmf b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/main.fmf new file mode 100644 index 0000000..6fd6ec9 --- /dev/null +++ b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/main.fmf @@ -0,0 +1,20 @@ +summary: 'Test for bz2183081 (glibc: Incorrect x86 inline feraiseexcept).' +description: '' +contact: Martin Coufal +adjust: + - enabled: false + when: arch != x86_64 + - enabled: false + when: distro < rhel-8.9 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=2183081 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc-c++ +duration: 5m +extra-summary: /tools/glibc/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept +extra-task: /tools/glibc/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept diff --git a/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/runtest.sh b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/runtest.sh new file mode 100755 index 0000000..04ca445 --- /dev/null +++ b/tests/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept/runtest.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz2183081-glibc-Incorrect-x86-inline-feraiseexcept +# Description: Test for bz2183081 (glibc: Incorrect x86 inline feraiseexcept). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TEST_NAME="bz2183081" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ${TEST_NAME}.cpp $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "g++ -O1 -std=c++14 ${TEST_NAME}.cpp -o ${TEST_NAME}" 0 + rlAssertExists "$TEST_NAME" + rlRun "./${TEST_NAME}" 0 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz437571-vfork-execvp-memleak/execvp-leak.c b/tests/Regression/bz437571-vfork-execvp-memleak/execvp-leak.c new file mode 100644 index 0000000..d2f794b --- /dev/null +++ b/tests/Regression/bz437571-vfork-execvp-memleak/execvp-leak.c @@ -0,0 +1,26 @@ +#define _GNU_SOURCE + +#include +#include +#include +#include + +int +main (int argc, char **argv) +{ + char *cmd[3] = { (char *) "true", (char *) "1", NULL }; + pid_t child; + + while (1) + { + child = vfork (); + if (child == 0) + { + execvp (*cmd, cmd); + } + usleep (500000); + waitpid (child, NULL, 0); + } + + return 0; +} diff --git a/tests/Regression/bz437571-vfork-execvp-memleak/main.fmf b/tests/Regression/bz437571-vfork-execvp-memleak/main.fmf new file mode 100644 index 0000000..64c01f4 --- /dev/null +++ b/tests/Regression/bz437571-vfork-execvp-memleak/main.fmf @@ -0,0 +1,27 @@ +summary: Tests a memory leak in glibc which occured when execvp called after vfork. +description: | + Test Name: bz437571-vfork-execvp-memleak - Bugzilla(s) 437571 + Author: Petr Muller + Location: /tools/glibc/Regression/bz437571-vfork-execvp-memleak + + Short Description: Tests a memory leak in glibc which occured when execvp called after vfork. + + + Long Description: + Tests a memory leak in glibc which occured when execvp called after vfork. +contact: Petr Muller +tier: 1 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=437571 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gdb + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz437571-vfork-execvp-memleak +extra-task: /tools/glibc/Regression/bz437571-vfork-execvp-memleak diff --git a/tests/Regression/bz437571-vfork-execvp-memleak/runtest.sh b/tests/Regression/bz437571-vfork-execvp-memleak/runtest.sh new file mode 100755 index 0000000..2c17c7f --- /dev/null +++ b/tests/Regression/bz437571-vfork-execvp-memleak/runtest.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz437571-vfork-execvp-memleak +# Description: Tests a memory leak in glibc which occured when execvp called after vfork. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc gdb glibc glibc-devel" + +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + + rlRun "gcc -o execvp-leak execvp-leak.c" + rlAssertExists "execvp-leak" + rlPhaseEnd + + rlPhaseStartTest + + # Run in background + rlLog "Running: ./execvp-leak &" + ./execvp-leak & + PID=$! + rlLog "PID: $PID" + + rlRun "sleep 10" + + # Create core file and extract stats + rlRun "gcore $PID" + rlRun "num_true_strings1=$(strings -a core.$PID | grep true | wc -l)" + rlRun "mem1=$(ps -o 'vsz' -p $PID | tail -n 1 | tr -d ' ')" + rlRun "rm core.$PID" + + rlRun "sleep 30" + + # Create another core file and extract stats + rlRun "gcore $PID" + rlRun "num_true_strings2=$(strings -a core.$PID | grep true | wc -l)" + rlRun "mem2=$(ps -o 'vsz' -p $PID | tail -n 1 | tr -d ' ')" + + rlRun "kill -9 $PID" + rlRun "sleep 2" + rlRun "kill -0 $PID" 1 + + rlAssertGreaterOrEqual "Number of 'true' strings must not increase" "$num_true_strings1" "$num_true_strings2" + rlAssertGreaterOrEqual "Memory consumption must not increase" "$mem1" "$mem2" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/main.fmf b/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/main.fmf new file mode 100644 index 0000000..dc88bcd --- /dev/null +++ b/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/main.fmf @@ -0,0 +1,19 @@ +summary: Test for bz448011 (Upgrade to RHEL5.2 - SELinux Stopping Apache) +description: | + Bug summary: Upgrade to RHEL5.2 - SELinux Stopping Apache Worker from Loading + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=448011 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=448011 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - httpd + - selinux-policy + - selinux-policy-targeted +duration: 5m +extra-summary: /tools/glibc/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache +extra-task: /tools/glibc/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache diff --git a/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/runtest.sh b/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/runtest.sh new file mode 100755 index 0000000..6081541 --- /dev/null +++ b/tests/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache/runtest.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz448011-Upgrade-to-RHEL5-2-SELinux-Stopping-Apache +# Description: Test for bz448011 (Upgrade to RHEL5.2 - SELinux Stopping Apache) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc httpd selinux-policy-targeted selinux-policy) +sysconfig=/etc/sysconfig/httpd +httconfig=/etc/httpd/conf/httpd.conf +insconfig='\n ThreadLimit 100\n StartServers 2\n MaxClients 300\n MinSpareThreads 100\n MaxSpareThreads 300\n ThreadsPerChild 100\n MaxRequestsPerChild 0\n ' + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "getenforce | grep -q Enforcing" + # here I should probably check for 0 only, but init.d scripts are broken + # in rhel5 in general and currently I don't want to deal with it + rlRun "service httpd stop" 0-255 "Making sure httpd is stopped" + # cannot count on beakerlib, it should be more stable + [[ -f "$sysconfig" ]] || rlRun "touch $sysconfig" + rlRun "cp -f $sysconfig $sysconfig.backup" + rlRun "cp -f $httconfig $httconfig.backup" + # could be handled better, I'm in no mood to play with it + rlRun "sed -i 's/^.*HTTPD.*$//' $sysconfig" + rlRun "echo 'HTTPD=/usr/sbin/httpd.worker' >> $sysconfig" + rlRun "sed -i '//,/<\/IfModule>/s/^/#&/' $httconfig" + rlRun "echo -e '$insconfig' >> $httconfig" + rlRun "cp /var/log/audit/audit.log audit.log.old" + rlPhaseEnd + + rlPhaseStartTest "after start httpd should be up and running without avc denials" + rlRun "service httpd start" + rlLog "Sleep for a while... 15s" + rlRun "sleep 15" + rlRun "service httpd status" + rlRun "service httpd stop" + # We expect 0,1 because in newer 'diff' 1 is returned for difference + # between files + rlRun "diff /var/log/audit/audit.log audit.log.old > result.log" 0,1 + rlAssertNotGrep "avc.*denied.*httpd" "result.log" "-i" + rlLog "$( +tier: 2 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=491995 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc-devel + - gcc +duration: 30m +extra-summary: /tools/glibc/Regression/bz491995-race-condition-with-seteuid +extra-task: /tools/glibc/Regression/bz491995-race-condition-with-seteuid diff --git a/tests/Regression/bz491995-race-condition-with-seteuid/runtest.sh b/tests/Regression/bz491995-race-condition-with-seteuid/runtest.sh new file mode 100755 index 0000000..b4c8186 --- /dev/null +++ b/tests/Regression/bz491995-race-condition-with-seteuid/runtest.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz491995-race-condition-with-seteuid +# Description: Test for bz491995 (race condition with seteuid()) +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2009 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + export TTIME=15 + rlLog "The testcase is configured to run for $TTIME minutes" + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "cp thrbug-simplified.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlRun -l "gcc -Wall -o thrbug-simplified thrbug-simplified.c -lpthread" + rlPhaseEnd + + rlPhaseStartTest + rlLog 'Starting to run the reproducer in a watchdog' + rlLog "If it runs for whole $TTIME minutes, the bug haven't manifested" + rlLog "Time at start: `date`" + rlWatchdog './thrbug-simplified &> temp.log' $((60 * $TTIME)) + RET=$? + killall thrbug-simplified + rlAssertEquals "Checking if the testcase was killed or failed itself" $RET 1 + if [ $? -ne 0 ] + then + rlLog "The testcase output:" + while read line + do + rlLog "$line" + done < temp.log + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalEnd diff --git a/tests/Regression/bz491995-race-condition-with-seteuid/thrbug-simplified.c b/tests/Regression/bz491995-race-condition-with-seteuid/thrbug-simplified.c new file mode 100644 index 0000000..9a0843b --- /dev/null +++ b/tests/Regression/bz491995-race-condition-with-seteuid/thrbug-simplified.c @@ -0,0 +1,60 @@ +#include +#include +#include +#include +#include + +#define UID 500 +pthread_mutex_t uidlock = PTHREAD_MUTEX_INITIALIZER; +int shouldExit = 0; + +void* setResetUID(void *p) +{ + pthread_mutex_lock(&uidlock); + + /* At this point, the EUID should be 0 because (1) the program + * was started as root, or (2) the last the thread to run the + * critical section reset the EUID to 0. Thus, if geteuid() + * returns anything but 0, there's a bug in the threading library + * or the kernel */ + if (UID == geteuid()) { + fprintf(stderr, "Error: EUID is already set!!!\n"); + shouldExit = 1; + return NULL; + } + + seteuid(UID); + seteuid(0); + + pthread_mutex_unlock(&uidlock); + + return NULL; +} + +void* setResetLoop(void *p) +{ + while (!shouldExit) { + setResetUID(NULL); + } + + return NULL; +} + +int main() +{ + pthread_t setResetLoop_tid, setResetOnce_tid; + + if (geteuid() != 0) { + fprintf(stderr, "This program must run as root.\n"); + exit(1); + } + + pthread_create(&setResetLoop_tid, NULL, setResetLoop, NULL); + + while (!shouldExit) { + pthread_create(&setResetOnce_tid, NULL, setResetUID, NULL); + sleep(1); + } + + return 0; +} diff --git a/tests/Regression/bz552960-Possible-deadlock-in/Makefile.at b/tests/Regression/bz552960-Possible-deadlock-in/Makefile.at new file mode 100644 index 0000000..1e596e6 --- /dev/null +++ b/tests/Regression/bz552960-Possible-deadlock-in/Makefile.at @@ -0,0 +1,35 @@ +default: fubug +all: fubug fubug.dbg fubug.dbg.static + +CC:=gcc + +fubug_objs := fubug.o + +%.o: %.c + $(CC) -D_XOPEN_SOURCE=600 -g -O0 -c -o $@ $< + +fubug: $(fubug_objs) + $(CC) -D_XOPEN_SOURCE=600 -g -O0 -o $@ $(fubug_objs) -lpthread + + +# targets used for debugging +# set the following two variables to the custom dir where the glibc is installed +GLIBC_PATH:=$(HOME)/work/glibc-install +GLIBC_DEBUG_PATH:=$(HOME)/work/glibc-install + +fubug.dbg: $(fubug_objs) + $(CC) -D_XOPEN_SOURCE=600 -g -O0 -o $@ $(fubug_objs) \ + -I$(GLIBC_PATH)/include \ + -L$(GLIBC_PATH)/lib \ + -lpthread \ + -Wl,--rpath,$(GLIBC_PATH)/lib + +fubug.dbg.static: $(fubug_objs) + $(CC) -D_XOPEN_SOURCE=600 -g -O0 -o $@ $(fubug_objs) -lpthread -static \ + -I$(GLIBC_PATH)/include \ + -L$(GLIBC_PATH)/lib + +.PHONY: clean + +clean: + rm -f $(fubug_objs) fubug fubug.dbg fubug.dbg.static diff --git a/tests/Regression/bz552960-Possible-deadlock-in/fubug.c b/tests/Regression/bz552960-Possible-deadlock-in/fubug.c new file mode 100644 index 0000000..e0f9ecb --- /dev/null +++ b/tests/Regression/bz552960-Possible-deadlock-in/fubug.c @@ -0,0 +1,106 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define THREADS_NUM 5 + +static pthread_mutex_t mutex; +static pthread_mutexattr_t mutex_attr; +static pthread_cond_t cond; +static pthread_t threads[THREADS_NUM]; +static int pending = 0; + +void die(const char *fun, int err) +{ + fprintf(stderr, "error: %s: %s(%d)\n", fun, strerror(err), err); + exit(1); +} + +void *thread_fun(void *arg) +{ + int rv; + pid_t tid; + + tid = syscall(SYS_gettid); + + for (;;) { + rv = pthread_mutex_lock(&mutex); + if (rv) + die("pthread_mutex_lock", rv); + + while (!pending) { + rv = pthread_cond_wait(&cond, &mutex); + + if (rv && rv != ETIMEDOUT) + die("pthread_mutex_lock", rv); + } + + pending--; + + rv = pthread_mutex_unlock(&mutex); + if (rv) + die("pthread_mutex_unlock", rv); + } + + return NULL; +} + +int main(int argc, char *argv[]) +{ + int i; + int rv; + int counter = 0; + struct sched_param sp; + + rv = pthread_mutexattr_init(&mutex_attr); + if (rv) + die("pthread_mutexattr_init", rv); + + rv = pthread_mutexattr_setprotocol(&mutex_attr, PTHREAD_PRIO_INHERIT); + if (rv) + die("pthread_mutexattr_setprotocol", rv); + + rv = pthread_mutex_init(&mutex, &mutex_attr); + if (rv) + die("pthread_mutex_init", rv); + + rv = pthread_cond_init(&cond, NULL); + if (rv) + die("pthread_cond_init", rv); + + for (i = 0; i < THREADS_NUM; i++) { + rv = pthread_create(&threads[i], NULL, thread_fun, NULL); + if (rv) + die("pthread_create", rv); + } + + for (;;) { + rv = pthread_mutex_lock(&mutex); + if (rv) + die("pthread_mutex_lock", rv); + + counter += 1; + if (!(counter % 100)) + printf("counter: %d\n", counter); + pending += 1; + + rv = pthread_cond_signal(&cond); + if (rv) + die("pthread_cond_signal", rv); + + rv = pthread_mutex_unlock(&mutex); + if (rv) + die("pthread_mutex_unlock", rv); + + } + + return 0; +} diff --git a/tests/Regression/bz552960-Possible-deadlock-in/main.fmf b/tests/Regression/bz552960-Possible-deadlock-in/main.fmf new file mode 100644 index 0000000..2aa4ca2 --- /dev/null +++ b/tests/Regression/bz552960-Possible-deadlock-in/main.fmf @@ -0,0 +1,19 @@ +summary: Test for bz552960 (Possible deadlock in) +description: | + Bug summary: Possible deadlock in pthread_mutex_lock/pthread_cond_wait + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=552960 +contact: Miroslav Franc +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=552960 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc + - make +duration: 15m +extra-summary: /tools/glibc/Regression/bz552960-Possible-deadlock-in +extra-task: /tools/glibc/Regression/bz552960-Possible-deadlock-in diff --git a/tests/Regression/bz552960-Possible-deadlock-in/runtest.sh b/tests/Regression/bz552960-Possible-deadlock-in/runtest.sh new file mode 100755 index 0000000..08da9d3 --- /dev/null +++ b/tests/Regression/bz552960-Possible-deadlock-in/runtest.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz552960-Possible-deadlock-in +# Description: Test for bz552960 (Possible deadlock in) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2012 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc gcc make glibc-devel) +ITERATIONS=26 +DURATION=30 # in seconds + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp fubug.c $TmpDir" + rlRun "cp Makefile.at $TmpDir/Makefile" + rlRun "pushd $TmpDir" + rlRun "make" + rlAssertExists "./fubug" + rlPhaseEnd + + rlPhaseStartTest "This might take up to ~$(((ITERATIONS*DURATION)/60)) minutes..." + rlRun "touch log" + rlRun "./fubug >> log 2>&1 &" + rlRun "mypid=$!" + for ((i=0;i<$ITERATIONS;++i)); do + cp log log.old || rlFail "Cant copy log files" + sleep $DURATION + rlLog "<$i/$ITERATIONS>" + if diff -q log.old log; then + rlFail "=== It seems like we are stuck! ===" + rlLog "$(tail -1 log)" + break + fi + rm log.old + done; unset i + rlRun "kill -9 $mypid" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/alloca1.c b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/alloca1.c new file mode 100644 index 0000000..958b042 --- /dev/null +++ b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/alloca1.c @@ -0,0 +1,17 @@ +#include +#include + +int main(int argc, char** argv) { + + const char* name = "v"; + const char* value = malloc(16000001); + + int overwrite = 1; + + sprintf(value, "%016000000d",0); + setenv(name, value, overwrite); + + free(value); + +return 0; +} diff --git a/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/main.fmf b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/main.fmf new file mode 100644 index 0000000..29b23e6 --- /dev/null +++ b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/main.fmf @@ -0,0 +1,20 @@ +summary: "Test for bz559974 (glibc: Don't limit the length of exported)" +description: | + Bug summary: glibc: Don't limit the length of exported environment variable + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=559974 +contact: mcermak@redhat.com +tier: 2 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - gcc + - glibc +duration: 30m +enabled: true +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=559974 +extra-nitrate: TC#0070672 +extra-summary: /tools/glibc/Regression/bz559974-glibc-alloca-problem-in-setenv +extra-task: /tools/glibc/Regression/bz559974-glibc-alloca-problem-in-setenv diff --git a/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/runtest.sh b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/runtest.sh new file mode 100755 index 0000000..1b0eb87 --- /dev/null +++ b/tests/Regression/bz559974-glibc-alloca-problem-in-setenv/runtest.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz559974-glibc-alloca-problem-in-setenv +# Description: Test for bz559974 (glibc: Don't limit the length of exported) +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2010 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc gcc) + +rlJournalStart + +rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "cp alloca1.c $TmpDir" + rlRun "pushd $TmpDir" +rlPhaseEnd + +rlPhaseStartSetup + rlRun "gcc alloca1.c -o alloca1" +rlPhaseEnd + +rlPhaseStartTest + rlRun "gcc alloca1.c -o alloca1" + rlAssertExists "./alloca1" + rlRun "./alloca1" +rlPhaseEnd + +rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" +rlPhaseEnd + +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/golden.output b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/golden.output new file mode 100644 index 0000000..1a49eeb --- /dev/null +++ b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/golden.output @@ -0,0 +1,4 @@ +Starting child thread. +Canceling child thread. +Cleanup handler called. +Child thread terminated. diff --git a/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/main.fmf b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/main.fmf new file mode 100644 index 0000000..9f2dcec --- /dev/null +++ b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/main.fmf @@ -0,0 +1,27 @@ +summary: Test for bz593047 (pthread cleanup handler is not invoked during) +description: | + Bug summary: pthread cleanup handler is not invoked during thread cancellation +contact: Petr Muller +adjust: + - enabled: false + when: arch != x86_64 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=593047 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc-c++ + - glibc-devel + - libtirpc-devel + - libtirpc-devel.i686 + - libtirpc.i686 + - libtirpc-devel.i686 + - glibc-devel.i686 + - libstdc++-devel + - libstdc++-devel.i686 +duration: 10m +extra-summary: /tools/glibc/Regression/bz593047-pthread-cleanup-handler-not-invoked +extra-task: /tools/glibc/Regression/bz593047-pthread-cleanup-handler-not-invoked diff --git a/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/repro.c b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/repro.c new file mode 100644 index 0000000..fd67400 --- /dev/null +++ b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/repro.c @@ -0,0 +1,92 @@ +/* Reproducer from: https://sourceware.org/legacy-ml/glibc-bugs/2007-03/msg00006.html + * Cleanup handler bug test program. + * Build using g++ -o cleanuphandlertest -l pthread cleanuphandlertest.cpp + * or using gcc -o cleanuphandlertest -l pthread cleanuphandlertest.c + * + * If the cleanup handler doesn't get called try the -fno-exceptions option. + */ + +#include +#include +#include +#include +#include + +#define NFSD 100003 + +// Assertion which must always be true. +// If !(condition) then a fatal error will result. +// +#define ASSERT( condition, errCode ) ( ( void ) \ + ( (condition) ? ( ( void ) 0 ) : \ + Assert( __FILE__, __LINE__, errCode ) ) ) + + +void Assert( const char *file, int line, int err ) +{ + fprintf( stderr, "Error in file %s, line %d: error code %d\n", file, +line, err ); +} + + +void ThreadCleanupHandler( void* arg ) +{ + int old_statep; + printf( "Cleanup handler called.\n" ); +} + + +void* ThreadBody( void* arg ) +{ + pthread_cleanup_push( ThreadCleanupHandler, arg ); + struct timeval timeout; + CLIENT *handle=NULL; + enum clnt_stat status; + timeout.tv_sec = 60; + timeout.tv_usec = 0; + + handle =clnt_create ("localhost", NFSD, 3, "tcp"); + while ( 1 ) + { + status = clnt_call (handle, NULLPROC, (xdrproc_t)xdr_void, NULL, (xdrproc_t)xdr_void, NULL, timeout); + // pthread_testcancel(); + // sleep( 1 ); + } + + pthread_cleanup_pop( 0 ); +} + + +int main( int argc, char **argv ) +{ + int status; + pthread_attr_t threadAttributes; + pthread_t threadId; + + status = pthread_attr_init( &threadAttributes ); + ASSERT( status == 0, status ); + + // Start the queue scanning thread + printf( "Starting child thread.\n" ); + + status = pthread_create( &threadId, &threadAttributes, ThreadBody, NULL ); + ASSERT( status == 0, status ); + + status = pthread_attr_destroy( &threadAttributes ); + ASSERT( status == 0, status ); + + sleep( 10 ); + + printf( "Canceling child thread.\n" ); + + status = pthread_cancel( threadId ); + ASSERT( status == 0, status ); + + // wait until the thread really terminates + status = pthread_join( threadId, NULL ); + ASSERT( status == 0, status ); + + printf( "Child thread terminated.\n" ); + + return 0; +} diff --git a/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/runtest.sh b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/runtest.sh new file mode 100755 index 0000000..5f6aa7d --- /dev/null +++ b/tests/Regression/bz593047-pthread-cleanup-handler-not-invoked/runtest.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz593047-pthread-cleanup-handler-not-invoked +# Description: Test for bz593047 (pthread cleanup handler is not invoked during) +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2010 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh + +PACKAGE="glibc" +TEST_NAME="repro" +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + if [[ $(rlGetPrimaryArch) =~ s390x || $(rlGetPrimaryArch) =~ ppc64le || $(rlGetPrimaryArch) =~ aarch64 ]] + then + if rlIsRHEL ">=8" || rlIsCentOS ">=8" || rlIsFedora + then + rlLog "System does not support 31/32 bit libraries." + rlPhaseEnd; rlJournalPrintText; rlJournalEnd + exit 0 + fi + MARCH=-m31 + else + if [[ $(rlGetPrimaryArch) =~ i386 ]] || rlIsRHEL ">=10" || rlIsCentOS ">=10" + then + MARCH="" + else + MARCH=-m32 + fi + fi + if rlIsRHEL 7 6 5 + then + rlServiceStart nfs + else + rlServiceStart nfs-server + fi + + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ${TEST_NAME}.c $TmpDir" + rlRun "cp golden.output $TmpDir" + rlRun "pushd $TmpDir" + + if rlIsRHEL ">=8" || rlIsCentOS ">=8" || rlIsFedora + then + rlRun -l "g++ -g -Wall -Wno-unused -Wno-long-long -Wwrite-strings\ + -fmessage-length=0 -D__EXTERN_C__ -DLINUX -Dregister= \ + -D_POSIX_PTHREAD_SEMANTICS $MARCH -o thread_exp repro.c\ + -ltirpc -lpthread -lcrypt -lrt -I/usr/include/tirpc" + else + rlRun -l "g++ -g -Wall -Wno-unused -Wno-long-long -Wwrite-strings\ + -fmessage-length=0 -D__EXTERN_C__ -DLINUX -Dregister= \ + -D_POSIX_PTHREAD_SEMANTICS $MARCH -o thread_exp repro.c\ + -lnsl -lpthread -lcrypt -lrt" + fi + rlPhaseEnd + + rlPhaseStartTest + rlRun "./thread_exp &> test.output" + rlAssertNotDiffer "golden.output" "test.output" + if [ "$?" != "0" ] + then + rlLog "The difference from golden file:" + diff -u golden.output test.output |\ + while read line + do + rlLog "\"$line\"" + done + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlBundleLogs logs golden.output test.output + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + if rlIsRHEL 7 6 + then + rlServiceRestore nfs + else + rlServiceRestore nfs-server + fi + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz593396-invalid-fastbin-entry-free/main.fmf b/tests/Regression/bz593396-invalid-fastbin-entry-free/main.fmf new file mode 100644 index 0000000..4afd623 --- /dev/null +++ b/tests/Regression/bz593396-invalid-fastbin-entry-free/main.fmf @@ -0,0 +1,18 @@ +summary: Test for bz593396 (invalid fastbin entry (free)) +description: | + Bug summary: invalid fastbin entry (free) + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=593396 +contact: Petr Muller +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=593396 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc-c++ +duration: 30m +extra-summary: /tools/glibc/Regression/bz593396-invalid-fastbin-entry-free +extra-task: /tools/glibc/Regression/bz593396-invalid-fastbin-entry-free diff --git a/tests/Regression/bz593396-invalid-fastbin-entry-free/runtest.sh b/tests/Regression/bz593396-invalid-fastbin-entry-free/runtest.sh new file mode 100755 index 0000000..d3d6f2f --- /dev/null +++ b/tests/Regression/bz593396-invalid-fastbin-entry-free/runtest.sh @@ -0,0 +1,107 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz593396-invalid-fastbin-entry-free +# Description: Test for bz593396 (invalid fastbin entry (free)) +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2010 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart +rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun -l "cp test.cpp test2.cpp $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlRun -l "g++ test.cpp -o test1 -lpthread" + if ! rlIsRHEL 4 && ! rlIsRHEL 5 + then + rlRun -l "g++ test2.cpp -o test2 -lpthread -std=c++0x" + fi +rlPhaseEnd + +rlPhaseStartTest + if [ `rlGetArch` != "i386" ] + then + rlLog "Issuing test1 in background" + ./test1 &> test1.output & + PID1=$! + rlLog "Issued test1 in background with PID $PID1" + fi + + if ! rlIsRHEL 4 && ! rlIsRHEL 5 + then + rlLog "Issuing test2 in background" + ./test2 &> test2.output & + PID2=$! + rlLog "Issued test2 in background with PID $PID2" + fi + + rlRun "sleep 60" + + if [ `rlGetArch` != "i386" ] + then + COMMNAME1=`ps -p $PID1 -o comm=` + + rlAssertEquals "Checking that the test1 testcase is still running" "test1" "$COMMNAME1" + if [ "$COMMNAME1" == "test1" ] + then + rlLog "Killing test1 testcase" + rlRun -l "kill $PID1" + else + rlLog "Test1 output:" + cat test1.output | while read line + do + rlLog "$line" + done + fi + fi + + if ! rlIsRHEL 4 && ! rlIsRHEL 5 + then + COMMNAME2=`ps -p $PID2 -o comm=` + + rlAssertEquals "Checking that the test2 testcase is still running" "test2" "$COMMNAME2" + if [ "$COMMNAME2" == "test2" ] + then + rlLog "Killing test2 testcase" + rlRun -l "kill $PID2" + else + rlLog "Test2 output:" + cat test2.output | while read line + do + rlLog "$line" + done + fi + fi +rlPhaseEnd + +rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" +rlPhaseEnd +rlJournalEnd diff --git a/tests/Regression/bz593396-invalid-fastbin-entry-free/test.cpp b/tests/Regression/bz593396-invalid-fastbin-entry-free/test.cpp new file mode 100644 index 0000000..4bcf6ce --- /dev/null +++ b/tests/Regression/bz593396-invalid-fastbin-entry-free/test.cpp @@ -0,0 +1,203 @@ +#include +#include +#include +#include +#include + +struct Monitor +{ + pthread_mutex_t mutex; + pthread_cond_t condition; + + inline Monitor(); + inline ~Monitor(); + inline void lock(); + inline void unlock(); + inline void wait(); + inline void notify(); +}; + +class ScopedLock +{ + public: + ScopedLock(Monitor& l) : lock(l) { l.lock(); } + ~ScopedLock() { lock.unlock(); } + private: + Monitor& lock; +}; + +template struct BlockingQueue +{ + std::deque queue; + Monitor lock; + const size_t max_size; + + BlockingQueue(size_t s) : max_size(s) {} + + void push(const T& t) + { + ScopedLock l(lock); + while (queue.size() >= max_size) { + lock.wait(); + } + bool notify = queue.empty(); + queue.push_back(t); + if (notify) lock.notify(); + } + + void pop(T& t) + { + ScopedLock l(lock); + while (queue.empty()) { + lock.wait(); + } + bool notify = queue.size() == max_size; + t = queue.front(); + queue.pop_front(); + if (notify) lock.notify(); + } + + size_t size() + { + ScopedLock l(lock); + return queue.size(); + } +}; + +struct Chunk +{ + const char* data; + Chunk(size_t size) : data(new char[size]) {} + ~Chunk() { delete[] data; } +}; + +typedef BlockingQueue ChunkQueue; + +uint random(uint min, uint max) +{ + return (rand() % (max-min+1)) + min; +} + +void* push(void* p) +{ + ChunkQueue* queue = static_cast(p); + while (true) { + Chunk* data(new Chunk(random(10, 5000))); + queue->push(data); + } + return 0; +} + +void* pop(void* p) +{ + ChunkQueue* queue = static_cast(p); + Chunk* data; + while (true) { + queue->pop(data); + delete data; + } + return 0; +} + +typedef std::pair QueuePair; + +void* transfer(void* p) +{ + QueuePair* queues = static_cast(p); + Chunk* s; + while (true) { + if (queues->first->size() > queues->second->size()) { + queues->first->pop(s); + queues->second->push(s); + } else { + queues->second->pop(s); + queues->first->push(s); + } + } + delete queues; + return 0; + +} + +struct Thread +{ + pthread_t thread; + + void start_push(ChunkQueue& queue) { pthread_create(&thread, NULL, push, &queue); } + void start_pop(ChunkQueue& queue) { pthread_create(&thread, NULL, pop, &queue); } + void start_transfer(ChunkQueue& a, ChunkQueue& b) + { + QueuePair* queues = new QueuePair(&a, &b); + pthread_create(&thread, NULL, transfer, queues); + } + void join(){ pthread_join(thread, 0); } +}; + +int main(int argc, char** argv) +{ + std::deque queues; + std::deque threads; + + ChunkQueue* last = 0; + for (size_t i = 0; i < 20; i++) { + ChunkQueue* queue = new ChunkQueue(random(100, 10000)); + queues.push_back(queue); + Thread* thread; + size_t r = random(1, 10); + for (size_t j = 0; j < r; j++) { + thread = new Thread; + thread->start_pop(*queue); + threads.push_back(thread); + thread = new Thread; + thread->start_push(*queue); + threads.push_back(thread); + } + size_t t = random(1, 4); + if (last) { + for (size_t j = 0; j < t; j++) { + thread = new Thread; + thread->start_transfer(*queue, *last); + threads.push_back(thread); + } + } + last = queue; + } + + //cleanup + while (threads.size()) { + threads.front()->join();//threads currently never return + delete threads.front(); + threads.pop_front(); + } + while (queues.size()) { + delete queues.front(); + queues.pop_front(); + } + return 0; +} + +Monitor::Monitor() { + pthread_mutex_init(&mutex, 0); + pthread_cond_init(&condition, 0); +} + +Monitor::~Monitor(){ + pthread_mutex_destroy(&mutex); + pthread_cond_destroy(&condition); +} + +void Monitor::lock() { + pthread_mutex_lock(&mutex); +} + +void Monitor::unlock() { + pthread_mutex_unlock(&mutex); +} + +void Monitor::wait() { + pthread_cond_wait(&condition, &mutex); +} + +void Monitor::notify(){ + pthread_cond_broadcast(&condition); +} diff --git a/tests/Regression/bz593396-invalid-fastbin-entry-free/test2.cpp b/tests/Regression/bz593396-invalid-fastbin-entry-free/test2.cpp new file mode 100644 index 0000000..33ae629 --- /dev/null +++ b/tests/Regression/bz593396-invalid-fastbin-entry-free/test2.cpp @@ -0,0 +1,123 @@ +#include +#include +#include +#include +#include +#include + +class chunk +{ + const char* data; + + chunk(const chunk&) : data(0) {} + chunk& operator=(const chunk&) {} + public: + chunk(size_t size) : data(new char[size]) {} + ~chunk() { delete[] data; } +}; + +struct chunk_queue +{ + std::deque queue; + std::mutex lock; + std::condition_variable condition; + const size_t max_size; + + chunk_queue(size_t s) : max_size(s) {} + + void push(chunk* c) + { + std::unique_lock l(lock); + while (queue.size() >= max_size) { + condition.wait(l); + } + bool notify = queue.empty(); + queue.push_back(c); + if (notify) condition.notify_all(); + } + + chunk* pop() + { + std::unique_lock l(lock); + while (queue.empty()) { + condition.wait(l); + } + bool notify = queue.size() == max_size; + chunk* c = queue.front(); + queue.pop_front(); + if (notify) condition.notify_all(); + return c; + } + + size_t size() + { + std::unique_lock l(lock); + return queue.size(); + } +}; + +uint random(uint min, uint max) +{ + return (rand() % (max-min+1)) + min; +} + +void push(chunk_queue* queue) +{ + while (true) queue->push(new chunk(random(10, 5000))); +} + +void pop(chunk_queue* queue) +{ + while (true) delete queue->pop(); +} + +void transfer(chunk_queue* a, chunk_queue* b) +{ + while (true) { + if (a->size() > b->size()) { + b->push(a->pop()); + } else { + a->push(b->pop()); + } + } +} + +int main(int argc, char** argv) +{ + std::deque queues; + std::deque threads; + + chunk_queue* last = 0; + for (size_t i = 0; i < 20; i++) { + chunk_queue* queue = new chunk_queue(random(100, 10000)); + queues.push_back(queue); + std::thread* thread; + size_t r = random(1, 10); + for (size_t j = 0; j < r; j++) { + thread = new std::thread(pop, queue); + threads.push_back(thread); + thread = new std::thread(push, queue); + threads.push_back(thread); + } + size_t t = random(1, 4); + if (last) { + for (size_t j = 0; j < t; j++) { + thread = new std::thread(transfer, queue, last); + threads.push_back(thread); + } + } + last = queue; + } + + //cleanup + while (threads.size()) { + threads.front()->join();//threads currently never return + delete threads.front(); + threads.pop_front(); + } + while (queues.size()) { + delete queues.front(); + queues.pop_front(); + } + return 0; +} diff --git a/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/main.fmf b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/main.fmf new file mode 100644 index 0000000..8052d01 --- /dev/null +++ b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/main.fmf @@ -0,0 +1,18 @@ +summary: Test for bz607010 memset() fails to fully zero) +description: | + Bug summary: memset() fails to fully zero buffer on 32 bit on Westmere-EX + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=607010 +contact: Petr Muller +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=607010 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel + - gcc +duration: 30m +extra-summary: /tools/glibc/Regression/bz607010-memset-fails-to-fully-zero-memory +extra-task: /tools/glibc/Regression/bz607010-memset-fails-to-fully-zero-memory diff --git a/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/memsetter.c b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/memsetter.c new file mode 100644 index 0000000..2c1a68e --- /dev/null +++ b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/memsetter.c @@ -0,0 +1,72 @@ +// author: Dave Malcolm + +#include +#include +#include +#include +#include +#include + +// This constant is the one which initially exhibited the faulty behavior +// The testcase was modified to allow the buffer size to be passed as parameter +// #define BUF_SIZE (131072 * 12) + +int main(int argc, char *argv[]) { + unsigned long long input; + size_t buffer_size; + + errno = 0; + + if ( argc < 2 ){ + fprintf(stderr, "The buffer size argument should be provided\n"); + exit(10); + } + + input = strtoull(argv[1], NULL, 10); + if (errno != 0){ + fprintf(stderr, "Failure when processing buffer size argument\n"); + perror("Error: "); + exit(10); + } + + if (input > SIZE_MAX){ + fprintf(stderr, "Requested buffer size is larger than SIZE_MAX (%zu)\n", SIZE_MAX); + exit(10); + } + + buffer_size = input; + printf("Requested buffer size: %zu bytes\n", buffer_size); + + char *buf; + signed int i; + + printf("Allocating memory\n"); + buf = NULL; + buf = malloc(buffer_size); + if (buf == NULL){ + fprintf(stderr, "Failed to allocate buffer\n"); + exit(10); + } + + /* Manually write non-zero bytes to every location in the buffer: */ + printf("Manually setting buffer to nonzero values\n"); + for (i=buffer_size-1; i>=0; i--) { + buf[i] = 42; + } + + printf("Calling memset\n"); + memset(buf, 0, buffer_size); + + printf("Checking buffer for non-zero values\n"); + for (i=buffer_size-1; i>=0; i--) { + //printf("%p %i 0x%x\n", &buf[i], i, buf[i]); + if (buf[i] != 0) { + printf("FAIL: got nonzero byte: %p %i 0x%x\n", &buf[i], i, buf[i]); + exit(1); + } + } + + printf("PASS: buffer was successfuly zero-ed\n"); + + return 0; +} diff --git a/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/powerline.c b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/powerline.c new file mode 100644 index 0000000..1dd546f --- /dev/null +++ b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/powerline.c @@ -0,0 +1,15 @@ +#include +#include + +int main(int argc, char *argv[]){ + int base = atoi(argv[1]); + int power = atoi(argv[2]); + + unsigned long long pw = base; + for (int i = 1; i <= power; i++){ + printf("%llu ", pw); + pw *= base; + } + printf("\n"); + return 0; +} diff --git a/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/runtest.sh b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/runtest.sh new file mode 100755 index 0000000..01756a0 --- /dev/null +++ b/tests/Regression/bz607010-memset-fails-to-fully-zero-memory/runtest.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz607010-memset-fails-to-fully-zero-memory +# Description: Test for bz607010 (memset() fails to fully zero) +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2010 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh + +PACKAGE="glibc" + +wrapped_run(){ + ./memsetter $1 + RC=$? + + if [ "$RC" == "10" ] + then + rlLogWarning "Testcase failed to execute" + rlLogWarning "Most likely the allocation failed: this does not imply a bug" + else + rlAssert0 "Checking the result of the testcase" $RC + fi +} + +single_test(){ + BUFSIZE="$1" + FREEMEM="`grep MemFree /proc/meminfo | tr --squeeze "[[:space:]]" | cut -f 2 -d ' '`" + FREEMEM="$((FREEMEM * 1024))" + + rlPhaseStartTest "Testing for buffer size $BUFSIZE" + rlLog "Free memory: $FREEMEM" + + if [ $BUFSIZE -gt $FREEMEM ] + then + rlLogWarning "Requested buffer size is larger than free memory: skipping" + return + fi + + rlLog "Testing the buffer with $BUFSIZE -1 size" + wrapped_run $((BUFSIZE - 1)) + + rlLog "Testing the buffer with $BUFSIZE -1 size" + wrapped_run $((BUFSIZE )) + + rlLog "Testing the buffer with $BUFSIZE -1 size" + wrapped_run $((BUFSIZE + 1)) + + rlPhaseEnd +} + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun -l "cp memsetter.c powerline.c $TESTTMPDIR" + rlRun "pushd $TESTTMPDIR" + rlRun -l "gcc -std=c99 memsetter.c -o memsetter" 0 "Compiling the testcase" + rlRun -l "gcc -std=c99 powerline.c -o powerline" 0 "Compiling the buffer size generator" + rlPhaseEnd + + MAGIC=1572864 #BZ60701 trigger + PWTWO="`./powerline 2 32`" + PWTEN="`./powerline 10 9`" + + for bufsize in $MAGIC $PWTWO $PWTEN + do + single_test $bufsize + sleep 2 + done +rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" +rlPhaseEnd +rlJournalEnd diff --git a/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/main.fmf b/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/main.fmf new file mode 100644 index 0000000..b6a9717 --- /dev/null +++ b/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/main.fmf @@ -0,0 +1,34 @@ +summary: Test for bz653905 (rpmbuild of glibc fails on unpackaged files when) +description: | + Bug summary: rpmbuild of glibc fails on unpackaged files when %_enable_debug_packages not set +contact: Miroslav Franc +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=653905 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - yum-utils + - rpm-build + - gd-devel + - libpng-devel + - zlib-devel + - texinfo + - libselinux-devel + - audit-libs-devel + - libcap-devel + - nss-devel + - systemtap-sdt-devel + - gcc + - gcc-c++ + - wget +duration: 10h +extra-summary: + /tools/glibc/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when +extra-task: + /tools/glibc/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when diff --git a/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/runtest.sh b/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/runtest.sh new file mode 100755 index 0000000..838244d --- /dev/null +++ b/tests/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when/runtest.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz653905-rpmbuild-of-glibc-fails-on-unpackaged-files-when +# Description: Test for bz653905 (rpmbuild of glibc fails on unpackaged files when) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +testuser="lojza" + +rlJournalStart + rlPhaseStartSetup + if rlIsRHEL "<=9"; then + PACKAGES=(glibc rpm-build gd-devel libpng-devel zlib-devel texinfo libselinux-devel audit-libs-devel libcap-devel nss-devel systemtap-sdt-devel gcc gcc-c++ wget) + else + PACKAGES=(glibc rpm-build gd-devel libpng-devel zlib-ng-compat-devel texinfo libselinux-devel audit-libs-devel libcap-devel nss-devel systemtap-sdt-devel gcc gcc-c++ wget) + fi + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "useradd $testuser" + rlRun "pushd /home/$testuser" + rlRun "echo '%_topdir /home/$testuser/rpmbuild' > /home/$testuser/.rpmmacros" + rlRun "echo '%_enable_debug_packages 0' >> /home/$testuser/.rpmmacros" + rlRun "mkdir -p /home/$testuser/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}" + rlRun "chown -R $testuser:$testuser /home/$testuser" + rlFetchSrcForInstalled glibc + rlRun -c "yum-builddep -y glibc-*.src.rpm" + rlRun -c "su - -c 'rpm -i glibc-*.src.rpm' $testuser" + rlAssertExists "/home/$testuser/rpmbuild/SPECS/glibc.spec" + rlPhaseEnd + + rlPhaseStartTest "glibc should build even with %_enable_debug_packages unset or set to 0" + rlRun -l "su - -c 'rpmbuild -ba ~/rpmbuild/SPECS/glibc.spec &> ~/all_log' $testuser" + rlFileSubmit /home/${testuser}/all_log + rlPhaseEnd + + rlPhaseStartCleanup + if [ -n "$KEEP_GLIBC_RESULTS" ] + then + rlLog "$(pwd) contains:" + rlLog "$(ls $(pwd))" + rlRun "popd" + else + rlRun "popd" + rlRun -c "userdel -r -f $testuser" + fi + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/main.fmf b/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/main.fmf new file mode 100644 index 0000000..710e20a --- /dev/null +++ b/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/main.fmf @@ -0,0 +1,16 @@ +summary: Test for bz661982 (memmove/wmemmove/wmemset __restrict fixes) +description: | + Bug summary: memmove/wmemmove/wmemset __restrict fixes +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=661982 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes +extra-task: /tools/glibc/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes diff --git a/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/runtest.sh b/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/runtest.sh new file mode 100755 index 0000000..1ffbaaf --- /dev/null +++ b/tests/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes/runtest.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz661982-memmove-wmemmove-wmemset-restrict-fixes +# Description: Test for bz661982 (memmove/wmemmove/wmemset __restrict fixes) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest "memmove, wmemmove and wmemset shouldn't have __restrict qualifiers" + rlRun "fgrep -R __restrict /usr/include/ | egrep -q 'memmove|wmemset'" 1-255 + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/main.fmf b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/main.fmf new file mode 100644 index 0000000..5c7e8ed --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/main.fmf @@ -0,0 +1,23 @@ +summary: Test for bz675259 (incorrect numeric settings for French, Spanish,) +description: | + Bug summary: incorrect numeric settings for French, Spanish, and German locales +contact: Miroslav Franc +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=675259 +component: + - glibc +tag: + - regression +tier: 1 +test: ./runtest.sh +framework: beakerlib +order: 1000 +require: + - glibc +recommend: + - glibc-langpack-fr + - glibc-langpack-es + - glibc-langpack-de +duration: 5m +extra-summary: /tools/glibc/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish +extra-task: /tools/glibc/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/numeric.sh b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/numeric.sh new file mode 100755 index 0000000..7505766 --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/numeric.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +for loc in $(locale -a | grep -E "^(fr|es|de)_[A-Z][A-Z].utf8$" | sort -u) ; do + echo $loc + env LC_ALL=$loc printf "%d = %'d\n" 4294967296 4294967296 + env LC_ALL=$loc printf "%f = %'f\n" 1234.1234 1234.1234 + echo +done diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel10.gold b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel10.gold new file mode 100644 index 0000000..10f82ef --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel10.gold @@ -0,0 +1,128 @@ +de_AT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_CH.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +de_DE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_IT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_LI.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +de_LU.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_AR.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_BO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CL.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +es_DO.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_EC.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_ES.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_GT.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_HN.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_MX.utf8 +4294967296 = 4 294 967 296 +1234.123400 = 1 234.123400 + +es_NI.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PA.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_PR.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_SV.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_US.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_UY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_VE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_CA.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_CH.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +fr_FR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_LU.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel7.gold b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel7.gold new file mode 100644 index 0000000..5c209a4 --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel7.gold @@ -0,0 +1,124 @@ +de_AT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_CH.utf8 +4294967296 = 4'294'967'296 +1234.123400 = 1'234.123400 + +de_DE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_LU.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_AR.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_BO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CL.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +es_CU.utf8 +4294967296 = 4294967296 +1234,123400 = 1234,123400 + +es_DO.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_EC.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_ES.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_GT.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_HN.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_MX.utf8 +4294967296 = 4 294 967 296 +1234.123400 = 1 234.123400 + +es_NI.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PA.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_PR.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_SV.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_US.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_UY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_VE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_CA.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_CH.utf8 +4294967296 = 4'294'967'296 +1234.123400 = 1'234.123400 + +fr_FR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_LU.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel8.gold b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel8.gold new file mode 100644 index 0000000..88f52bc --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel8.gold @@ -0,0 +1,128 @@ +de_AT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_CH.utf8 +4294967296 = 4'294'967'296 +1234.123400 = 1'234.123400 + +de_DE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_IT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_LI.utf8 +4294967296 = 4'294'967'296 +1234.123400 = 1'234.123400 + +de_LU.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_AR.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_BO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CL.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +es_DO.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_EC.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_ES.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_GT.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_HN.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_MX.utf8 +4294967296 = 4 294 967 296 +1234.123400 = 1 234.123400 + +es_NI.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PA.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_PR.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_SV.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_US.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_UY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_VE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_CA.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_CH.utf8 +4294967296 = 4'294'967'296 +1234.123400 = 1'234.123400 + +fr_FR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_LU.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel9.gold b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel9.gold new file mode 100644 index 0000000..10f82ef --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/refs/out_rhel9.gold @@ -0,0 +1,128 @@ +de_AT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_CH.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +de_DE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_IT.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +de_LI.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +de_LU.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_AR.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_BO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CL.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CO.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_CR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +es_DO.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_EC.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_ES.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_GT.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_HN.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_MX.utf8 +4294967296 = 4 294 967 296 +1234.123400 = 1 234.123400 + +es_NI.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PA.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_PR.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_PY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_SV.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_US.utf8 +4294967296 = 4,294,967,296 +1234.123400 = 1,234.123400 + +es_UY.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +es_VE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_BE.utf8 +4294967296 = 4.294.967.296 +1234,123400 = 1.234,123400 + +fr_CA.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_CH.utf8 +4294967296 = 4’294’967’296 +1234.123400 = 1’234.123400 + +fr_FR.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + +fr_LU.utf8 +4294967296 = 4 294 967 296 +1234,123400 = 1 234,123400 + diff --git a/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/runtest.sh b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/runtest.sh new file mode 100755 index 0000000..810fb45 --- /dev/null +++ b/tests/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish/runtest.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz675259-incorrect-numeric-settings-for-French-Spanish +# Description: Test for bz675259 (incorrect numeric settings for French, Spanish,) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRED="glibc-langpack-fr glibc-langpack-es glibc-langpack-de" + +rlJournalStart + rlPhaseStartSetup + if rlIsRHEL ">=8" + then + rlRun "yum -y install $REQUIRED" + for pckg in $REQUIRED; do + rlAssertRpm $pckg + done + rpm -q glibc-all-langpacks && rlRun -l "dnf -y --skip-broken remove glibc-all-langpacks" && ALL_LANGPACKS_PRESENT=true + fi + rlAssertRpm $PACKAGE + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun -l "cp numeric.sh refs/out_rhel*.gold $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./numeric.sh > out.real 2> err.real" + rlAssertNotDiffer out_rhel$(rlGetDistroRelease).gold out.real || rlLog "$(diff -u out_rhel$(rlGetDistroRelease).gold out.real)" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + [ "$ALL_LANGPACKS_PRESENT" ] && rlRun "yum -y install glibc-all-langpacks" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/cancel_leak.c b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/cancel_leak.c new file mode 100644 index 0000000..7cf7630 --- /dev/null +++ b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/cancel_leak.c @@ -0,0 +1,154 @@ +/* author: Per Mildner */ +#include +#include +#include +#include +#include + +#define PTHREAD_CHECK(X) do{ \ + int pthread_result = (X); \ + if (pthread_result != 0) \ + { \ + fprintf(stderr, "%s:%d: ERROR code %d from pthread operation\n", \ + __FILE__, (int)__LINE__, \ + (int)pthread_result); \ + fflush(stderr); \ + abort(); \ + } \ + } while(0) + +#define CLIB_CHECK(X) do{ \ + int clib_result = (X); \ + if (clib_result == -1) \ + { \ + int errno_value = errno; \ + fprintf(stderr, "%s:%d: ERROR errno %d from clib operation\n", \ + __FILE__, (int)__LINE__, \ + (int)errno_value); \ + fflush(stderr); \ + abort(); \ + } \ + } while(0) + +struct thread_cookie { + int wait_fd; + int write_fd; +}; + + +static void cleanup_routine(void *vallow_cancel) +{ + int *pallow_cancel = (int*)vallow_cancel; + int allow_cancel = *pallow_cancel; + if (!allow_cancel) + { + fprintf(stderr, "%s:%d: ERROR cancelled while PTHREAD_CANCEL_DISABLE\n", + __FILE__, (int)__LINE__); + fflush(stderr); + abort(); + } + else + { +#if 0 + fprintf(stderr, "!"); + fflush(stderr); +#endif /* 0 */ + } +} + +/* RUN IN SEPARATE THREAD */ +static void *pthread_start_routine(void *vcookie) +{ + struct thread_cookie *pcookie = (struct thread_cookie*)vcookie; + int oldstate; + char buf[1]; + int allow_cancel = 0; + + pthread_cleanup_push(cleanup_routine, &allow_cancel); + + while (1) + { + PTHREAD_CHECK(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate)); + allow_cancel = 1; + CLIB_CHECK(read(pcookie->wait_fd, &buf[0], 1)); + + PTHREAD_CHECK(pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate)); + allow_cancel = 0; + CLIB_CHECK(write(pcookie->write_fd, &buf[0], 1)); + } + + /* do not execute cleanup */ + pthread_cleanup_pop(0); + + return NULL; +} + +static void bad_usage(void) +{ + fprintf(stderr, "Usage: a.out ITERATIONS [MS SLEEP]\n");fflush(stderr); + exit(EXIT_FAILURE); +} + +int main(int argc, char **argv) +{ + pthread_t thread; + void *thread_return = NULL; +/* + struct timespec nanosleep_interval; + struct timespec nanosleep_rem; + long ms_interval = 200; +*/ + struct thread_cookie cookie; + int pipefd_a[2]; + int pipefd_b[2]; + long iterations; + (void)argc; (void)argv; + if (argc != 2) + { + bad_usage(); + exit(EXIT_FAILURE); + } + iterations = strtol(argv[1], NULL, 10); + if (iterations <= 0) + { + bad_usage(); + } + + fprintf(stderr, "Starting test, %ld iterations\n", (long)iterations);fflush(stderr); +/* + fprintf(stderr, "Starting test, %ld iterations, sleep interval %ldms\n", (long)iterations, (long)ms_interval);fflush(stderr); + nanosleep_interval.tv_sec = 0; + nanosleep_interval.tv_nsec = 1000*1000*ms_interval; +*/ + + int out_count = iterations / 100; + while (iterations-- > 0) + { + if ((iterations % out_count) == 0) printf("%ld iterations in the rest\n", iterations); + + CLIB_CHECK(pipe(pipefd_a)); + CLIB_CHECK(pipe(pipefd_b)); + cookie.wait_fd = pipefd_a[0]; /* input */ + cookie.write_fd = pipefd_b[1]; /* output */ + PTHREAD_CHECK(pthread_create(&thread,NULL,&pthread_start_routine, &cookie)); +/* + CLIB_CHECK(nanosleep(&nanosleep_interval, &nanosleep_rem)); +*/ + /* Expects thread to wait for wait_fd now */ + { + char data[1] = { 'X' }; + CLIB_CHECK(write(pipefd_a[1], &data[0], 1)); + /* Expects thread to wake up soon and write to cookie.write_fd */ + } + /* This may cancel thread while it waits for cookie.wait_fd. The bug + manifests itself it this cancels the thread while it writes to + cookie.write_fd */ + PTHREAD_CHECK(pthread_cancel(thread)); + PTHREAD_CHECK(pthread_join(thread, &thread_return)); + CLIB_CHECK(close(pipefd_a[0])); + CLIB_CHECK(close(pipefd_a[1])); + CLIB_CHECK(close(pipefd_b[0])); + CLIB_CHECK(close(pipefd_b[1])); + } + exit(EXIT_SUCCESS); +} diff --git a/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/main.fmf b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/main.fmf new file mode 100644 index 0000000..277b86c --- /dev/null +++ b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/main.fmf @@ -0,0 +1,18 @@ +summary: Test for bz684808 (PTHREAD_CANCEL_DISABLE does not disable) +description: |+ + Bug summary: PTHREAD_CANCEL_DISABLE does not disable cancellation +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=684808 +component: + - glibc +test: ./runtest.sh +tag: + - regression +framework: beakerlib +recommend: + - glibc + - gcc +duration: 120m +extra-summary: /tools/glibc/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable +extra-task: /tools/glibc/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable diff --git a/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/runtest.sh b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/runtest.sh new file mode 100755 index 0000000..5595ea6 --- /dev/null +++ b/tests/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz684808-PTHREAD-CANCEL-DISABLE-does-not-disable +# Description: Test for bz684808 (PTHREAD_CANCEL_DISABLE does not disable) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc gcc) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "cp cancel_leak.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -g -Wall -Werror -pthread cancel_leak.c" + rlAssertExists "./a.out" + rlPhaseEnd + + rlPhaseStartTest "PTHREAD_CANCEL_DISABLE does not disable cancellation" + rlLog "Trying to reproduce the problem, it might take a few minutes!" + rlRun "./a.out 24000000 > log 2>&1" + rlAssertNotGrep ERROR log + rlLog "$( +tier: 1 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - gcc + - gcc-c++ + - glibc + - make + - tar +duration: 6m +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=729661 +extra-summary: /tools/glibc/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader +extra-task: /tools/glibc/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader diff --git a/tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/order.tar.gz b/tests/Regression/bz729661-Incorrect-initialization-order-for-dynamic-loader/order.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1a105a10b67a11fc8a91e26c32591a8e03d294b2 GIT binary patch literal 677 zcmV;W0$TkaiwFP!000001MQYwPunmQhI@;D#aW9)fhJAjd@weqA=m}dKwL}$X`7G} zJH#T5tHeQ*rv3LhDTM%KNYlbJ?K~Ipkz=3Nik;U-m0Xn5L9aN5CPoW`U@%KmowEGNanHT~M^WwmAG0fw%3SoL(QI(&`%mq^ z>-gTlbwf9Fg1`^VIG6en9e~r%a_;k=@BhL1`QGLBHeq?b3o|AQLYn6;IJd80^TYC z+7)=>qy19AzZ0OV1pHRuancnDZxi|V5+%7{#V%PZXJ%G=2A1pHGP%j$KA}jTEc`#N zWzH{H!7sF^v|VL?RO7k(-wQhaABM*N0~$o=|1ZJl)ijpHw8|RazY@frwwHiNG6lm= znE)26YXMcJ>YPI<7zcj>bOPQ4+{wZ%Q~{Nkvyy3HoTCsGn3DutnV?V_QdI)at%c!$ z&|vNwNYrd5HM|aYIO7hB-IRtAb9SOM^%*yHU>vwE=S~uY0pp21L?7yf#s9y&4EoV{ zrv7uhD0)!;Qxo9-{}PO3k>oWO@V3%iDm!~e$VjGKq|lUPL>9U&2*+R|VC7{pfy5LQ zuw~-w&tGAad?x_&(!5T`!)EB0Vz~K+{2(KdSAv+&t7QVQQh8f*T*yM|F +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc tar gcc) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "cp order.tar.gz good.txt $TmpDir" + rlRun "pushd $TmpDir" + rlRun "tar xvzf order.tar.gz" + rlRun "mv good.txt order" + rlRun "pushd order" + rlRun "make" + rlAssertExists "./main" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./main > log 2>&1" + rlAssertNotDiffer good.txt log || rlLog "$(diff -u good.txt log)" + rlRun "LD_DEBUG=libs ./main > log_debug 2>&1" + rlFileSubmit log_debug + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/main.fmf b/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/main.fmf new file mode 100644 index 0000000..ee6a200 --- /dev/null +++ b/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/main.fmf @@ -0,0 +1,19 @@ +summary: Test for bz739971 (A group with too many members not displayed by id) +description: | + Bug summary: A group with too many members not displayed by id or groups commands + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=739971 +contact: Sergey Kolosov +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=739971 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - shadow-utils +duration: 2h +extra-summary: + /tools/glibc/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id +extra-task: + /tools/glibc/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id diff --git a/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/runtest.sh b/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/runtest.sh new file mode 100755 index 0000000..415303b --- /dev/null +++ b/tests/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id/runtest.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz739971-A-group-with-too-many-members-not-displayed-by-id +# Description: Test for bz739971 (A group with too many members not displayed by id) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc shadow-utils) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlRun "groupadd lojza" + rlRun "useradd testuser" + rlRun "usermod -a -G lojza testuser" + rlPhaseEnd + + rlPhaseStartTest "Just sanity!" + rlRun "id testuser > log 2>&1" + rlRun "id -G testuser | tr ' ' '\n' > logNumeric 2>&1" + rlAssertGrep lojza log + rlPhaseEnd + + rlPhaseStartSetup + if rlIsRHEL ">=8" + then + rlServiceStop sssd + fi + rlLog "Creating 1000 users, this make take a while..." + rlRun "for ((i=0;i<1000;i++)); do useradd lojza\$i;done" + rlRun "for ((i=0;i<1000;i++)); do usermod -a -G lojza lojza\$i;done" + if rlIsRHEL ">=8" + then + rlServiceRestore sssd + fi + rlPhaseEnd + + rlPhaseStartTest "Actual bug!" + rlRun "id testuser > log2 2>&1" + rlRun "id -G testuser | tr ' ' '\n' > log2Numeric 2>&1" + rlAssertGrep lojza log2 + rlAssertNotDiffer log log2 + rlAssertNotDiffer logNumeric log2Numeric || rlLog "$(diff -u logNumeric log2Numeric)" + rlPhaseEnd + + rlPhaseStartCleanup + if rlIsRHEL ">=8" + then + rlServiceStop sssd + fi + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlRun "userdel -r -f testuser" + rlRun "for ((i=0;i<1000;i++)); do userdel -r -f lojza\$i;done" + rlRun "groupdel lojza" + if rlIsRHEL ">=8" + then + rlServiceRestore sssd + fi + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/Makefile b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/Makefile new file mode 100644 index 0000000..5ce9b39 --- /dev/null +++ b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/Makefile @@ -0,0 +1,64 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular +# Description: Test for bz745487 (Dynamic loader behaviour regression with circular) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE libdependtest-1.0.tar.gz + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Miroslav Franc " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Test for bz745487 (Dynamic loader behaviour regression with circular)" >> $(METADATA) + @echo "Type: Regression" >> $(METADATA) + @echo "TestTime: 10m" >> $(METADATA) + @echo "RunFor: glibc" >> $(METADATA) + @echo "Requires: glibc gcc-c++ tar glibc-devel glibc-headers" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Bug: 745487" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/PURPOSE b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/PURPOSE new file mode 100644 index 0000000..119aa7f --- /dev/null +++ b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/PURPOSE @@ -0,0 +1,5 @@ +PURPOSE of /tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular +Description: Test for bz745487 (Dynamic loader behaviour regression with circular) +Author: Miroslav Franc +Bug summary: Dynamic loader behaviour regression with circular dependencies +Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=745487 diff --git a/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/libdependtest-1.0.tar.gz b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/libdependtest-1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..17c735a40af3116f291db2204abbc5f8edfd4464 GIT binary patch literal 1859 zcmV-J2fX+niwFP!000001MOP-bK5o&_OHcXvDM|SQf*44UTo<)Z5rn~opC#z^lth} zM?;a2#0DZ%0JQ5%)4#n7@SzuFHHk)vd-%o{B|LUP0Q+IF087R(UC=aER4T`7yPcDR z!$tUmfqr`az+HWoIPnHuukUv~zlY_#zS|$1z~Jyr*+wQ+C;(385zi(e+gWa3{yhcT z8h=cQ7A%wczdc(l-du+s;9!fB2 zsiZRemGZMNjTyy~1;4B%!v(~Qs;su;jWc-qpR3E!)uSJODEK6qK=b|0>MfI% z>(!Vb&7^A5#5bZsoIxWO9>724vlNA56(P82whEyd^tVJcy&~b|W;3g|#g;bnuE6(h z#Z2DLo14u+h3hpN^^IS4;r{lcojFrxdS;V-cTWv2S2&yuXf{Vm#Y4-1fJ^tT8 zR)Kx|KN$2%{vY&uh5zSS{yzpPVsC8v{f#B*H?9+*vXE^gFPDs3M{UaZIAo*JpL<1T zu2?h*+WFUpu$Q&sf}qwFEktc`Xiec~6*CtNyeJs2R$IO2yGvbN>1S&zL80?~RNC52 z{hTi(Qa;+N;I~OSt@F*{CQ-BU9Ug+4>%sRhi*W7BlwSHP^j1)4I6d9$x6{)-+R6>U zYiM(vO>K^|LtB<+lE#&mP6s`b=M-cnC|s*>jD7}EpM-3ITMtmPL_);pi-d(L;VEQk zqH@|%n8G4sOq&T#5D|)m zNzIyb< zw-?TL=mQXfAAvD@$m79;=+8V!uMSJ|Z%a=DwWc9Ckl2XiB+av5!6AuOOa~h|w?&$a`XrS*ruRHUM{Z z+S{JF7KcFX{?82gL5_Y6_MZQC%l+Tb>-9Xn|MP}j%m2r~UGYCs9S-XWv3(${Q=2V# zv5b}NKAJ5fH4m%9V0c-b9&ZS89#+T0`ru;igt#_{xO!y#wmbBmVcY&!V!a2_vDf}x zZyEo0yW0M{JsbZ&3OXGyR!(IeGA>3R^wFS>fy$Bv$|&bJl$%sg*3mn~vYvUjGjl0@}a+_m}qHADH#uxAuP&tgZj0-?#JV zuiWXt{Cs)bq7&Y!la{yLr}qil_W$(Bqsy2p(q< z6)+Ke9>7egg$z0!$ukkrn^4d;7t_u-oBl6hEbPb`zZv1Lb~H^sP2vl$`_ac;LN3iD zqG@ysN>Jmhn`i4M|L# z9-p2r&)D?Qn}RV%*DT_x3JrNuBEva_8yY?@$W=m9H&P_isX4Bz6t;|>{Psj4Ean6^ zOjO`tQ52e`N+0y;`Z1lO$EO7Dwv3D$!7<15ih1W2HvfSkcKvLdqoTT-5w*7^s+$3K z!gH?YV> zyK<={ho9V^&jA-R8sp+NzJ>PseXG2Lz6rv3lrN2OWm&CS9Z|?wQVdg2FK@NZ0Xt(= z>R)KpN*CN&b+vE+=3-+2@^(Jv3>fFn(S;}yGwc^sfIXRK2Qd2aYwzQlwh!}&!jo%g xPC^y3mfbj5SXfwCSXfwCSXfwCSXfwCSXfwCSXfwCSXlhs@F(!=Yo!2C001jBu8jZy literal 0 HcmV?d00001 diff --git a/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/main.fmf b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/main.fmf new file mode 100644 index 0000000..db64cd8 --- /dev/null +++ b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/main.fmf @@ -0,0 +1,21 @@ +summary: Test for bz745487 (Dynamic loader behaviour regression with circular) +description: | + Bug summary: Dynamic loader behaviour regression with circular dependencies + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=745487 +contact: Miroslav Franc +component: + - glibc +test: ./runtest.sh +tier: 1 +framework: beakerlib +require: + - glibc + - gcc-c++ + - tar + - glibc-devel +duration: 10m +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=745487 + - relates: https://sourceware.org/bugzilla/show_bug.cgi?id=12892 +extra-summary: /tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular +extra-task: /tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular diff --git a/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/runtest.sh b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/runtest.sh new file mode 100755 index 0000000..e54d41f --- /dev/null +++ b/tests/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular/runtest.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz745487-Dynamic-loader-behaviour-regression-with-circular +# Description: Test for bz745487 (Dynamic loader behaviour regression with circular) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc glibc-devel gcc-c++ tar) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "cp libdependtest-1.0.tar.gz $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest "Build libdependtest" + rlRun -c "tar xvzf libdependtest-1.0.tar.gz" + rlRun -c "pushd libdependtest-1.0" + rlRun -l "make" + rlPhaseEnd + + rlPhaseStartTest "main" + rlRun -c "./main > log 2>&1" + rlAssertNotGrep oops log + rlRun -c "LD_DEBUG=files ./main > log-debug 2>&1" + rlAssertNotGrep error log-debug + rlPhaseEnd + + rlPhaseStartTest "dlmain - the actual bug" + rlRun -c "./dlmain > log 2>&1" + rlAssertNotGrep oops log + rlRun -c "LD_DEBUG=files ./dlmain > log-debug 2>&1" + rlAssertNotGrep error log-debug + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/main.fmf b/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/main.fmf new file mode 100644 index 0000000..181c440 --- /dev/null +++ b/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/main.fmf @@ -0,0 +1,19 @@ +summary: Test for BZ#765710 (Allow getaddrinfo() to accept SCTP socket types in) +description: | + Bug summary: Allow getaddrinfo() to accept SCTP socket types in hints + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=765710 +contact: Miroslav Franc +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=765710 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc + - gcc +duration: 2m +extra-summary: + /tools/glibc/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in +extra-task: + /tools/glibc/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in diff --git a/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/runtest.sh b/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/runtest.sh new file mode 100755 index 0000000..aa5191b --- /dev/null +++ b/tests/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz765710-Allow-getaddrinfo-to-accept-SCTP-socket-types-in +# Description: Test for BZ#765710 (Allow getaddrinfo() to accept SCTP socket types in) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2012 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc gcc) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp testcase.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun -l "gcc testcase.c -o testcase" + rlAssertExists "./testcase" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./testcase > log 2>&1" + rlAssertGrep pass log + rlAssertNotGrep error log + rlLog "$( +#include +#include +#include +#include +#include + +int +main() +{ + int err; + char *node = "localhost"; + struct addrinfo hints, *res; + + bzero(&hints, sizeof(hints)); + hints.ai_flags = AI_CANONNAME; + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = IPPROTO_SCTP; + + err = getaddrinfo(node, NULL, &hints, &res); + if (err != 0) { + printf("getaddrinfo error: %s\n", gai_strerror(err)); + return 1; + } else { + printf("getaddrinfo pass.\n"); + return 0; + } +} diff --git a/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/gcc_assert_dw2.c b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/gcc_assert_dw2.c new file mode 100644 index 0000000..b228414 --- /dev/null +++ b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/gcc_assert_dw2.c @@ -0,0 +1,150 @@ +#include +#include +#include +#include +#include +#include +#include + +// gcc -g3 -O0 gcc_assert_dw2.c -lpthread +// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52839#c10 + +void *foo(void *arg) +{ + pthread_detach(pthread_self()); + return NULL; +} + +int create_foo_will_fail_with_eperm() +{ + int ret; + int old; + pthread_t t; + struct sched_param sp; + + pthread_attr_t ta; + ret = pthread_attr_init(&ta); + if (ret != 0) { + printf("attr init: %d %d\n", ret, errno); + exit(1); + } + + ret = pthread_attr_setinheritsched(&ta, PTHREAD_EXPLICIT_SCHED); + if (ret != 0) { + printf("attr setinheritsched: %d %d\n", ret, errno); + exit(1); + } + + ret = pthread_attr_setschedpolicy(&ta, SCHED_RR); + if (ret != 0) { + printf("attr setschedpolicy: %d %d\n", ret, errno); + exit(1); + } + + sp.sched_priority = sched_get_priority_max(SCHED_RR); + ret = pthread_attr_setschedparam(&ta, &sp); + if (ret != 0) { + printf("attr setschedparam: %d %d\n", ret, errno); + exit(1); + } + + ret = pthread_create(&t, &ta, foo, NULL); + if (ret == EPERM) { + /* + this is expected + printf("create foo: %d %d\n", ret, errno); + */ + } else { + printf("create foo suceeded: %d %d\n", ret, errno); + exit(2); + } + return 0; +} + +int create_foo_thread() +{ + int ret; + pthread_t t; + ret = pthread_create(&t, NULL, foo, NULL); + if (ret != 0) { + printf("create foo2: %d %d\n", ret, errno); + exit(3); + } +} + +void *bar(void *arg) +{ + int i; + int max1 = rand() % 8; + int max2 = rand() % 8; + int max3 = rand() % 8; + + for (i=0; i < max1; i++) + create_foo_thread(); + + for (i=0; i < max2; i++) + create_foo_will_fail_with_eperm(); + + for (i=0; i < max3; i++) + create_foo_thread(); +} + +int do_child() +{ + int ret; + pthread_t t; + + ret = pthread_create(&t, NULL, bar, NULL); + if (ret != 0) { + printf("create bar: %d %d\n", ret, errno); + exit(4); + } + + ret = pthread_join(t, NULL); + if (ret != 0) { + printf("join bar: %d\n", ret, errno); + exit(4); + } +} + +int main() +{ + int child; + int ret; + int status; + int i = 0; + + srand(0); + + while (1) { + i++; + if (i % 1000 == 0) + printf("%d\n", i); + + child = fork(); + if (child == 0) { + do_child(); + pthread_exit(0); + printf("should not be reached\n"); + exit(2); + } + + ret = waitpid(child, &status, 0); + if (ret != child) { + printf("Waitpid returned the wrong PID"); + exit(5); + } + + if (!WIFEXITED(status)) { + printf("status: %d\n", status); + exit(6); + } + + if (WEXITSTATUS(status) != 0) { + printf("exit status: %d\n", WEXITSTATUS(status)); + exit(7); + } + } + return 0; +} + diff --git a/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/main.fmf b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/main.fmf new file mode 100644 index 0000000..49bd37d --- /dev/null +++ b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/main.fmf @@ -0,0 +1,28 @@ +summary: Test for BZ#852445 (gcc_assert failure in _Unwind_SetSpColumn() on) +description: | + Bug summary: gcc_assert failure in _Unwind_SetSpColumn() on ppc64 + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=852445 +contact: Sergey Kolosov +adjust: + # disable on rhel-10 s390x until RHEL-104233 is fixed + - enabled: false + when: arch == s390x and distro == rhel-10 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=852445 +component: + - glibc +tag: + - regression + - slow +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - gcc-debuginfo + - gdb + - glibc + - glibc-debuginfo + - policycoreutils +duration: 5h +extra-summary: /tools/glibc/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on +extra-task: /tools/glibc/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on diff --git a/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/runtest.sh b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/runtest.sh new file mode 100755 index 0000000..82d76cd --- /dev/null +++ b/tests/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on/runtest.sh @@ -0,0 +1,113 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz852445-gcc-assert-failure-in-Unwind-SetSpColumn-on +# Description: Test for BZ#852445 (gcc_assert failure in _Unwind_SetSpColumn() on) +# Author: Miroslav Franc +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2012 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh + +# I won't assert debuginfos, sometimes they don't get installed and a I don't want the test to fail. +PACKAGES=(gcc gdb glibc policycoreutils) +testuser=bz852445 + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + + # setup user, testcase + rlRun "useradd -d /home/$testuser $testuser" + rlRun "cp gcc_assert_dw2.c /home/$testuser" + rlRun "chown $testuser:$testuser /home/$testuser/gcc_assert_dw2.c" + rlRun "restorecon -R /home/$testuser" + rlRun "su - $testuser -c 'gcc -g3 -O0 gcc_assert_dw2.c -o gcc_assert_dw -lpthread'" + rlAssertExists "/home/$testuser/gcc_assert_dw" + + # make sure core files go to file instead of abrt + rlRun "ORIG_CORE_PATTERN='$(cat /proc/sys/kernel/core_pattern)'" + rlRun "echo '/home/$testuser/core.%p' > /proc/sys/kernel/core_pattern" + rlLog "/proc/sys/kernel/core_pattern:" + rlLog "$(cat /proc/sys/kernel/core_pattern)" + + # make sure users can store big core files + rlFileBackup "/etc/security/limits.conf" + rlRun "sed -i '/^[^#]*core/d' /etc/security/limits.conf" + rlRun "echo '* soft core unlimited' >> /etc/security/limits.conf" + rlRun "echo '* hard core unlimited' >> /etc/security/limits.conf" + rlLog "tail -n2 /etc/security/limits.conf:" + rlLog "$(tail -n2 /etc/security/limits.conf)" + rlPhaseEnd + + rlPhaseStartTest + + # make sure core file generation works fine + rlRun "su - $testuser -c 'ulimit -c unlimited; (sleep 600 &)'" + rlRun "sleep 10" + rlRun "TEST_PID=$(pgrep -U $testuser sleep)" + rlRun "kill -6 $TEST_PID" + rlRun "sleep 10" + rlAssertExists "/home/$testuser/core.$TEST_PID" + rlRun "rm /home/$testuser/core.$TEST_PID" + + # run test + rlRun "su - $testuser -c 'ulimit -c unlimited; for ((i=0;i<16;++i)); do (./gcc_assert_dw &>/dev/null &); done'" + a=0 + while [[ $a != -1 ]] + do + sleep 60 + : $((++a)) + rlLog "$(date), a=$a" + ls /home/$testuser/core* &>/dev/null && { rlFail "Core file found; Bug!"; a=-1; } + [[ $a == 210 ]] && a=-1 + done; unset a + + # kill test runs + killall gcc_assert_dw + sleep 2 + killall -9 gcc_assert_dw + sleep 2 + + # parse and upload core files + cores=($(ls /home/$testuser/core*)) + for c in ${cores[@]} + do + echo -e 'bt full\nq' > /home/$testuser/s + rlLog "===> $c <===" + rlLog "$(gdb -batch -q -x /home/$testuser/s -c $c /home/$testuser/gcc_assert_dw)" + rlBundleLogs "$c" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlFileRestore + rlRun "echo '$ORIG_CORE_PATTERN' > /proc/sys/kernel/core_pattern" + rlLog "/proc/sys/kernel/core_pattern:" + rlLog "$(cat /proc/sys/kernel/core_pattern)" + rlRun -l "userdel -f -r $testuser" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/main.fmf b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/main.fmf new file mode 100644 index 0000000..07c9368 --- /dev/null +++ b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/main.fmf @@ -0,0 +1,17 @@ +summary: Tests a large malloc/free in a thread +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=867679 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - strace +duration: 5m +extra-summary: /tools/glibc/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2 +extra-task: /tools/glibc/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2 diff --git a/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/runtest.sh b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/runtest.sh new file mode 100755 index 0000000..b9be4eb --- /dev/null +++ b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/runtest.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2 +# Description: Spawns a lot of processes that allocate memory and idle +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel strace" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -Wall -lpthread -g tst-shrink-heap.c -o tst-shrink-heap" + rlAssertExists "tst-shrink-heap" + rlRun "OVERCOMMIT_ORIG=$(cat /proc/sys/vm/overcommit_memory)" + rlRun "echo 2 > /proc/sys/vm/overcommit_memory" + rlPhaseEnd + + rlPhaseStartTest + rlRun "GLIBC_TUNABLES=glibc.malloc.tcache_max=0 strace -e memory -o out -f ./tst-shrink-heap" + # Two threads quit. First the child thread, then main. Hence the + # first thread to quit is the child. We do this voodoo to get that + # thread's ID so we can use it to extract its corresponding strace + # output lines: + rlRun "TID=$(cat out | grep 'exited with 0' | head -n1 | cut -d' ' -f1)" + rlRun "cat out | grep $TID > thread.out" + unset LOG_STRACE_OUTPUT + rlAssertGreater "Use mmap (PROT_NONE)" "$(cat thread.out | grep 'mmap.*PROT_NONE' | wc -l)" "8" || LOG_STRACE_OUTPUT=1 + rlAssertGreater "Don't use madvise (MADV_DONTNEED)" "2" "$(cat thread.out | grep 'madvise.*MADV_DONTNEED' | wc -l)" || LOG_STRACE_OUTPUT=1 + if [ -n "$LOG_STRACE_OUTPUT" ]; then + rlLog "Child thread's strace output:" + rlLog "$(cat thread.out)" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "echo $OVERCOMMIT_ORIG > /proc/sys/vm/overcommit_memory" + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/tst-shrink-heap.c b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/tst-shrink-heap.c new file mode 100644 index 0000000..402dfdf --- /dev/null +++ b/tests/Regression/bz867679-shrink-heap-on-free-when-vm-overcommit-is-2/tst-shrink-heap.c @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include + +/* Error checking wrapper around pthread functions. */ +#define expect0(f, ...) \ + do \ + { \ + int err; \ + if ((err = f (__VA_ARGS__))) \ + { \ + printf (#f ": %s\n", strerror (err)); \ + exit (1); \ + } \ + } \ + while (0) + +void * +alloc_free_megs (void * _) +{ + int i; + void *block[4096]; + + for (i = 0; i < 4096; i++) + /* Big enough not to go into a fastbin, + small enough not to be mmap'd. */ + block[i] = malloc (256); + + for (i = 4095; i >=0; i--) + free (block[i]); + + return NULL; +} + +int +main (int argc, char *argv[]) +{ + pthread_t t; + + expect0 (pthread_create, &t, NULL, alloc_free_megs, NULL); + expect0 (pthread_join, t, NULL); + + exit (0); +} diff --git a/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/main.fmf b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/main.fmf new file mode 100644 index 0000000..e2ea8af --- /dev/null +++ b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/main.fmf @@ -0,0 +1,20 @@ +summary: Calls pathconf and fpathconf on an XFS directory +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=924102 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - util-linux + - xfsprogs +duration: 5m +extra-summary: + /tools/glibc/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs +extra-task: + /tools/glibc/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs diff --git a/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/runtest.sh b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/runtest.sh new file mode 100755 index 0000000..67af945 --- /dev/null +++ b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/runtest.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs +# Description: Calls pathconf and fpathconf on an XFS directory +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-devel util-linux xfsprogs) + +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done; unset p + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp tst-pathconf.c $TmpDir" + rlRun "pushd $TmpDir" + + rlRun "gcc -o tst-pathconf tst-pathconf.c" + rlAssertExists "tst-pathconf" + + # Format and mount a 300M file as an XFS filesystem + rlRun "mkfs.xfs -dfile,name=filesystem,size=300m" + rlAssertExists "filesystem" + rlRun "mkdir mountpoint" + rlRun "mount -t xfs filesystem mountpoint" + rlRun "df | grep $PWD/mountpoint" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./tst-pathconf mountpoint" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "umount mountpoint" + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/tst-pathconf.c b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/tst-pathconf.c new file mode 100644 index 0000000..db373b8 --- /dev/null +++ b/tests/Regression/bz924102-pathconf-and-fpathconf-fail-to-return-_PC_CHOWN_RESTRICTED-for-xfs/tst-pathconf.c @@ -0,0 +1,60 @@ +#include +#include +#include +#include +#include +#include + +#define check_errno(call) \ +do \ + { \ + if (errno) \ + { \ + fprintf (stderr, "FAIL: %s set errno to: %s\n", call, strerror (errno)); \ + exit (EXIT_FAILURE); \ + } \ + } \ +while (0) + +int +main (int argc, char *argv[]) +{ + int f; + + if (argc != 2) + { + fprintf (stderr, "error: invalid number of arguments\n"); + exit (EXIT_FAILURE); + } + + errno = 0; + + /* Expect the 'pathconf' call to be successful. */ + if (pathconf (argv[1], _PC_CHOWN_RESTRICTED) == -1) + { + perror ("FAIL"); + exit (EXIT_FAILURE); + } + + check_errno ("pathconf"); + + /* Expect the 'open' call to be successful. */ + if ((f = open (argv[1], O_RDONLY)) == -1) + { + perror ("FAIL"); + exit (EXIT_FAILURE); + } + + check_errno ("open"); + + /* Expect the 'fpathconf' call to be successful. */ + if (fpathconf (f, _PC_CHOWN_RESTRICTED) == -1) + { + perror ("error:"); + exit (EXIT_FAILURE); + } + + check_errno ("fpathconf"); + + exit (EXIT_SUCCESS); +} diff --git a/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/gethostbyname.c b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/gethostbyname.c new file mode 100644 index 0000000..4b90cc6 --- /dev/null +++ b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/gethostbyname.c @@ -0,0 +1,74 @@ +#include +#include +#include +#include +#include +#include + +int h_errnop; +int error; + +static void +test (struct hostent * result) +{ + char namebuf[512]; + + if (result == NULL) + { + printf ("FAIL: Cannot resolve query, error = %d, h_errnop = %d\n", + error, h_errnop); + return; + } + + if ( (result->h_addrtype != AF_INET) + && (result->h_addrtype != AF_INET6)) + { + printf ("FAIL: Other address type detected: %d\n", result->h_addrtype); + return; + } + + printf ("RESULT:%s\n", + inet_ntop (result->h_addrtype, result->h_addr, namebuf, + sizeof (namebuf))); + + return; +} + +int +main (void) +{ + char *hostname = "mister.edward.hyde."; + char *hostname6 = "doctor.henry.jekyll."; + struct hostent he, *result = NULL; + char buf[4096]; + + /* gethostbyname_r: */ + + h_errnop = 0; + error = gethostbyname_r (hostname, &he, buf, sizeof (buf), &result, &h_errnop); + test (result); + + /* gethostbyname2_r: */ + + h_errnop = 0; + error = gethostbyname2_r (hostname, AF_INET, &he, buf, sizeof (buf), &result, &h_errnop); + test (result); + + h_errnop = 0; + error = gethostbyname2_r (hostname6, AF_INET6, &he, buf, sizeof (buf), &result, &h_errnop); + test (result); + + error = h_errnop = 0; + + /* gethostbyname: */ + + test (gethostbyname (hostname)); + + /* gethostbyname2: */ + + test (gethostbyname2 (hostname, AF_INET)); + + test (gethostbyname2 (hostname6, AF_INET6)); + + return 0; +} diff --git a/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/main.fmf b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/main.fmf new file mode 100644 index 0000000..100c34c --- /dev/null +++ b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/main.fmf @@ -0,0 +1,19 @@ +summary: Verifies use of localhost as NS when resolv.conf is missing. +description: '' +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=928318 +contact: Arjun Shankar +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - bind-utils + - gcc + - glibc + - glibc-devel + - python3 + - python3-pip +duration: 30m +extra-summary: /tools/glibc/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing +extra-task: /tools/glibc/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing diff --git a/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/ns.py b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/ns.py new file mode 100755 index 0000000..049c2f9 --- /dev/null +++ b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/ns.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 + +# A simple nameserver that responds only to queries for "A" records of +# "mister.edward.hyde" and "AAAA" records of "doctor.henry.jekyll". For all +# other queries returns reply with "NXDOMAIN" rcode. + +from dnslib import DNSRecord, QTYPE +from dnslib.server import DNSServer, DNSLogger +from dnslib.dns import RR +import time + +class TestResolver: + def resolve(self, request, handler): + for question in request.questions: + print("query: " + str(question), flush=True) + if (question.get_qname() == "mister.edward.hyde." and question.qtype == QTYPE.A): + reply = request.reply() + reply.add_answer(*RR.fromZone("mister.edward.hyde 0 IN A 127.126.125.124")) + return reply + elif (question.get_qname() == "doctor.henry.jekyll." and question.qtype == QTYPE.AAAA): + reply = request.reply() + reply.add_answer(*RR.fromZone("doctor.henry.jekyll 0 IN AAAA ::1")) + return reply + else: + reply = request.reply() + reply.header.rcode = RCODE.NXDOMAIN + return reply + +resolver = TestResolver() +logger = DNSLogger(prefix=False) +server = DNSServer(resolver, port=53, address="localhost", logger=logger, tcp=False) +server.start_thread() + +while True: + time.sleep(1) diff --git a/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/runtest.sh b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/runtest.sh new file mode 100755 index 0000000..39d7b46 --- /dev/null +++ b/tests/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing/runtest.sh @@ -0,0 +1,118 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz928318-no-fallback-to-localhost-if-resolv-conf-missing +# Description: Verifies use of localhost as NS when resolv.conf is missing. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc glibc-devel gcc) + +rlJournalStart + rlPhaseStartSetup + rlFileBackup /etc/hosts + + # Standard prep: check "Requires", create testdir, copy files + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "python3 -m pip install dnslib" + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp ns.py gethostbyname.c $TmpDir" + rlRun "pushd $TmpDir" + + # Compile the query program + rlRun "gcc -o gethostbyname gethostbyname.c" + rlAssertExists "gethostbyname" + + # Start the local NS and make sure it is running + rlRun "./ns.py > ns.out 2> /dev/null &" + rlRun "NS_PID=$!" + sleep 10 + rlRun "kill -0 $NS_PID" + + # Back up resolver configuration + rlFileBackup "/etc/resolv.conf" + + rlPhaseEnd + + + rlPhaseStartTest + + function testForFallbackNS { + + rlRun "./gethostbyname > gethostbyname.out 2> /dev/null" + + rlAssertEquals \ + "Output must contain FOUR 127.126.125.124 responses." \ + "$(cat gethostbyname.out | grep 'RESULT:127\.126\.125\.124' | wc -l)" \ + 4 + + rlAssertEquals \ + "Output must contain TWO ::1 responses." \ + "$(cat gethostbyname.out | grep 'RESULT:::1' | wc -l)" \ + 2 + + rlAssertEquals \ + "Output must contain ZERO FAIL responses." \ + "$(cat gethostbyname.out | grep 'FAIL' | wc -l)" \ + 0 + } + + # Test 1: No resolv.conf + rlRun "rm /etc/resolv.conf" + testForFallbackNS + + # Test 2: Empty resolv.conf + rlRun "touch /etc/resolv.conf" + testForFallbackNS + + # Test 3: resolv.conf points to 127.0.0.1 + rlRun "echo 'nameserver 127.0.0.1' > /etc/resolv.conf" + testForFallbackNS + + # Stop the local NS and log its output + rlRun "kill $NS_PID" + sleep 10 + rlAssertEquals "NS should have received TWELVE requests for domain mister.edward.hyde" \ + "$(cat ns.out | grep 'query.*mister\.edward\.hyde' | wc -l)" \ + 12 + rlAssertEquals "NS should have received SIX requests for domain doctor.henry.jekyll" \ + "$(cat ns.out | grep 'query.*doctor\.henry\.jekyll' | wc -l)" \ + 6 + rlPhaseEnd + + rlPhaseStartCleanup + rlFileRestore + + # Make sure the local NS is dead + rlRun "kill -0 $NS_PID" 1-255 + + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/main.fmf b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/main.fmf new file mode 100644 index 0000000..e79b781 --- /dev/null +++ b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/main.fmf @@ -0,0 +1,17 @@ +summary: Exercises dlopen based on sourceware bug 12650 +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=978098 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel + - valgrind +duration: 10m +extra-summary: /tools/glibc/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects +extra-task: /tools/glibc/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects diff --git a/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/runtest.sh b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/runtest.sh new file mode 100755 index 0000000..1eb5811 --- /dev/null +++ b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects +# Description: Exercises dlopen based on sourceware bug 12650 +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel valgrind" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all $REQUIRES + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun "gcc -o test test.c -ldl -lpthread" + rlAssertExists "test" + rlRun "gcc -o test_lib.so test_lib.c -fPIC -shared" + rlAssertExists "test_lib.so" + rlPhaseEnd + + rlPhaseStartTest + rlRun "./test" + rlRun -l "valgrind --leak-check=full ./test 2>err --error-exitcode=111" + rlLog "stderr:" + rlLog "$(cat err)" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test.c b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test.c new file mode 100644 index 0000000..1e83ad5 --- /dev/null +++ b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test.c @@ -0,0 +1,46 @@ +/* Source: https://sourceware.org/bugzilla/show_bug.cgi?id=12650 + * Compile with "gcc -o test test.c -ldl -lpthread" */ +#include +#include +#include +#include + +int main(void) +{ + int i; + void *handle; + pthread_t pt; + void *(*do_something)(void *); + + handle = dlopen("./test_lib.so", RTLD_LAZY); + if (!handle) { + perror("dlopen"); + return EXIT_FAILURE; + } + + do_something = dlsym(handle, "do_something"); + if (!do_something) { + perror("dlsym"); + return EXIT_FAILURE; + } + + for (i = 0; i < 10000; i++) { + if (pthread_create(&pt, NULL, do_something, NULL)) { + perror("pthread_create"); + return EXIT_FAILURE; + } + + if (pthread_join(pt, NULL)) { + perror("pthread_join"); + return EXIT_FAILURE; + } + } + + if (dlclose(handle)) { + perror("dlclose"); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + diff --git a/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test_lib.c b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test_lib.c new file mode 100644 index 0000000..0d9d7fa --- /dev/null +++ b/tests/Regression/bz978098-memory-leak-in-TLS-of-loaded-objects/test_lib.c @@ -0,0 +1,12 @@ +/* Source: https://sourceware.org/bugzilla/show_bug.cgi?id=12650 + * Compile with "gcc -o test_lib.so test_lib.c -fPIC -shared" */ +#include + +static __thread int a; + +void *do_something(void *arg) +{ + a = 1; + return NULL; +} + diff --git a/tests/Regression/bz983327-stack-protector-functionality/main.fmf b/tests/Regression/bz983327-stack-protector-functionality/main.fmf new file mode 100644 index 0000000..847f133 --- /dev/null +++ b/tests/Regression/bz983327-stack-protector-functionality/main.fmf @@ -0,0 +1,19 @@ +summary: Tests glibc guarantees for stack protector to work +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=983327 +adjust: + - enabled: false + when: arch != aarch64 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/bz983327-stack-protector-functionality +extra-task: /tools/glibc/Regression/bz983327-stack-protector-functionality diff --git a/tests/Regression/bz983327-stack-protector-functionality/runtest.sh b/tests/Regression/bz983327-stack-protector-functionality/runtest.sh new file mode 100755 index 0000000..70b142e --- /dev/null +++ b/tests/Regression/bz983327-stack-protector-functionality/runtest.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz983327-stack-protector-functionality +# Description: Tests glibc guarantees for stack protector to work +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-devel) +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp *.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun -c "gcc tst-__stack_chk_guard.c -o tst-__stack_chk_guard" + rlAssertExists "tst-__stack_chk_guard" + rlPhaseEnd + + rlPhaseStartTest + # This test is specific to aarch64. + + # This just really tests that a symbol named + # '__stack_chk_guard' is made available from + # the runtime (actually, it is there in + # /lib64/ld-2.17.so which is DT_NEEDED by libc.so.6) + # gcc generates references to __stack_chk_guard, and + # these are fixed up by the loader in this way + rlRun -l "./tst-__stack_chk_guard" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz983327-stack-protector-functionality/tst-__stack_chk_guard.c b/tests/Regression/bz983327-stack-protector-functionality/tst-__stack_chk_guard.c new file mode 100644 index 0000000..f69d310 --- /dev/null +++ b/tests/Regression/bz983327-stack-protector-functionality/tst-__stack_chk_guard.c @@ -0,0 +1,10 @@ +#include + +extern unsigned int * __stack_chk_guard; + +int +main (void) +{ + printf ("%p\n", __stack_chk_guard); + return 0; +} diff --git a/tests/Regression/bz995207-getgroup-crashes-on-negative-size/main.fmf b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/main.fmf new file mode 100644 index 0000000..7943557 --- /dev/null +++ b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/main.fmf @@ -0,0 +1,16 @@ +summary: Calls getgroup with a negative size. +description: '' +contact: Arjun Shankar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=995207 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 2m +extra-summary: /tools/glibc/Regression/bz995207-getgroup-crashes-on-negative-size +extra-task: /tools/glibc/Regression/bz995207-getgroup-crashes-on-negative-size diff --git a/tests/Regression/bz995207-getgroup-crashes-on-negative-size/runtest.sh b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/runtest.sh new file mode 100755 index 0000000..a15de9c --- /dev/null +++ b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/runtest.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/bz995207-getgroup-crashes-on-negative-size +# Description: Calls getgroup with a negative size. +# Author: Arjun Shankar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-devel) + +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp tst-getgroups.c $TmpDir" + rlRun "pushd $TmpDir" + rlRun -l "gcc -O1 -D_FORTIFY_SOURCE=2 tst-getgroups.c -o tst-getgroups" + rlAssertExists "tst-getgroups" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./tst-getgroups 2> tst-getgroups.out" + rlAssertGrep "getgroups: Invalid argument" "tst-getgroups.out" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/bz995207-getgroup-crashes-on-negative-size/tst-getgroups.c b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/tst-getgroups.c new file mode 100644 index 0000000..9d4e937 --- /dev/null +++ b/tests/Regression/bz995207-getgroup-crashes-on-negative-size/tst-getgroups.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +int +main (void) +{ + int e; + gid_t gidlist[10]; + + errno = 0; + + if (getgroups (-1, gidlist) != -1) + return 1; + + if (! errno) + return 1; + + perror ("getgroups"); + return 0; +} diff --git a/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/main.fmf b/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/main.fmf new file mode 100644 index 0000000..e46fdfc --- /dev/null +++ b/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/main.fmf @@ -0,0 +1,18 @@ +summary: 'Test for RHEL-63048 (glibc: Incorrect relative paths in glibc-debuginfo).' +description: '' +adjust: + - enabled: false + when: distro < rhel-8.10 +contact: Martin Coufal +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - glibc + - glibc-debuginfo + - binutils +duration: 5m +extra-summary: /tools/glibc/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo +extra-task: /tools/glibc/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo +id: 4c2960c8-b12b-41ff-863a-c2950e1204f4 diff --git a/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/runtest.sh b/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/runtest.sh new file mode 100755 index 0000000..78f37ce --- /dev/null +++ b/tests/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/glibc-Incorrect-relative-paths-in-glibc-debuginfo +# Description: Test for RHEL-63048 (glibc: Incorrect relative paths in glibc-debuginfo). +# Author: Martin Coufal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm $PACKAGE-debuginfo + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + if rlIsRHEL ">=9" || rlIsCentOS ">=9"; + then + LIBCSO_PATH="/usr/lib64/libc.so.6" + else + LIBCSO_PATH="/usr/lib64/libc-2.28.so" + fi + rlPhaseEnd + + rlPhaseStartTest + rlRun "addr2line -fe $LIBCSO_PATH $(nm $LIBCSO_PATH | grep -e "add_to_environ$" | cut -d ' ' -f1) &> log" + rlAssertNotGrep "Dwarf Error" log + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/main.fmf b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/main.fmf new file mode 100644 index 0000000..c533c3c --- /dev/null +++ b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/main.fmf @@ -0,0 +1,19 @@ +summary: 'glibc: Unexpected closing of nss_files databases after lookups causes denial + of service' +description: | + Bug summary: EMBARGOED glibc: Unexpected closing of nss_files databases after lookups causes denial of service + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1165192 +contact: Robin Hack +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1165192 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: /tools/glibc/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS +extra-task: /tools/glibc/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS diff --git a/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/reproducer.c b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/reproducer.c new file mode 100644 index 0000000..8b37f62 --- /dev/null +++ b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/reproducer.c @@ -0,0 +1,40 @@ +/* Author: Robin Hack */ +#include +#include +#include +#include +#include +#include + +static void +alarm_handler (int arg) +{ + exit (EXIT_FAILURE); +} + +int +main (int argc, char **argv) +{ + struct passwd *usr; + struct sigaction sig_acts; + + sig_acts.sa_handler = &alarm_handler; + sig_acts.sa_flags = 0; + + sigemptyset (&(sig_acts.sa_mask)); + sigaddset (&(sig_acts.sa_mask), SIGALRM); + + sigaction (SIGALRM, &sig_acts, NULL); + + alarm (30); + + setpwent (); + while ((usr = getpwent ()) != NULL) + { + uid_t u = usr->pw_uid; + usr = getpwuid (u); + } + endpwent (); + + return EXIT_SUCCESS; +} diff --git a/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/runtest.sh b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/runtest.sh new file mode 100755 index 0000000..99ec27c --- /dev/null +++ b/tests/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/glibc-Unexpected-closing-of-nss-files-can-lead-to-DoS +# Description: glibc: Unexpected closing of nss_files databases after lookups causes denial of service +# Author: Robin Hack +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES=(gcc glibc glibc-devel) + +rlJournalStart + rlPhaseStartSetup + for p in ${REQUIRES[@]}; do + rlAssertRpm $p + done + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + + rlRun -l "gcc ./reproducer.c -o $TmpDir/reproducer" 0 "Compile reproducer" + rlAssertExists "$TmpDir/reproducer" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -l "./reproducer" 0 "Run reproducer" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/nscd-should-not-be-in-RHEL10/main.fmf b/tests/Regression/nscd-should-not-be-in-RHEL10/main.fmf new file mode 100644 index 0000000..204ec13 --- /dev/null +++ b/tests/Regression/nscd-should-not-be-in-RHEL10/main.fmf @@ -0,0 +1,15 @@ +summary: nscd should not be in RHEL10 +description: '' +adjust: + - enabled: false + when: distro < rhel-10 +contact: Sergey Kolosov +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - glibc +duration: 20m +extra-summary: /tools/glibc/Regression/nscd-should-not-be-in-RHEL10 +extra-task: /tools/glibc/Regression/nscd-should-not-be-in-RHEL10 diff --git a/tests/Regression/nscd-should-not-be-in-RHEL10/runtest.sh b/tests/Regression/nscd-should-not-be-in-RHEL10/runtest.sh new file mode 100755 index 0000000..7328779 --- /dev/null +++ b/tests/Regression/nscd-should-not-be-in-RHEL10/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/nscd-should-not-be-in-RHEL10 +# Description: What the test does +# Author: Sergey Kolosov +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +TESTPKG="nscd" +PKGLOG="pkg_list" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + PACKNVR=$(rpm -q ${PACKAGE}.`arch`) + rlRun "TESTTMPDIR=$(mktemp -d)" + rlRun "pushd $TESTTMPDIR" + rlPhaseEnd + + rlPhaseStartTest "repo test" + rlRun -c "dnf repoquery ${TESTPKG} -i -q > ${PKGLOG}" + rlFileSubmit $PKGLOG + rlAssertNotGrep ${TESTPKG} ${PKGLOG} + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TESTTMPDIR" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/setcontext/main.fmf b/tests/Regression/setcontext/main.fmf new file mode 100644 index 0000000..4e42930 --- /dev/null +++ b/tests/Regression/setcontext/main.fmf @@ -0,0 +1,20 @@ +summary: Test setcontext +description: | + Tests if setcontext does it's job correctly +contact: mcermak@redhat.com +component: + - glibc +test: ./runtest.sh +framework: beakerlib +require: + - gcc + - glibc +duration: 3m +enabled: true +tier: 2 +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=168503 +extra-nitrate: TC#0014898 +extra-summary: /tools/glibc/setcontext +extra-task: /tools/glibc/setcontext +id: 15e46f5b-6d67-4d0a-9c00-c946550f6bbb diff --git a/tests/Regression/setcontext/runtest.sh b/tests/Regression/setcontext/runtest.sh new file mode 100755 index 0000000..2d94965 --- /dev/null +++ b/tests/Regression/setcontext/runtest.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/setcontext +# Description: Tests if setcontext does it's job correctly +# Author: Petr Muller +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2006 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGES=(glibc gcc) + +rlJournalStart + rlPhaseStartSetup + for p in "${PACKAGES[@]}"; do + rlAssertRpm "$p" + done; unset p + rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" + rlRun "cp tst-setcontext.c $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc -O2 tst-setcontext.c -o tst-setcontext" + rlAssertExists "tst-setcontext" + rlRun "./tst-setcontext" + rlAssertEquals "Checking for correct exit status" $? 0 + rlPhaseEnd + + rlPhaseStartCleanup rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd + +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/setcontext/tst-setcontext.c b/tests/Regression/setcontext/tst-setcontext.c new file mode 100644 index 0000000..4dddb3b --- /dev/null +++ b/tests/Regression/setcontext/tst-setcontext.c @@ -0,0 +1,244 @@ +/* Copyright (C) 2001-2022 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include +#include + +static ucontext_t ctx[3]; + +static int was_in_f1; +static int was_in_f2; + +static char st2[32768]; + +static void +f1 (int a0, int a1, int a2, int a3) +{ + printf ("start f1(a0=%x,a1=%x,a2=%x,a3=%x)\n", a0, a1, a2, a3); + + if (a0 != 1 || a1 != 2 || a2 != 3 || a3 != -4) + { + puts ("arg mismatch"); + exit (-1); + } + + if (swapcontext (&ctx[1], &ctx[2]) != 0) + { + printf ("%s: swapcontext: %m\n", __FUNCTION__); + exit (1); + } + puts ("finish f1"); + was_in_f1 = 1; +} + +static void +f2 (void) +{ + char on_stack[1]; + + puts ("start f2"); + + printf ("&on_stack=%p\n", on_stack); + if (&on_stack[0] < &st2[0] || &on_stack[0] >= st2 + sizeof (st2)) + { + printf ("%s: memory stack is not where it belongs!", __FUNCTION__); + exit (1); + } + + if (swapcontext (&ctx[2], &ctx[1]) != 0) + { + printf ("%s: swapcontext: %m\n", __FUNCTION__); + exit (1); + } + puts ("finish f2"); + was_in_f2 = 1; +} + +void +test_stack (volatile int a, volatile int b, + volatile int c, volatile int d) +{ + volatile int e = 5; + volatile int f = 6; + ucontext_t uc; + + /* Test for cases where getcontext is clobbering the callers + stack, including parameters. */ + getcontext (&uc); + + if (a != 1) + { + printf ("%s: getcontext clobbers parm a\n", __FUNCTION__); + exit (1); + } + + if (b != 2) + { + printf ("%s: getcontext clobbers parm b\n", __FUNCTION__); + exit (1); + } + + if (c != 3) + { + printf ("%s: getcontext clobbers parm c\n", __FUNCTION__); + exit (1); + } + + if (d != 4) + { + printf ("%s: getcontext clobbers parm d\n", __FUNCTION__); + exit (1); + } + + if (e != 5) + { + printf ("%s: getcontext clobbers varible e\n", __FUNCTION__); + exit (1); + } + + if (f != 6) + { + printf ("%s: getcontext clobbers variable f\n", __FUNCTION__); + exit (1); + } +} + +volatile int global; + + +static int back_in_main; + + +static void +check_called (void) +{ + if (back_in_main == 0) + { + puts ("program did not reach main again"); + _exit (1); + } +} + + +int +main (void) +{ + atexit (check_called); + + char st1[32768]; + stack_t stack_before, stack_after; + + sigaltstack (NULL, &stack_before); + + puts ("making contexts"); + if (getcontext (&ctx[1]) != 0) + { + if (errno == ENOSYS) + { + back_in_main = 1; + exit (0); + } + + printf ("%s: getcontext: %m\n", __FUNCTION__); + exit (1); + } + + test_stack (1, 2, 3, 4); + + /* Play some tricks with this context. */ + if (++global == 1) + if (setcontext (&ctx[1]) != 0) + { + printf ("%s: setcontext: %m\n", __FUNCTION__); + exit (1); + } + if (global != 2) + { + printf ("%s: 'global' not incremented twice\n", __FUNCTION__); + exit (1); + } + + ctx[1].uc_stack.ss_sp = st1; + ctx[1].uc_stack.ss_size = sizeof st1; + ctx[1].uc_link = &ctx[0]; + { + ucontext_t tempctx = ctx[1]; + makecontext (&ctx[1], (void (*) (void)) f1, 4, 1, 2, 3, -4); + + /* Without this check, a stub makecontext can make us spin forever. */ + if (memcmp (&tempctx, &ctx[1], sizeof ctx[1]) == 0) + { + puts ("makecontext was a no-op, presuming not implemented"); + return 0; + } + } + + if (getcontext (&ctx[2]) != 0) + { + printf ("%s: second getcontext: %m\n", __FUNCTION__); + exit (1); + } + ctx[2].uc_stack.ss_sp = st2; + ctx[2].uc_stack.ss_size = sizeof st2; + ctx[2].uc_link = &ctx[1]; + makecontext (&ctx[2], f2, 0); + + puts ("swapping contexts"); + if (swapcontext (&ctx[0], &ctx[2]) != 0) + { + printf ("%s: swapcontext: %m\n", __FUNCTION__); + exit (1); + } + puts ("back at main program"); + back_in_main = 1; + + sigaltstack (NULL, &stack_after); + + if (was_in_f1 == 0) + { + puts ("didn't reach f1"); + exit (1); + } + if (was_in_f2 == 0) + { + puts ("didn't reach f2"); + exit (1); + } + + /* Check sigaltstack state is not clobbered as in BZ #16629. */ + if (stack_before.ss_sp != stack_after.ss_sp) + { + printf ("stack ss_sp mismatch: %p %p\n", + stack_before.ss_sp, stack_after.ss_sp); + exit (1); + } + + if (stack_before.ss_size != stack_after.ss_size) + { + printf ("stack ss_size mismatch: %zd %zd\n", + stack_before.ss_size, stack_after.ss_size); + exit (1); + } + + puts ("test succeeded"); + return 0; +} diff --git a/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/main.fmf b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/main.fmf new file mode 100644 index 0000000..066433a --- /dev/null +++ b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/main.fmf @@ -0,0 +1,20 @@ +summary: Test for BZ#1221046 +description: | + Bug summary: st_atim, st_mtim, st_ctim stat struct members missing on aarch64 for _POSIX_C_SOURCE == 200809L + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1221046 +contact: Michal Kolar +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1221046 +component: + - glibc +test: ./runtest.sh +framework: beakerlib +recommend: + - gcc + - glibc + - glibc-devel +duration: 5m +extra-summary: + /tools/glibc/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L +extra-task: + /tools/glibc/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L diff --git a/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/runtest.sh b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/runtest.sh new file mode 100755 index 0000000..43bc3aa --- /dev/null +++ b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/runtest.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/glibc/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L +# Description: Test for BZ#1221046 +# Author: Michal Kolar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="glibc" +REQUIRES="gcc glibc glibc-devel" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm --all + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp tst-timespec.c $TmpDir/" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + rlRun -c "gcc -c tst-timespec.c" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/tst-timespec.c b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/tst-timespec.c new file mode 100644 index 0000000..d2c3fdd --- /dev/null +++ b/tests/Regression/st_atim-st_mtim-st_ctim-stat-struct-members-missing-on-aarch64-for-_POSIX_C_SOURCE-200809L/tst-timespec.c @@ -0,0 +1,11 @@ +#define _POSIX_C_SOURCE 200809L + +#include + +void f() +{ + struct stat x; + struct timespec *p = &x.st_atim; // error: 'struct stat' has no member named 'st_atim' + struct timespec *q = &x.st_mtim; + struct timespec *r = &x.st_ctim; +}

    -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