Compare commits
12 commits
scripts-sm
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d071621a56 | ||
|
|
064b95ec27 | ||
|
|
36937a99b2 | ||
|
|
bc3f003633 | ||
|
|
89d13e8a13 | ||
|
|
c09b147011 | ||
|
|
3fff9515b7 | ||
|
|
1305cb443f | ||
|
|
159dc40294 | ||
|
|
7e9a23a156 | ||
|
|
c11e6cd3ac | ||
|
|
6b6fc44452 |
18 changed files with 396 additions and 0 deletions
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,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);
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,10 @@ 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,
|
# Testing farm does not support installing i686 packages in bodhi update testing,
|
||||||
# so we disable this test there until that capacity is implemented.
|
# so we disable this test there until that capacity is implemented.
|
||||||
- enabled: false
|
- enabled: false
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -26,6 +26,10 @@ 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,
|
# Testing farm does not support installing i686 packages in bodhi update testing,
|
||||||
# so we disable this test there until that capacity is implemented.
|
# so we disable this test there until that capacity is implemented.
|
||||||
- enabled: false
|
- enabled: false
|
||||||
|
|
|
||||||
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
|
||||||
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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue