Compare commits
1 commit
main
...
upstreamin
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b61f918097 |
2 changed files with 199 additions and 0 deletions
53
Sanity/upstream-scripttests/main.fmf
Normal file
53
Sanity/upstream-scripttests/main.fmf
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
summary: Runs upstream script tests
|
||||
description: ''
|
||||
contact: fhrdina@redhat.com
|
||||
component:
|
||||
- vim
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- vim-enhanced
|
||||
- rpm-build
|
||||
- gcc
|
||||
- Xvfb
|
||||
- python3
|
||||
- python3-devel
|
||||
- ruby
|
||||
- ruby-devel
|
||||
- lua-devel
|
||||
- gpm-devel
|
||||
- perl-ExtUtils-Embed
|
||||
- libacl-devel
|
||||
- libXpm-devel
|
||||
- ncurses-devel
|
||||
- perl-devel
|
||||
- perl
|
||||
- perl-generators
|
||||
- python3-dnf-plugins-core
|
||||
duration: 40m
|
||||
enabled: true
|
||||
tag:
|
||||
- NoRHEL4
|
||||
- NoRHEL5
|
||||
- NoRHEL6
|
||||
- TIPfail_infra
|
||||
- TIPpass
|
||||
- Tier1
|
||||
tier: '1'
|
||||
adjust:
|
||||
- enabled: false
|
||||
when: distro == rhel-4, rhel-5
|
||||
continue: false
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2004974
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2011389
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2011424
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2011429
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2011749
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2011412
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2002320
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2004976
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2015517
|
||||
extra-nitrate: TC#0602359
|
||||
extra-summary: /CoreOS/vim/Sanity/upstream-scripttests
|
||||
extra-task: /CoreOS/vim/Sanity/upstream-scripttests
|
||||
146
Sanity/upstream-scripttests/runtest.sh
Executable file
146
Sanity/upstream-scripttests/runtest.sh
Executable file
|
|
@ -0,0 +1,146 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/vim/Sanity/upstream-scripttests
|
||||
# Description: Runs upstream scripttests
|
||||
# Authors: Zdenek Dohnal <zdohnal@redhat.com>
|
||||
# Patrik Mosko <pmosko@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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="vim-enhanced" # tested package
|
||||
TESTER="vimtester" # USERname which we use for testing
|
||||
TEST=scripttests # main target for `make`
|
||||
SET_XVFB="NO" # Do we want to setup `Xvfb` before testing?
|
||||
TERM_type="xterm" # terminfo type set before running tests
|
||||
set -o pipefail # because test output is piped to `tee`
|
||||
|
||||
if rlIsRHEL 8
|
||||
then
|
||||
CONFOPT="--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-features=huge --enable-python3interp=dynamic --enable-perlinterp=dynamic --disable-tclinterp --with-x=no --enable-gui=no --enable-multibyte --enable-cscope --with-tlib=ncurses --enable-fips-warning --enable-netbeans --enable-rubyinterp=dynamic --enable-luainterp=dynamic"
|
||||
elif rlIsRHEL 9
|
||||
then
|
||||
CONFOPT="--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-features=huge --enable-python3interp=dynamic --enable-perlinterp=dynamic --disable-tclinterp --with-x=no --enable-gui=no --enable-multibyte --enable-cscope --with-tlib=ncurses --enable-fips-warning --enable-netbeans --enable-rubyinterp=dynamic --enable-luainterp=dynamic --disable-canberra"
|
||||
else
|
||||
CONFOPT="--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-features=huge --enable-python3interp=dynamic --enable-perlinterp=dynamic --disable-tclinterp --with-x=no --enable-gui=no --enable-multibyte --enable-cscope --with-tlib=ncurses --enable-fips-warning --enable-netbeans --enable-rubyinterp=dynamic --enable-luainterp=dynamic --enable-libsodium --disable-canberra"
|
||||
fi
|
||||
|
||||
_Cleanup_Phase() {
|
||||
rlPhaseStartCleanup
|
||||
kill $XVFB_PID
|
||||
rlFileRestore
|
||||
rlRun "popd"
|
||||
rlRun "userdel -frZ $TESTER" 0 "Removing user $TESTER"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
rlPhaseStartSetup Setup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlFileBackup /etc/vimrc
|
||||
rlRun "rm -f /etc/vimrc" 0 "Remove system wide vimrc, breaks the test suite"
|
||||
|
||||
if rlIsFedora
|
||||
then
|
||||
rlRun "dnf -y install libsodium-devel"
|
||||
fi
|
||||
|
||||
# prepare the user account
|
||||
rlRun "useradd $TESTER" 0 "Creating user $TESTER"
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
|
||||
# extract the test suite
|
||||
rlRun "rlFetchSrcForInstalled $PACKAGE" 0 "Fetching the source rpm"
|
||||
rlRun "rpm --define '_topdir $TmpDir' -i *src.rpm" 0 "Installing the source rpm"
|
||||
rlRun "mkdir BUILD" 0 "Creating BUILD directory"
|
||||
rlRun "rpmbuild --nodeps --define '_topdir $TmpDir' -bp $TmpDir/SPECS/*spec" \
|
||||
0 "Preparing sources"
|
||||
rlRun "cd BUILD/vim*"
|
||||
rlRun "chown -R $TESTER.$TESTER $TmpDir" 0 "Setting permissions"
|
||||
rlRun "export LANG=en_US.UTF-8" 0 "Setting \$LANG to US locale"
|
||||
|
||||
# need to get ruby CFLAGS, because configure script fails otherwise - Vim configure script
|
||||
# drags in ruby LDFLAGS, but not its CFLAGS
|
||||
rlRun "RUBY_CFLAGS='`ruby -r rbconfig -e "puts RbConfig::CONFIG['CFLAGS']"`'" 0 "Get ruby CFLAGS"
|
||||
rlRun "export CFLAGS='$RUBY_CFLAGS'" 0 "Set ruby CFLAGS"
|
||||
|
||||
# show relevant info & ENV variables
|
||||
rlLog "TEST: $TEST"
|
||||
rlLog "CONFOPT: $CONFOPT"
|
||||
rlLog "TERM (default): $TERM"
|
||||
rlLog "TERM (testing): $TERM_type"
|
||||
rlRun -l "vim --version"
|
||||
rlPhaseEnd
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# untested properly - because it wasn't needed yet
|
||||
[ "$SET_XVFB" = "YES" ] && {
|
||||
rlPhaseStartSetup "Setup virtual framebuffer - Xvfb"
|
||||
# alternative: 'xvfb-run -w 10 make TARGET'
|
||||
# note: upstream CI test-run example: https://travis-ci.org/vim/vim/jobs/561452534
|
||||
rlRun "Xvfb :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset &"
|
||||
XVFB_PID=$!
|
||||
sleep 10
|
||||
rlRun "export DISPLAY=99.0"
|
||||
rlRun "modinfo snd-dummy"
|
||||
rlRun "modprobe snd-dummy"
|
||||
rlRun "usermod -a -G audio $TESTER"
|
||||
rlPhaseEnd
|
||||
}
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
rlPhaseStartTest Testing "Testing: make $TEST"
|
||||
# important: beaker defaults to vt100, which is not enough for some tests!
|
||||
rlRun "TERM=$TERM_type"
|
||||
|
||||
# following block of code is taken from upstream travis.yml
|
||||
rlRun "su $TESTER -c './configure ${CONFOPT} CFLAGS=\"${CFLAGS} $RUBY_FLAGS\"'" 0 "Configure Vim"
|
||||
rlRun "su $TESTER -c 'make'" 0 "Build the binary which we substitute"
|
||||
rlRun "su $TESTER -c 'ln -sf /usr/bin/vim src/vim'" 0 "Create symlink to installed vim for testing"
|
||||
rlRun "su $TESTER -c 'make ${TEST} |& tee output_main'" 0,2 "Run tests (skip builtin terminal errors)"
|
||||
_res_=$?
|
||||
|
||||
# final checks
|
||||
if grep -iq "No rule to make target.*${TEST}" output_main; then
|
||||
rlLogError "This version of Vim doesn't include tests for target '$TEST'"
|
||||
elif [ $_res_ -eq 0 ]; then
|
||||
rlPass "Test run finished smoothly: no errors!"
|
||||
rlIsRHEL '>7' && rlRun "grep 'ALL DONE' output_main"
|
||||
else
|
||||
rlFail "Something went wrong!"
|
||||
fi
|
||||
rlAssertNotGrep "TEST FAILURE" output_main
|
||||
|
||||
rlFileSubmit "output_main"
|
||||
rlPhaseEnd
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
_Cleanup_Phase
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
Loading…
Add table
Add a link
Reference in a new issue