Compare commits
21 commits
add-distgi
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d071621a56 | ||
|
|
064b95ec27 | ||
|
|
36937a99b2 | ||
|
|
bc3f003633 | ||
|
|
89d13e8a13 | ||
|
|
c09b147011 | ||
|
|
3fff9515b7 | ||
|
|
1305cb443f | ||
|
|
159dc40294 | ||
|
|
7e9a23a156 | ||
|
|
c11e6cd3ac | ||
|
|
6b6fc44452 | ||
|
|
a734e52212 | ||
|
|
1156673114 | ||
|
|
69141adef6 | ||
|
|
fb10ef9633 | ||
|
|
9b54e0088a | ||
|
|
7b31ff21db | ||
|
|
a0cf0f365e | ||
|
|
893f69f5fa | ||
|
|
77b4c23e49 |
35 changed files with 546 additions and 14 deletions
|
|
@ -2,7 +2,7 @@ summary: Test for BZ#1024162 (valgrind causes crashes in signal handlers on)
|
||||||
description: |
|
description: |
|
||||||
Bug summary: valgrind causes crashes in signal handlers on x86_64
|
Bug summary: valgrind causes crashes in signal handlers on x86_64
|
||||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1024162
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1024162
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ summary: Test for BZ#1305962 (Valgrind reports uninitialised byte(s) in futex)
|
||||||
description: |
|
description: |
|
||||||
Bug summary: Valgrind reports uninitialised byte(s) in futex
|
Bug summary: Valgrind reports uninitialised byte(s) in futex
|
||||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1305962
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1305962
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ summary: Test for BZ#1584654 (valgrind utimensat should ignore timespec tv_sec)
|
||||||
description: |
|
description: |
|
||||||
valgrind utimensat should ignore timespec tv_sec when tv_nsec
|
valgrind utimensat should ignore timespec tv_sec when tv_nsec
|
||||||
is UTIME_NOW or UTIME_OMIT
|
is UTIME_NOW or UTIME_OMIT
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
summary: ppc64le vpermq insn vex temp storage exhausted
|
||||||
|
description: Test that ppc64le vector instructions don't exhaust vex temp storage
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
component:
|
||||||
|
- valgrind
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
link:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=2067187
|
||||||
|
duration: 5m
|
||||||
|
tier: 1
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: arch != ppc64le
|
||||||
|
continue: false
|
||||||
|
- test: scl enable $COLLECTIONS -- ./runtest.sh
|
||||||
|
when: collection is defined
|
||||||
|
- require+:
|
||||||
|
- valgrind
|
||||||
|
when: collection is not defined
|
||||||
|
extra-nitrate: TC#0613214
|
||||||
|
extra-summary: /tools/valgrind/Regression/bz2067187-vex-temporary-storage-exhausted-by-ppc64le-vector-insns
|
||||||
|
extra-task: /tools/valgrind/Regression/bz2067187-vex-temporary-storage-exhausted-by-ppc64le-vector-insns
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "cp vbpermq_test.c $tmp"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc vbpermq_test.c -o vbpermq_test" 0 "Building reproducer"
|
||||||
|
rlRun "valgrind --log-file=valgrind.out ./vbpermq_test"
|
||||||
|
rlLog "$(cat valgrind.out)"
|
||||||
|
rlAssertNotGrep "VEX temporary storage exhausted." valgrind.out
|
||||||
|
rlAssertNotGrep "impossible' happened" valgrind.out
|
||||||
|
# Ensure valgrind finished clean
|
||||||
|
rlAssertGrep "ERROR SUMMARY: 0 errors from 0 contexts" valgrind.out
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
int main(){
|
||||||
|
asm("vbpermq 6,6,10");
|
||||||
|
asm("vbpermq 7,7,10");
|
||||||
|
asm("vbpermq 8,8,10");
|
||||||
|
asm("vbpermq 9,9,10");
|
||||||
|
asm("vbpermq 10,10,10");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
#include <iconv.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
iconv_t fd = iconv_open("UTF-8", "EUC-JP");
|
||||||
|
iconv_close(fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
summary: Test strncmp intercept for ld.so
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
component:
|
||||||
|
- valgrind
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
link:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=2086540
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=2081583
|
||||||
|
duration: 5m
|
||||||
|
tier: 1
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: distro < rhel-9
|
||||||
|
continue: false
|
||||||
|
- test: scl enable $COLLECTIONS -- ./runtest.sh
|
||||||
|
when: collection is defined
|
||||||
|
- require+:
|
||||||
|
- valgrind
|
||||||
|
when: collection is not defined
|
||||||
|
extra-nitrate: TC#0613680
|
||||||
|
extra-summary: /tools/valgrind/Regression/bz2081583-missing-strncmp-intercept-for-ld-so
|
||||||
|
extra-task: /tools/valgrind/Regression/bz2081583-missing-strncmp-intercept-for-ld-so
|
||||||
29
Regression/bz2081583-missing-strncmp-intercept-for-ld-so/runtest.sh
Executable file
29
Regression/bz2081583-missing-strncmp-intercept-for-ld-so/runtest.sh
Executable file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "cp iconv_test.c $tmp/"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -o iconv_test iconv_test.c"
|
||||||
|
rlRun "valgrind --log-file=valgrind.out ./iconv_test"
|
||||||
|
rlAssertNotGrep "Invalid read of size" valgrind.out
|
||||||
|
rlAssertNotGrep "strncmp" valgrind.out
|
||||||
|
# Ensure valgrind finished clean
|
||||||
|
if ! rlAssertGrep "ERROR SUMMARY: 0 errors from 0 contexts" valgrind.out;
|
||||||
|
then
|
||||||
|
rlLog "`cat valgrind.out`"
|
||||||
|
fi
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
13
Regression/bz2214375-memmove_chk-seen-as-memcpy_chk/main.fmf
Normal file
13
Regression/bz2214375-memmove_chk-seen-as-memcpy_chk/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: Test that valgrind does not do overlap checks for memmove
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
component:
|
||||||
|
- valgrind
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- valgrind
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2214375
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2214374
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
volatile char *s;
|
||||||
|
|
||||||
|
char *
|
||||||
|
__memcpy_chk(char *d, const char *s, size_t n, size_t dn);
|
||||||
|
|
||||||
|
char *
|
||||||
|
__memmove_chk(char *d, const char *s, size_t n, size_t dn);
|
||||||
|
|
||||||
|
int main(int argc,const char *argv[])
|
||||||
|
{
|
||||||
|
char buffer[100];
|
||||||
|
__memcpy_chk(buffer, &buffer[20], 9, 100);
|
||||||
|
__memmove_chk(buffer, &buffer[1], 99, 100);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
25
Regression/bz2214375-memmove_chk-seen-as-memcpy_chk/runtest.sh
Executable file
25
Regression/bz2214375-memmove_chk-seen-as-memcpy_chk/runtest.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "cp reproducer.c $tmp"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -Wno-builtin-declaration-mismatch -g -o reproducer reproducer.c"
|
||||||
|
|
||||||
|
rlRun "valgrind ./reproducer 2> output.log" 0 "Running reproducer"
|
||||||
|
rlAssertNotGrep "overlap in memcpy_chk" output.log
|
||||||
|
rlAssertGrep "ERROR SUMMARY: 0 errors from 0 contexts " output.log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
summary: Test adjtimex syscall support
|
summary: Test adjtimex syscall support
|
||||||
description: Ensure adjtimex wrapper works in readonly adjtime mode
|
description: Ensure adjtimex wrapper works in readonly adjtime mode
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#include <nss.h>
|
#include <nss.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
extern int NSS_NoDB_Init(void*);
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
NSS_NoDB_Init(NULL);
|
NSS_NoDB_Init(NULL);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
summary: makes sure valgrind does not abort with unhandled instruction bytes
|
summary: makes sure valgrind does not abort with unhandled instruction bytes
|
||||||
description: ''
|
description: ''
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
@ -45,6 +45,15 @@ adjust:
|
||||||
- enabled: false
|
- enabled: false
|
||||||
when: arch != x86_64
|
when: arch != x86_64
|
||||||
|
|
||||||
|
# No i686 in RHEL-10+
|
||||||
|
- enabled: false
|
||||||
|
when: distro >= rhel-10
|
||||||
|
|
||||||
|
# Testing farm does not support installing i686 packages in bodhi update testing,
|
||||||
|
# so we disable this test there until that capacity is implemented.
|
||||||
|
- enabled: false
|
||||||
|
when: distro == fedora and trigger == build
|
||||||
|
|
||||||
extra-nitrate: TC#0063646
|
extra-nitrate: TC#0063646
|
||||||
extra-summary: /tools/valgrind/Regression/bz580078-valgrind-aborts-with-vex-x86-IR-unhandled-instruction-bytes
|
extra-summary: /tools/valgrind/Regression/bz580078-valgrind-aborts-with-vex-x86-IR-unhandled-instruction-bytes
|
||||||
extra-task: /tools/valgrind/Regression/bz580078-valgrind-aborts-with-vex-x86-IR-unhandled-instruction-bytes
|
extra-task: /tools/valgrind/Regression/bz580078-valgrind-aborts-with-vex-x86-IR-unhandled-instruction-bytes
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
summary: tests missing config.h header
|
summary: tests missing config.h header
|
||||||
description: ''
|
description: ''
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
summary: Test ioctl(KVM_CREATE_VM) in s390x
|
||||||
|
description: >
|
||||||
|
KVM guests on s390x need PGSTE enabled to be created. If valgrind runs a
|
||||||
|
binary that creates a guest, it also need PGSTE enabled or the VM creation
|
||||||
|
would fail.
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
component:
|
||||||
|
- valgrind
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- valgrind
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugs.kde.org/show_bug.cgi?id=470978
|
||||||
|
|
||||||
|
adjust:
|
||||||
|
- because: "Test applicable to s390x only"
|
||||||
|
enabled: false
|
||||||
|
when: arch != s390x
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <linux/kvm.h>
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int result = 0;
|
||||||
|
|
||||||
|
int kvm_fd = open("/dev/kvm", O_RDWR);
|
||||||
|
if (kvm_fd < 0) {
|
||||||
|
perror("open /dev/kvm failed");
|
||||||
|
result = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int vm_fd;
|
||||||
|
do {
|
||||||
|
vm_fd = ioctl(kvm_fd, KVM_CREATE_VM, 0);
|
||||||
|
} while( vm_fd == -1 && errno == EINTR);
|
||||||
|
|
||||||
|
if( vm_fd < 0){
|
||||||
|
perror ("ioctl KVM_CREATE_VM failed");
|
||||||
|
result = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (kvm_fd >= 0) close(kvm_fd);
|
||||||
|
if (vm_fd >=0) close(vm_fd);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
27
Regression/kde470978-ioctl-kvm_create_vm-s390x-pgste/runtest.sh
Executable file
27
Regression/kde470978-ioctl-kvm_create_vm-s390x-pgste/runtest.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "cp reproducer.c $tmp"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -g -o reproducer reproducer.c -Wl,--s390-pgste"
|
||||||
|
|
||||||
|
rlRun "./reproducer 2> output.log" 0 "Running reproducer"
|
||||||
|
rlAssertNotGrep "ioctl KVM_CREATE_VM failed" output.log
|
||||||
|
|
||||||
|
rlRun "valgrind ./reproducer 2> output.log" 0 "Running with valgrind"
|
||||||
|
rlAssertNotGrep "ioctl KVM_CREATE_VM failed" output.log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
11
Regression/kde476548-contiguous-rodata-sections/hello.c
Normal file
11
Regression/kde476548-contiguous-rodata-sections/hello.c
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
__attribute__((section(".rodatac")))
|
||||||
|
const char * const constchars = "abcde";
|
||||||
|
__attribute__((section(".rodatan")))
|
||||||
|
const char * const constnums = "123";
|
||||||
|
|
||||||
|
int main () {
|
||||||
|
const char * const constmain = "mainmainmain";
|
||||||
|
char *leak = (char*) malloc(16);
|
||||||
|
}
|
||||||
16
Regression/kde476548-contiguous-rodata-sections/main.fmf
Normal file
16
Regression/kde476548-contiguous-rodata-sections/main.fmf
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
summary: Test contiguous rodata sections are processed correctly
|
||||||
|
description: |
|
||||||
|
"Valgrind should process contiguous rodata segments as different sections
|
||||||
|
instead of merging them together"
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
test: ./test.sh
|
||||||
|
framework: beakerlib
|
||||||
|
duration: 5m
|
||||||
|
require:
|
||||||
|
- valgrind
|
||||||
|
- elfutils
|
||||||
|
- gcc
|
||||||
|
tier: 1
|
||||||
|
link:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-18086
|
||||||
|
- relates: https://bugs.kde.org/show_bug.cgi?id=476548
|
||||||
24
Regression/kde476548-contiguous-rodata-sections/test.sh
Executable file
24
Regression/kde476548-contiguous-rodata-sections/test.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "cp hello.c $tmp"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -g -o test hello.c"
|
||||||
|
rlRun "eu-strip -o t.exec -f t.debug test"
|
||||||
|
rlRun "valgrind --log-file=valgrind.output ./t.exec"
|
||||||
|
rlAssertNotGrep "Assertion 'di->rodata_size == a_shdr.sh_size' failed" valgrind.output
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
summary: Try to run 32bit binary under valgrind on 64bit arch
|
summary: Try to run 32bit binary under valgrind on 64bit arch
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
@ -26,6 +26,15 @@ adjust:
|
||||||
- enabled: false
|
- enabled: false
|
||||||
when: arch != x86_64
|
when: arch != x86_64
|
||||||
|
|
||||||
|
# No i686 in RHEL-10+
|
||||||
|
- enabled: false
|
||||||
|
when: distro >= rhel-10
|
||||||
|
|
||||||
|
# Testing farm does not support installing i686 packages in bodhi update testing,
|
||||||
|
# so we disable this test there until that capacity is implemented.
|
||||||
|
- enabled: false
|
||||||
|
when: distro == fedora and trigger == build
|
||||||
|
|
||||||
# system-version/collection adjustments
|
# system-version/collection adjustments
|
||||||
- require+:
|
- require+:
|
||||||
- valgrind
|
- valgrind
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ summary: Valgrind/gdb integration sanity test.
|
||||||
description: |
|
description: |
|
||||||
This is small sanity test to make sure gdb works with valgrind gdb server.
|
This is small sanity test to make sure gdb works with valgrind gdb server.
|
||||||
Also tests dwz if dwz is available.
|
Also tests dwz if dwz is available.
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ description: Testing sanity of valgrind by comparing outputs of ImageMagick util
|
||||||
https://en.wikipedia.org/wiki/File:Frauenkirche_and_Neues_Rathaus_Munich_March_2013.JPG.
|
https://en.wikipedia.org/wiki/File:Frauenkirche_and_Neues_Rathaus_Munich_March_2013.JPG.
|
||||||
munich.jpg file is distributed under the Creative Commons
|
munich.jpg file is distributed under the Creative Commons
|
||||||
Attribution-Share Alike 3.0 Unported license
|
Attribution-Share Alike 3.0 Unported license
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
@ -23,7 +23,8 @@ tag:
|
||||||
- tools-tip-on
|
- tools-tip-on
|
||||||
adjust:
|
adjust:
|
||||||
- enabled: false
|
- enabled: false
|
||||||
when: distro < rhel-6
|
# ImageMagick is not distributed with RHEL from RHEL8 onwards
|
||||||
|
when: distro < rhel-6 or distro >= rhel-8
|
||||||
continue: false
|
continue: false
|
||||||
|
|
||||||
# system-version/collection adjustments
|
# system-version/collection adjustments
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ Options=(-flop
|
||||||
-equalize
|
-equalize
|
||||||
-motion-blur\ 20x5
|
-motion-blur\ 20x5
|
||||||
-paint\ 3x3
|
-paint\ 3x3
|
||||||
-radial-blur\ 5
|
|
||||||
-posterize\ 10
|
-posterize\ 10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ summary: Sanity test using hunspell.
|
||||||
description: |
|
description: |
|
||||||
The test runs hunspell with and without valgrind and checks that the outputs
|
The test runs hunspell with and without valgrind and checks that the outputs
|
||||||
do not differ.
|
do not differ.
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
6
Sanity/install-weak-deps/main.fmf
Normal file
6
Sanity/install-weak-deps/main.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
summary: Make sure dnf installs weak dep packages (such as valgrind + valgrind-scripts)
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- rpm-build
|
||||||
|
- createrepo
|
||||||
50
Sanity/install-weak-deps/runtest.sh
Executable file
50
Sanity/install-weak-deps/runtest.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/bash
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
DNFSWITCHES="--disablerepo=\* --enablerepo=mytestingrepo"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "dnf -y remove trivial-empty\* ||:"
|
||||||
|
rlRun "rm /etc/yum.repos.d/mytestingrepo.repo ||:"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "rpmbuild -ba trivial-empty-v1.spec"
|
||||||
|
rlRun "rpmbuild -ba trivial-empty-v2.spec"
|
||||||
|
rlRun "a=$(rpm -E '%_arch')"
|
||||||
|
rlRun "pushd $HOME/rpmbuild/RPMS/$a"
|
||||||
|
rlRun "createrepo ."
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rpm -Uvh --nosignature $HOME/rpmbuild/RPMS/$a/trivial-empty-1.0-1*"
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-sub" 1
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-1.0-1"
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-1.0-2" 1
|
||||||
|
cat > /etc/yum.repos.d/mytestingrepo.repo <<EOF
|
||||||
|
[mytestingrepo]
|
||||||
|
name=mytestingrepo
|
||||||
|
baseurl=file:///$HOME/rpmbuild/RPMS/$a
|
||||||
|
gpgcheck=0
|
||||||
|
enabled=1
|
||||||
|
EOF
|
||||||
|
rlRun "cat /etc/yum.repos.d/mytestingrepo.repo"
|
||||||
|
rlRun "dnf $DNFSWITCHES clean all"
|
||||||
|
rlRun "dnf $DNFSWITCHES -y update trivial-empty"
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-1.0-1" 1
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-1.0-2"
|
||||||
|
# The gist of this test is to make sure the following
|
||||||
|
# trivial-empty-sub-1.0-2 is now installed as a weak dep
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-sub-1.0-2"
|
||||||
|
# Since it's a weak dep, it should be possible to remove
|
||||||
|
# trivial-empty-sub now, and the trivial-empty should still
|
||||||
|
# be installed
|
||||||
|
rlRun "dnf $DNFSWITCHES remove -y trivial-empty-sub"
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-1.0-2"
|
||||||
|
rlRun "rpm -qa | grep -F trivial-empty-sub-1.0-2" 1
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "dnf -y remove trivial-empty\*"
|
||||||
|
rlRun "rm /etc/yum.repos.d/mytestingrepo.repo"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
34
Sanity/install-weak-deps/trivial-empty-v1.spec
Normal file
34
Sanity/install-weak-deps/trivial-empty-v1.spec
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
Name: trivial-empty
|
||||||
|
Version: 1.0
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Epoch: 1
|
||||||
|
Summary: A trivial RPM package with an empty payload
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
BuildArch: %_arch
|
||||||
|
|
||||||
|
# Description of the package
|
||||||
|
%description
|
||||||
|
This is a trivial RPM package with no payload. It serves as an example
|
||||||
|
of how to create an RPM specfile with minimal content.
|
||||||
|
|
||||||
|
# Prep stage: nothing to prepare
|
||||||
|
%prep
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Build stage: nothing to build
|
||||||
|
%build
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Install stage: nothing to install
|
||||||
|
%install
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Files: no files to include
|
||||||
|
%files
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Changelog for the RPM package
|
||||||
|
%changelog
|
||||||
|
* Thu Jan 16 2025 Example Maintainer <example@example.com> - 1.0-1
|
||||||
|
- Initial creation of a trivial RPM with no payload
|
||||||
52
Sanity/install-weak-deps/trivial-empty-v2.spec
Normal file
52
Sanity/install-weak-deps/trivial-empty-v2.spec
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
Name: trivial-empty
|
||||||
|
Version: 1.0
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Epoch: 1
|
||||||
|
Summary: A trivial RPM package with an empty payload
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
BuildArch: %_arch
|
||||||
|
|
||||||
|
# Set weak dependency on trivial-empty-sub which is a new subpackage
|
||||||
|
# introduced within this update
|
||||||
|
Recommends: trivial-empty-sub = %{epoch}:%{version}-%{release}
|
||||||
|
# Requires: trivial-empty-sub = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
# Description of the package
|
||||||
|
%description
|
||||||
|
This is a trivial RPM package with no payload. It serves as an example
|
||||||
|
of how to create an RPM specfile with minimal content.
|
||||||
|
|
||||||
|
%package sub
|
||||||
|
Summary: A trivial RPM subpackage with an empty payload
|
||||||
|
# Description for the subpackage
|
||||||
|
%description sub
|
||||||
|
This is a subpackage of trivial-empty, with an empty payload.
|
||||||
|
|
||||||
|
# Prep stage: nothing to prepare
|
||||||
|
%prep
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Build stage: nothing to build
|
||||||
|
%build
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Install stage: nothing to install
|
||||||
|
%install
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Files: no files to include
|
||||||
|
%files
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Subpackage files: no files to include
|
||||||
|
%files sub
|
||||||
|
# Empty section
|
||||||
|
|
||||||
|
# Changelog for the RPM package
|
||||||
|
%changelog
|
||||||
|
* Thu Jan 16 2025 Example Maintainer <example@example.com> - 1.0-2
|
||||||
|
- Initial creation of the trivial RPM with no payload
|
||||||
|
|
||||||
|
* Thu Jan 16 2025 Example Maintainer <example@example.com> - 1.0-1
|
||||||
|
- Initial creation of a trivial RPM with no payload
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
summary: Basic smoke test.
|
summary: Basic smoke test.
|
||||||
description: Very fast check that valgrind is working.
|
description: Very fast check that valgrind is working.
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
component:
|
component:
|
||||||
- valgrind
|
- valgrind
|
||||||
test: ./runtest.sh
|
test: ./runtest.sh
|
||||||
|
|
|
||||||
10
Sanity/valgrind-scripts-smoke/main.fmf
Normal file
10
Sanity/valgrind-scripts-smoke/main.fmf
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
summary: Smoke test for valgrind scripts
|
||||||
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
component:
|
||||||
|
- valgrind
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- valgrind
|
||||||
|
tier: 1
|
||||||
|
duration: 5m
|
||||||
48
Sanity/valgrind-scripts-smoke/runtest.sh
Executable file
48
Sanity/valgrind-scripts-smoke/runtest.sh
Executable file
|
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
VERSION=$(rpm -q --queryformat="%{version}" valgrind.$(uname -m))
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
||||||
|
rlRun "pushd $tmp"
|
||||||
|
rlRun "set -o pipefail"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
for prog in $(rpm -ql valgrind | grep ^/usr/bin); do
|
||||||
|
if file $prog | grep -q ELF; then
|
||||||
|
rlLogDebug "Skipping ELF executable ${prog}"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOGFILE="$(basename $prog).log"
|
||||||
|
if ${prog} --version &> $LOGFILE; then
|
||||||
|
rlPass "[ok] $prog"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Perl scripts might return other than 0 but still be correct.
|
||||||
|
# This is because some of them print the version/help message with
|
||||||
|
# die() instead doing a print() and exit. die() always set the
|
||||||
|
# return code to 255. Hence we rely on grepping the version string,
|
||||||
|
# and make sure that the log contains only one line.
|
||||||
|
if grep -q "$(basename $prog)-${VERSION}" $LOGFILE \
|
||||||
|
&& [[ $(wc -l < $LOGFILE) -eq "1" ]];
|
||||||
|
then
|
||||||
|
rlPass "[ok] $prog"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Anything else is a failure
|
||||||
|
rlFail "[fail] $prog"
|
||||||
|
rlLog "$(cat $LOGFILE)"
|
||||||
|
done
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
2
main.fmf
2
main.fmf
|
|
@ -1,2 +1,2 @@
|
||||||
# QE owner
|
# QE owner
|
||||||
contact: Jesus Checa Hidalgo <jcheca@redhat.com>
|
contact: Jesus Checa Hidalgo <jchecahi@redhat.com>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue