Added gating tests
This commit is contained in:
parent
933bd8675d
commit
9d99481e76
@ -1,7 +1,7 @@
|
||||
Summary: A C programming language indexing and/or cross-reference tool
|
||||
Name: ctags
|
||||
Version: 5.8
|
||||
Release: 26%{?dist}
|
||||
Release: 27%{?dist}
|
||||
License: GPLv2+ and LGPLv2+ and Public Domain
|
||||
URL: http://ctags.sourceforge.net/
|
||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||
@ -91,6 +91,9 @@ popd
|
||||
%{_mandir}/man1/etags.%{name}.1*
|
||||
|
||||
%changelog
|
||||
* Thu Jan 23 2020 Than Ngo <than@redhat.com> - 5.8-27
|
||||
- Added gating tests
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
|
63
tests/Sanity-test-for-ctags/Makefile
Normal file
63
tests/Sanity-test-for-ctags/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/ctags/Sanity-test-for-ctags
|
||||
# Description: Sanity test
|
||||
# Author: Than Ngo <than@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2019,2020 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=/CoreOS/ctags/Sanity-test-for-ctags
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE ctags-kinds-list ctags-maps-list ctags-lang-list test.python test.c
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Than Ngo <than@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Sanity test" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 3m" >> $(METADATA)
|
||||
@echo "RunFor: ctags" >> $(METADATA)
|
||||
@echo "Requires: coreutils man-db" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+ and LGPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
7
tests/Sanity-test-for-ctags/PURPOSE
Normal file
7
tests/Sanity-test-for-ctags/PURPOSE
Normal file
@ -0,0 +1,7 @@
|
||||
PURPOSE of /CoreOS/ctags/Sanity-test-for-ctags
|
||||
Description: smoke test, funktion test for CI gating
|
||||
Author: Than Ngo <than@redhat.com>
|
||||
|
||||
tests following scenarios:
|
||||
* smoke test
|
||||
* funktion test
|
282
tests/Sanity-test-for-ctags/ctags-kinds-list
Normal file
282
tests/Sanity-test-for-ctags/ctags-kinds-list
Normal file
@ -0,0 +1,282 @@
|
||||
Ant
|
||||
p projects
|
||||
t targets
|
||||
Asm
|
||||
d defines
|
||||
l labels
|
||||
m macros
|
||||
t types (structs and records)
|
||||
Asp
|
||||
d constants
|
||||
c classes
|
||||
f functions
|
||||
s subroutines
|
||||
v variables
|
||||
Awk
|
||||
f functions
|
||||
Basic
|
||||
c constants
|
||||
f functions
|
||||
l labels
|
||||
t types
|
||||
v variables
|
||||
g enumerations
|
||||
BETA
|
||||
f fragment definitions
|
||||
p all patterns [off]
|
||||
s slots (fragment uses)
|
||||
v patterns (virtual or rebound)
|
||||
C
|
||||
c classes
|
||||
d macro definitions
|
||||
e enumerators (values inside an enumeration)
|
||||
f function definitions
|
||||
g enumeration names
|
||||
l local variables [off]
|
||||
m class, struct, and union members
|
||||
n namespaces
|
||||
p function prototypes [off]
|
||||
s structure names
|
||||
t typedefs
|
||||
u union names
|
||||
v variable definitions
|
||||
x external and forward variable declarations [off]
|
||||
C++
|
||||
c classes
|
||||
d macro definitions
|
||||
e enumerators (values inside an enumeration)
|
||||
f function definitions
|
||||
g enumeration names
|
||||
l local variables [off]
|
||||
m class, struct, and union members
|
||||
n namespaces
|
||||
p function prototypes [off]
|
||||
s structure names
|
||||
t typedefs
|
||||
u union names
|
||||
v variable definitions
|
||||
x external and forward variable declarations [off]
|
||||
C#
|
||||
c classes
|
||||
d macro definitions
|
||||
e enumerators (values inside an enumeration)
|
||||
E events
|
||||
f fields
|
||||
g enumeration names
|
||||
i interfaces
|
||||
l local variables [off]
|
||||
m methods
|
||||
n namespaces
|
||||
p properties
|
||||
s structure names
|
||||
t typedefs
|
||||
Cobol
|
||||
d data items
|
||||
f file descriptions (FD, SD, RD)
|
||||
g group items
|
||||
p paragraphs
|
||||
P program ids
|
||||
s sections
|
||||
CSS
|
||||
c classes
|
||||
s selectors
|
||||
i identities
|
||||
DosBatch
|
||||
l labels
|
||||
v variables
|
||||
Eiffel
|
||||
c classes
|
||||
f features
|
||||
l local entities [off]
|
||||
Erlang
|
||||
d macro definitions
|
||||
f functions
|
||||
m modules
|
||||
r record definitions
|
||||
Flex
|
||||
f functions
|
||||
c classes
|
||||
m methods
|
||||
p properties
|
||||
v global variables
|
||||
x mxtags
|
||||
Fortran
|
||||
b block data
|
||||
c common blocks
|
||||
e entry points
|
||||
f functions
|
||||
i interface contents, generic names, and operators [off]
|
||||
k type and structure components
|
||||
l labels
|
||||
L local, common block, and namelist variables [off]
|
||||
m modules
|
||||
n namelists
|
||||
p programs
|
||||
s subroutines
|
||||
t derived types and structures
|
||||
v program (global) and module variables
|
||||
HTML
|
||||
a named anchors
|
||||
f JavaScript functions
|
||||
Java
|
||||
c classes
|
||||
e enum constants
|
||||
f fields
|
||||
g enum types
|
||||
i interfaces
|
||||
l local variables [off]
|
||||
m methods
|
||||
p packages
|
||||
JavaScript
|
||||
f functions
|
||||
c classes
|
||||
m methods
|
||||
p properties
|
||||
v global variables
|
||||
Lisp
|
||||
f functions
|
||||
Lua
|
||||
f functions
|
||||
Make
|
||||
m macros
|
||||
MatLab
|
||||
f function
|
||||
f function
|
||||
f function
|
||||
OCaml
|
||||
c classes
|
||||
m Object's method
|
||||
M Module or functor
|
||||
v Global variable
|
||||
t Type name
|
||||
f A function
|
||||
C A constructor
|
||||
r A 'structure' field
|
||||
e An exception
|
||||
Pascal
|
||||
f functions
|
||||
p procedures
|
||||
Perl
|
||||
c constants
|
||||
f formats
|
||||
l labels
|
||||
p packages
|
||||
s subroutines
|
||||
d subroutine declarations [off]
|
||||
PHP
|
||||
c classes
|
||||
i interfaces
|
||||
d constant definitions
|
||||
f functions
|
||||
v variables
|
||||
v variables
|
||||
j javascript functions
|
||||
j javascript functions
|
||||
j javascript functions
|
||||
Python
|
||||
c classes
|
||||
f functions
|
||||
m class members
|
||||
v variables
|
||||
i imports
|
||||
REXX
|
||||
s subroutines
|
||||
Ruby
|
||||
c classes
|
||||
f methods
|
||||
m modules
|
||||
F singleton methods
|
||||
Scheme
|
||||
f functions
|
||||
s sets
|
||||
Sh
|
||||
f functions
|
||||
SLang
|
||||
f functions
|
||||
n namespaces
|
||||
SML
|
||||
e exception declarations
|
||||
f function definitions
|
||||
c functor definitions
|
||||
s signature declarations
|
||||
r structure declarations
|
||||
t type definitions
|
||||
v value bindings
|
||||
SQL
|
||||
c cursors
|
||||
d prototypes [off]
|
||||
f functions
|
||||
F record fields
|
||||
l local variables [off]
|
||||
L block label
|
||||
P packages
|
||||
p procedures
|
||||
r records [off]
|
||||
s subtypes
|
||||
t tables
|
||||
T triggers
|
||||
v variables
|
||||
i indexes
|
||||
e events
|
||||
U publications
|
||||
R services
|
||||
D domains
|
||||
V views
|
||||
n synonyms
|
||||
x MobiLink Table Scripts
|
||||
y MobiLink Conn Scripts
|
||||
Tcl
|
||||
c classes
|
||||
m methods
|
||||
p procedures
|
||||
Tex
|
||||
c chapters
|
||||
s sections
|
||||
u subsections
|
||||
b subsubsections
|
||||
p parts
|
||||
P paragraphs
|
||||
G subparagraphs
|
||||
Vera
|
||||
c classes
|
||||
d macro definitions
|
||||
e enumerators (values inside an enumeration)
|
||||
f function definitions
|
||||
g enumeration names
|
||||
l local variables [off]
|
||||
m class, struct, and union members
|
||||
p programs
|
||||
P function prototypes [off]
|
||||
t tasks
|
||||
T typedefs
|
||||
v variable definitions
|
||||
x external variable declarations [off]
|
||||
Verilog
|
||||
c constants (define, parameter, specparam)
|
||||
e events
|
||||
f functions
|
||||
m modules
|
||||
n net data types
|
||||
p ports
|
||||
r register data types
|
||||
t tasks
|
||||
VHDL
|
||||
c constant declarations
|
||||
t type definitions
|
||||
T subtype definitions
|
||||
r record names
|
||||
e entity declarations
|
||||
C component declarations [off]
|
||||
d prototypes [off]
|
||||
f function prototypes and declarations
|
||||
p procedure prototypes and declarations
|
||||
P package definitions
|
||||
l local definitions [off]
|
||||
Vim
|
||||
a autocommand groups
|
||||
c user-defined commands
|
||||
f function definitions
|
||||
m maps
|
||||
v variable definitions
|
||||
YACC
|
||||
l labels
|
42
tests/Sanity-test-for-ctags/ctags-lang-list
Normal file
42
tests/Sanity-test-for-ctags/ctags-lang-list
Normal file
@ -0,0 +1,42 @@
|
||||
Ant
|
||||
Asm
|
||||
Asp
|
||||
Awk
|
||||
Basic
|
||||
BETA
|
||||
C
|
||||
C++
|
||||
C#
|
||||
Cobol
|
||||
CSS
|
||||
DosBatch
|
||||
Eiffel
|
||||
Erlang
|
||||
Flex
|
||||
Fortran
|
||||
HTML
|
||||
Java
|
||||
JavaScript
|
||||
Lisp
|
||||
Lua
|
||||
Make
|
||||
MatLab
|
||||
OCaml
|
||||
Pascal
|
||||
Perl
|
||||
PHP
|
||||
Python
|
||||
REXX
|
||||
Ruby
|
||||
Scheme
|
||||
Sh
|
||||
SLang
|
||||
SML
|
||||
SQL
|
||||
Tcl
|
||||
Tex
|
||||
Vera
|
||||
Verilog
|
||||
VHDL
|
||||
Vim
|
||||
YACC
|
42
tests/Sanity-test-for-ctags/ctags-maps-list
Normal file
42
tests/Sanity-test-for-ctags/ctags-maps-list
Normal file
@ -0,0 +1,42 @@
|
||||
Ant *.build.xml
|
||||
Asm *.asm *.ASM *.s *.S *.A51 *.29[kK] *.[68][68][kKsSxX] *.[xX][68][68]
|
||||
Asp *.asp *.asa
|
||||
Awk *.awk *.gawk *.mawk
|
||||
Basic *.bas *.bi *.bb *.pb
|
||||
BETA *.bet
|
||||
C *.c
|
||||
C++ *.c++ *.cc *.cp *.cpp *.cxx *.h *.h++ *.hh *.hp *.hpp *.hxx *.C *.H
|
||||
C# *.cs
|
||||
Cobol *.cbl *.cob *.CBL *.COB
|
||||
CSS *.css
|
||||
DosBatch *.bat *.cmd
|
||||
Eiffel *.e
|
||||
Erlang *.erl *.ERL *.hrl *.HRL
|
||||
Flex *.as *.mxml
|
||||
Fortran *.f *.for *.ftn *.f77 *.f90 *.f95 *.F *.FOR *.FTN *.F77 *.F90 *.F95
|
||||
HTML *.htm *.html
|
||||
Java *.java
|
||||
JavaScript *.js
|
||||
Lisp *.cl *.clisp *.el *.l *.lisp *.lsp
|
||||
Lua *.lua
|
||||
Make *.mak *.mk [Mm]akefile GNUmakefile
|
||||
MatLab *.m
|
||||
OCaml *.ml *.mli
|
||||
Pascal *.p *.pas
|
||||
Perl *.pl *.pm *.plx *.perl
|
||||
PHP *.php *.php3 *.phtml
|
||||
Python *.py *.pyx *.pxd *.pxi *.scons
|
||||
REXX *.cmd *.rexx *.rx
|
||||
Ruby *.rb *.ruby
|
||||
Scheme *.SCM *.SM *.sch *.scheme *.scm *.sm
|
||||
Sh *.sh *.SH *.bsh *.bash *.ksh *.zsh
|
||||
SLang *.sl
|
||||
SML *.sml *.sig
|
||||
SQL *.sql
|
||||
Tcl *.tcl *.tk *.wish *.itcl
|
||||
Tex *.tex
|
||||
Vera *.vr *.vri *.vrh
|
||||
Verilog *.v
|
||||
VHDL *.vhdl *.vhd
|
||||
Vim *.vim
|
||||
YACC *.y
|
51
tests/Sanity-test-for-ctags/runtest.sh
Executable file
51
tests/Sanity-test-for-ctags/runtest.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#! /bin/sh
|
||||
# ctags basics
|
||||
|
||||
PACKAGES="ctags"
|
||||
# SERVICES=""
|
||||
|
||||
# source the test script helpers
|
||||
# requires beakerlib package
|
||||
. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
for p in $PACKAGES ; do
|
||||
rlAssertRpm $p
|
||||
done
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp * $TmpDir"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Smoke, sanity and function tests"
|
||||
rlRun "ctags --version" 0 "Show version"
|
||||
rlRun "ctags --help" 0 "Show help"
|
||||
rlRun "ctags --license" 0 "Show license"
|
||||
rlRun -s "ctags --list-kinds" 0 "Output a list of all tag kinds for all languages"
|
||||
rlAssertNotDiffer ctags-kinds-list $rlRun_LOG
|
||||
rlRun -s "ctags --list-languages" 0 "Output list of supported languages"
|
||||
rlAssertNotDiffer ctags-lang-list $rlRun_LOG
|
||||
rlRun -s "ctags --list-maps" 0 "Output list of language mappings"
|
||||
rlAssertNotDiffer ctags-maps-list $rlRun_LOG
|
||||
for l in python c ; do
|
||||
rlRun "ctags -f test test.$l" 0 "Language: $l, $lWrite tags to file test"
|
||||
rlAssertExists test
|
||||
rlRun "ctags --fields=k test.%l" 0 "Language: $l, Include selected extension fields=k"
|
||||
rlRun "ctags --fields=+afmikKlnsSz test.$l" 0 "Language: $l, Check extension fields=+afmikKlnsSz"
|
||||
rlRun "ctags --extra=+fq --format=1 test.$l" 0 "Language: $l, Check options --extra=+fq --format=1"
|
||||
done
|
||||
# check man page
|
||||
rlRun "man -P head ctags" 0 "Show the ctags man page"
|
||||
# check for sane license and readme file
|
||||
rlRun "head /usr/share/licenses/ctags/COPYING" 0 "Check for license file"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
6
tests/Sanity-test-for-ctags/test.c
Normal file
6
tests/Sanity-test-for-ctags/test.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main() {
|
||||
printf("Hello World\n");
|
||||
return 0;
|
||||
}
|
10
tests/Sanity-test-for-ctags/test.python
Normal file
10
tests/Sanity-test-for-ctags/test.python
Normal file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
def main():
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__': main()
|
||||
|
||||
var = 'hi'
|
||||
var2 = 'hi' # blah = blah
|
12
tests/tests.yml
Normal file
12
tests/tests.yml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
# Run tests in all contexts
|
||||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tests:
|
||||
- Sanity-test-for-ctags
|
||||
required_packages:
|
||||
- ctags
|
||||
- man-db
|
Loading…
Reference in New Issue
Block a user