Compare commits
No commits in common. "c8" and "3ff5e1ef869c0f8438174f62edc1a95f6076f468" have entirely different histories.
c8
...
3ff5e1ef86
@ -1 +1 @@
|
||||
71fc3595865ea6ea859587cbbb35cbf9aeb39d2d SOURCES/gawk-4.2.1.tar.xz
|
||||
02408f1be58747a0d8c16ef1d191398b4260c638 gawk-5.1.0.tar.xz
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1 +1,6 @@
|
||||
SOURCES/gawk-4.2.1.tar.xz
|
||||
/gawk-4.1.3.tar.xz
|
||||
/gawk-4.1.4.tar.xz
|
||||
/gawk-4.2.0.tar.xz
|
||||
/gawk-4.2.1.tar.xz
|
||||
/gawk-5.0.1.tar.xz
|
||||
/gawk-5.1.0.tar.xz
|
||||
|
@ -1,193 +0,0 @@
|
||||
From c1f670b26671cc8d60d967bbcb42cb8deb3baf2b Mon Sep 17 00:00:00 2001
|
||||
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
||||
Date: Tue, 31 Jul 2018 21:40:49 +0300
|
||||
Subject: Fix assigning $0 from a number.
|
||||
|
||||
---
|
||||
ChangeLog | 6 ++++++
|
||||
interpret.h | 1 +
|
||||
test/ChangeLog | 5 +++++
|
||||
test/Makefile.am | 5 ++++-
|
||||
test/Makefile.in | 10 +++++++++-
|
||||
test/Maketests | 5 +++++
|
||||
test/assignnumfield.awk | 1 +
|
||||
test/assignnumfield.in | 5 +++++
|
||||
test/assignnumfield.ok | 5 +++++
|
||||
9 files changed, 41 insertions(+), 2 deletions(-)
|
||||
create mode 100644 test/assignnumfield.awk
|
||||
create mode 100644 test/assignnumfield.in
|
||||
create mode 100644 test/assignnumfield.ok
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index 904e984c..68210057 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -1,3 +1,9 @@
|
||||
+2018-07-31 Arnold D. Robbins <arnold@skeeve.com>
|
||||
+
|
||||
+ * interpret.h (unfield): Add a call to force_string() on
|
||||
+ new value. See test/assignnumfield.awk. Thanks to
|
||||
+ Ralph Corderoy <ralph@inputplus.co.uk> for the bug report.
|
||||
+
|
||||
2018-02-25 Arnold D. Robbins <arnold@skeeve.com>
|
||||
|
||||
* 4.2.1: Release tar ball made.
|
||||
diff --git a/interpret.h b/interpret.h
|
||||
index 8408a532..fed0078c 100644
|
||||
--- a/interpret.h
|
||||
+++ b/interpret.h
|
||||
@@ -46,16 +46,25 @@ unfield(NODE **l, NODE **r)
|
||||
* valref 1, that effectively means that this is an assignment like "$n = $n",
|
||||
* so a no-op, other than triggering $0 reconstitution.
|
||||
*/
|
||||
-#define UNFIELD(l, r) \
|
||||
-{ \
|
||||
- /* if was a field, turn it into a var */ \
|
||||
- if ((r->flags & MALLOC) != 0 || r->valref == 1) { \
|
||||
- l = r; \
|
||||
- } else { \
|
||||
- l = dupnode(r); \
|
||||
- DEREF(r); \
|
||||
- } \
|
||||
-}
|
||||
+// not a macro so we can step into it with a debugger
|
||||
+#ifndef UNFIELD_DEFINED
|
||||
+#define UNFIELD_DEFINED 1
|
||||
+static inline void
|
||||
+unfield(NODE **l, NODE **r)
|
||||
+{
|
||||
+ /* if was a field, turn it into a var */
|
||||
+ if (((*r)->flags & MALLOC) != 0 || (*r)->valref == 1) {
|
||||
+ (*l) = (*r);
|
||||
+ } else {
|
||||
+ (*l) = dupnode(*r);
|
||||
+ DEREF(*r);
|
||||
+ }
|
||||
+ force_string(*l);
|
||||
+}
|
||||
+
|
||||
+#define UNFIELD(l, r) unfield(& (l), & (r))
|
||||
+#endif
|
||||
+
|
||||
int
|
||||
r_interpret(INSTRUCTION *code)
|
||||
{
|
||||
diff --git a/test/ChangeLog b/test/ChangeLog
|
||||
index 392d593b..2af89e66 100644
|
||||
--- a/test/ChangeLog
|
||||
+++ b/test/ChangeLog
|
||||
@@ -1,3 +1,8 @@
|
||||
+2018-07-31 Arnold D. Robbins <arnold@skeeve.com>
|
||||
+
|
||||
+ * Makefile.am (EXTRA_DIST): Add assignnumfield files.
|
||||
+ * assignnumfield.awk, assignnumfield.in, assignnumfield.ok: New files.
|
||||
+
|
||||
2018-02-25 Arnold D. Robbins <arnold@skeeve.com>
|
||||
|
||||
* 4.2.1: Release tar ball made.
|
||||
diff --git a/test/Makefile.am b/test/Makefile.am
|
||||
index e6f1e223..774424f7 100644
|
||||
--- a/test/Makefile.am
|
||||
+++ b/test/Makefile.am
|
||||
@@ -121,6 +121,9 @@ EXTRA_DIST = \
|
||||
asort.ok \
|
||||
asorti.awk \
|
||||
asorti.ok \
|
||||
+ assignnumfield.awk \
|
||||
+ assignnumfield.in \
|
||||
+ assignnumfield.ok \
|
||||
awkpath.ok \
|
||||
back89.awk \
|
||||
back89.in \
|
||||
@@ -1235,7 +1238,7 @@ BASIC_TESTS = \
|
||||
addcomma anchgsub anchor argarray arrayind1 arrayind2 arrayind3 arrayparm \
|
||||
arrayprm2 arrayprm3 arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 \
|
||||
arynasty arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
|
||||
- aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath \
|
||||
+ aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath assignnumfield \
|
||||
back89 backgsub badassign1 badbuild \
|
||||
callparam childin clobber closebad clsflnam compare compare2 \
|
||||
concat1 concat2 concat3 concat4 concat5 convfmt \
|
||||
diff --git a/test/Makefile.in b/test/Makefile.in
|
||||
index 532aca07..69b86d07 100644
|
||||
--- a/test/Makefile.in
|
||||
+++ b/test/Makefile.in
|
||||
@@ -379,6 +379,9 @@ EXTRA_DIST = \
|
||||
asort.ok \
|
||||
asorti.awk \
|
||||
asorti.ok \
|
||||
+ assignnumfield.awk \
|
||||
+ assignnumfield.in \
|
||||
+ assignnumfield.ok \
|
||||
awkpath.ok \
|
||||
back89.awk \
|
||||
back89.in \
|
||||
@@ -1493,7 +1496,7 @@ BASIC_TESTS = \
|
||||
addcomma anchgsub anchor argarray arrayind1 arrayind2 arrayind3 arrayparm \
|
||||
arrayprm2 arrayprm3 arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 \
|
||||
arynasty arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
|
||||
- aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath \
|
||||
+ aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath assignnumfield \
|
||||
back89 backgsub badassign1 badbuild \
|
||||
callparam childin clobber closebad clsflnam compare compare2 \
|
||||
concat1 concat2 concat3 concat4 concat5 convfmt \
|
||||
@@ -2787,6 +2790,11 @@ asgext:
|
||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
||||
|
||||
+assignnumfield:
|
||||
+ @echo $@
|
||||
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
||||
+
|
||||
back89:
|
||||
@echo $@
|
||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
diff --git a/test/Maketests b/test/Maketests
|
||||
index 8c604222..eb7c4651 100644
|
||||
--- a/test/Maketests
|
||||
+++ b/test/Maketests
|
||||
@@ -140,6 +140,11 @@ asgext:
|
||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
||||
|
||||
+assignnumfield:
|
||||
+ @echo $@
|
||||
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
||||
+
|
||||
back89:
|
||||
@echo $@
|
||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
||||
diff --git a/test/assignnumfield.awk b/test/assignnumfield.awk
|
||||
new file mode 100644
|
||||
index 00000000..3a056cb0
|
||||
--- /dev/null
|
||||
+++ b/test/assignnumfield.awk
|
||||
@@ -0,0 +1 @@
|
||||
+{$0 = ++i} 1
|
||||
diff --git a/test/assignnumfield.in b/test/assignnumfield.in
|
||||
new file mode 100644
|
||||
index 00000000..b82c4b2d
|
||||
--- /dev/null
|
||||
+++ b/test/assignnumfield.in
|
||||
@@ -0,0 +1,5 @@
|
||||
+a b c
|
||||
+a b c
|
||||
+a b c
|
||||
+a b c
|
||||
+a b c
|
||||
diff --git a/test/assignnumfield.ok b/test/assignnumfield.ok
|
||||
new file mode 100644
|
||||
index 00000000..8a1218a1
|
||||
--- /dev/null
|
||||
+++ b/test/assignnumfield.ok
|
||||
@@ -0,0 +1,5 @@
|
||||
+1
|
||||
+2
|
||||
+3
|
||||
+4
|
||||
+5
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
@ -30,10 +30,13 @@
|
||||
# For more info: https://fedoraproject.org/wiki/Packaging:Guidelines#PIE
|
||||
%global _hardened_build 1
|
||||
|
||||
# Extract the API major & minor versions, so we can export them below:
|
||||
%global gawk_api_major %%(tar -xf %{SOURCE0} gawk-%{version}/gawkapi.h --to-stdout 2>/dev/null | \
|
||||
# Extract the API major & minor versions, so we can export them below.
|
||||
# Ensure that the major version is >= 3, since that patch is not yet
|
||||
# in the tarball.
|
||||
%global gawk_api_major %%(x=`tar -xf %{SOURCE0} gawk-%{version}/gawkapi.h --to-stdout 2>/dev/null | \
|
||||
grep -i -e "gawk_api_major.*[[:digit:]]" | \
|
||||
grep -o -e "[[:digit:]]" || :)
|
||||
grep -o -e "[[:digit:]]"`; \
|
||||
[ "$x" -lt 3 ] && x=3; echo $x)
|
||||
|
||||
%global gawk_api_minor %%(tar -xf %{SOURCE0} gawk-%{version}/gawkapi.h --to-stdout 2>/dev/null | \
|
||||
grep -i -e "gawk_api_minor.*[[:digit:]]" | \
|
||||
@ -43,8 +46,8 @@
|
||||
|
||||
Name: gawk
|
||||
Summary: The GNU version of the AWK text processing utility
|
||||
Version: 4.2.1
|
||||
Release: 4%{?dist}
|
||||
Version: 5.1.0
|
||||
Release: 6%{?dist}
|
||||
|
||||
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
|
||||
|
||||
@ -69,7 +72,6 @@ BuildRequires: gcc
|
||||
BuildRequires: grep
|
||||
BuildRequires: ghostscript
|
||||
|
||||
BuildRequires: automake
|
||||
# Extending GAWK possibilities:
|
||||
BuildRequires: libsigsegv-devel
|
||||
BuildRequires: mpfr-devel
|
||||
@ -80,6 +82,9 @@ BuildRequires: texinfo-tex
|
||||
BuildRequires: texlive-ec
|
||||
BuildRequires: texlive-cm-super
|
||||
|
||||
# Make check
|
||||
BuildRequires: glibc-all-langpacks
|
||||
|
||||
# NOTE: In case any patch updates the awkgram.y or command.y (IOW if anything
|
||||
# changes the timestamp of awkgram.y, and it becomes newer than awkgram.c,
|
||||
# same applies for command.y), the 'make' command will automatically try
|
||||
@ -94,6 +99,12 @@ BuildRequires: texlive-cm-super
|
||||
# For more info, see: https://bugzilla.redhat.com/show_bug.cgi?id=1176993
|
||||
BuildRequires: bison
|
||||
|
||||
# After patching the awkgram.y, and running autoreconf, we now need additional
|
||||
# packages to correctly finish the build. These should not be needed in the
|
||||
# future, once upstream fixes their requirement on 'aclocal-1.15'.
|
||||
BuildRequires: automake
|
||||
BuildRequires: make
|
||||
|
||||
# =============================================================================
|
||||
|
||||
# NOTE: 'autosetup' macro (below) uses 'git' for applying the patches:
|
||||
@ -104,8 +115,12 @@ BuildRequires: bison
|
||||
# Upstream patches -- official upstream patches released by upstream since the
|
||||
# ---------------- last rebase that are necessary for any reason:
|
||||
#Patch000: example000.patch
|
||||
Patch000: assign-int.patch
|
||||
Patch001: proc-rv.patch
|
||||
#Parts of the patch dealing with .info files, were removed, some parts of documentation might be broken
|
||||
|
||||
#Patch008: gawk-api-version.patch
|
||||
|
||||
|
||||
|
||||
# Downstream patches -- these should be always included when doing rebase:
|
||||
# ------------------
|
||||
@ -121,6 +136,7 @@ Patch001: proc-rv.patch
|
||||
|
||||
# Patches to be removed -- deprecated functionality which shall be removed at
|
||||
# --------------------- some point in the future:
|
||||
#Patch200: gawk-4.2.1-200-fix-build-for-f29.patch
|
||||
|
||||
|
||||
%description
|
||||
@ -163,6 +179,16 @@ displaying images. Therefore, this doc subpackage can provide you with HTML, PDF
|
||||
and PS versions of those documents, which might be useful when you need to
|
||||
access them regularly, and/or when you do not have access to Internet.
|
||||
|
||||
# ---------------
|
||||
|
||||
%package all-langpacks
|
||||
Summary: Additional localisation files for gawk utility
|
||||
Supplements: %{name} = %{version}-%{release}
|
||||
Conflicts: %{name} < 5.0.1-8
|
||||
%description all-langpacks
|
||||
The base package of gawk supports only the english localisation. This subpackage
|
||||
contains additional localisation files.
|
||||
|
||||
# === BUILD INSTRUCTIONS ======================================================
|
||||
|
||||
# Call the 'autosetup' macro to prepare the environment, but do not patch the
|
||||
@ -179,7 +205,10 @@ git commit --all --amend --no-edit > /dev/null
|
||||
# ---------------
|
||||
|
||||
%build
|
||||
autoreconf
|
||||
# NOTE: The re-generating of ./configure (below) should be removed once the
|
||||
# direct dependency on 'aclocal-1.15' is fixed in upstream and backported.
|
||||
autoreconf --force --verbose
|
||||
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
@ -227,7 +256,8 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
|
||||
|
||||
# === PACKAGING INSTRUCTIONS ==================================================
|
||||
|
||||
%files -f %{name}.lang
|
||||
#%files -f %{name}.lang
|
||||
%files
|
||||
%{_bindir}/*awk
|
||||
%{_libdir}/*awk
|
||||
%{_datadir}/*awk
|
||||
@ -241,6 +271,8 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
|
||||
%doc NEWS README POSIX.STD README_d/README.multibyte
|
||||
%license COPYING LICENSE.GPLv2 LICENSE.LGPLv2 LICENSE.BSD
|
||||
|
||||
# ---------------
|
||||
%files -f %{name}.lang all-langpacks
|
||||
# ---------------
|
||||
|
||||
%files devel
|
||||
@ -257,17 +289,73 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
|
||||
# =============================================================================
|
||||
|
||||
%changelog
|
||||
* Fri Feb 11 2022 Jakub Martisko <jamartis@redhat.com> - 4.2.1-4
|
||||
- Rebuild with some gating tests disabled
|
||||
Resolves: rhbz#2053515
|
||||
* Wed Feb 16 2022 Jakub Martisko <jamartis@redhat.com> - 5.1.0-6
|
||||
Fix the issue with incorect handling of return values of some processes
|
||||
Resolves: rhbz#2055107
|
||||
|
||||
* Thu Feb 10 2022 Jakub Martisko <jamartis@redhat.com> - 4.2.1-3
|
||||
Fix the issue with an incorect handling of return code of some processes
|
||||
Resolves: rhbz#2018077
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 5.1.0-5
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Tue Nov 24 2020 Jakub Martisko <jamartis@redhat.com> - 4.2.1-2
|
||||
- Fix an issue with an int() value not being assigned to a variable
|
||||
Resolves: #1893370
|
||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 5.1.0-4
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 21 2020 Jakub Martisko <jamartis@redhat.com> - 5.1.0-1
|
||||
- New upstream release
|
||||
|
||||
* Tue Feb 18 2020 Jakub Martisko <jamartis@redhat.com> - 5.0.1-8
|
||||
- Split the package into the main package and locales subpackage
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Oct 9 2019 Jerry James <loganjerry@gmail.com> - 5.0.1-6
|
||||
- Rebuild for mpfr 4
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Jul 20 2019 Andrew Schorr <ajschorr@fedoraproject.org> - 5.0.1-4
|
||||
- Force api_major_version >= 3 because patch is not in tarball yet
|
||||
|
||||
* Thu Jul 11 2019 Andrew Schorr <ajschorr@fedoraproject.org> - 5.0.1-3
|
||||
- Add upstream patch to fix the API version number
|
||||
|
||||
* Thu Jun 27 2019 Jakub Martisko <jamartis@redhat.com> - 5.0.1-2
|
||||
- Fix the bacward compatibility of the inplace extension
|
||||
- (renaming of some variables due to introduction of namespaces)
|
||||
Resolves: #1723359
|
||||
|
||||
* Mon Jun 24 2019 Jakub Martisko <jamartis@redhat.com> - 5.0.1-1
|
||||
- New upstream release
|
||||
Resolves: #1674922
|
||||
|
||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.1-6
|
||||
- Rebuild for readline 8.0
|
||||
|
||||
* Wed Feb 13 2019 Jakub Martisko <jamartis@redhat.com> - 4.2.1-5
|
||||
- Fix FTBFS caused by missing glibc langpacks required by make check
|
||||
Resolves: #1674922
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Thu Jun 21 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-2
|
||||
- 5 important patches backported from upstream per their request:
|
||||
gawk-4.2.1-000-add-support-for-a-and-A-in-printf.patch
|
||||
gawk-4.2.1-001-remove-the-tail-recursion-optimization.patch
|
||||
gawk-4.2.1-002-copy-MPZ-MPFR-bits-also-in-r_dupnode.patch
|
||||
gawk-4.2.1-003-fix-rebuilding-records-if-using-API-parser.patch
|
||||
gawk-4.2.1-004-fix-a-corner-case-with-EPIPE-to-stdout-stderr.patch
|
||||
|
||||
* Mon Feb 26 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-1
|
||||
- Rebase to latest stable release from upstream
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (gawk-5.1.0.tar.xz) = 971e6a7617eb051d587984f64be2ff830e49eb60721c3401e8944401e3c3a7cd3334f0334b6e28bfc9283aaff15d83b0933f1fd77b0f8c7059068fa3f94c3cb4
|
62
tests/awk-assign-syntax-support/Makefile
Normal file
62
tests/awk-assign-syntax-support/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/awk-assign-syntax-support
|
||||
# Description: tests awk assign syntax support
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# 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 3 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/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/gawk/Regression/awk-assign-syntax-support
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.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: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: tests awk assign syntax support" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv3" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/awk-assign-syntax-support/PURPOSE
Normal file
3
tests/awk-assign-syntax-support/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE of /CoreOS/gawk/Regression/awk-assign-syntax-support
|
||||
Description: tests awk assign syntax support
|
||||
Author: Michal Nowak <mnowak@redhat.com>
|
59
tests/awk-assign-syntax-support/runtest.sh
Executable file
59
tests/awk-assign-syntax-support/runtest.sh
Executable file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/awk-assign-syntax-support
|
||||
# Description: tests awk assign syntax support
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# 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 3 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 rhts environment
|
||||
. /usr/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="gawk"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
echo "0 1 2" > file
|
||||
cat << "EOF" > prog
|
||||
{
|
||||
y = $1 !~ /Get/ ~ /1/
|
||||
z = $2 ~ /a/ !~ /[0-9]/
|
||||
print y z
|
||||
}
|
||||
EOF
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "awk -f prog file > awk.stdout" 0 "Process data with awk program"
|
||||
rlAssertEquals "awk processed program according to POSIX" "10" "$(cat awk.stdout)"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
|
||||
# Description: Test for awk matches lowercase when searching for uppercase
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 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/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.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: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for awk matches lowercase when searching for uppercase" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
@ -0,0 +1,4 @@
|
||||
PURPOSE of awk-matches-lowercase-when-searching-for-uppercase
|
||||
Description: awk matches lowercase when searching for uppercase
|
||||
Author: Filip Holec <fholec@redhat.com>
|
||||
Summary: awk matches lowercase when searching for uppercase range
|
60
tests/awk-matches-lowercase-when-searching-for-uppercase/runtest.sh
Executable file
60
tests/awk-matches-lowercase-when-searching-for-uppercase/runtest.sh
Executable file
@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
|
||||
# Description: awk matches lowercase when searching for uppercase
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 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/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="gawk"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
OLDLANG=$LANG
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "export LANG=en_US.UTF-8" 0 "Export needed LANG variable"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "echo test | awk '/[A-Z]/' > output" 0 "Run the reproducer"
|
||||
cat output
|
||||
rlAssertNotGrep "test" output
|
||||
rlRun '[ ! -s output ]' 0 "File output should be empty"
|
||||
if [ $(echo test | awk --posix '/[A-Z]/' | grep test) ]; then
|
||||
rlRun "man gawk | col -bx > gawk.txt" 0 "Get man page in plaintext"
|
||||
rlAssertGrep "[A-Z].*will.*also.*match.*the.*lowercase.*characters.*in.*this.*case\!" gawk.txt
|
||||
fi
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlRun "export LANG=$OLDLANG" 0 "Restore LANG variable"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
62
tests/awk-syntax-support/Makefile
Normal file
62
tests/awk-syntax-support/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/awk-syntax-support
|
||||
# Description: tests awk syntax support
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# 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 3 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/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/gawk/Regression/awk-syntax-support
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.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: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: tests awk syntax support" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv3" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/awk-syntax-support/PURPOSE
Normal file
3
tests/awk-syntax-support/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE of /CoreOS/gawk/Regression/awk-syntax-support
|
||||
Description: tests awk syntax support
|
||||
Author: Michal Nowak <mnowak@redhat.com>
|
59
tests/awk-syntax-support/runtest.sh
Executable file
59
tests/awk-syntax-support/runtest.sh
Executable file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/awk-syntax-support
|
||||
# Description: tests awk syntax support
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# 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 3 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 rhts environment
|
||||
. /usr/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="gawk"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
echo "Beth 4.00 0" > file
|
||||
cat << "EOF" > prog
|
||||
{
|
||||
B["c","a"] = 2
|
||||
A[1] = 4
|
||||
print ("c","a") in B in A, C in B in A
|
||||
}
|
||||
EOF
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "awk -f prog file > awk.stdout"
|
||||
rlAssertEquals "Correct output from awk" "1 0" "$(cat awk.stdout)"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
63
tests/double-free-or-corruption/Makefile
Normal file
63
tests/double-free-or-corruption/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/double-free-or-corruption
|
||||
# Description: Test for double-free-or-corruption
|
||||
# Author: David Kutalek <dkutalek@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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=/CoreOS/gawk/Regression/double-free-or-corruption
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.sh
|
||||
|
||||
.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: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for double-free-or-corruption" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
4
tests/double-free-or-corruption/PURPOSE
Normal file
4
tests/double-free-or-corruption/PURPOSE
Normal file
@ -0,0 +1,4 @@
|
||||
PURPOSE of double-free-or-corruption
|
||||
Description: Test for double-free-or-corruption
|
||||
Author: David Kutalek <dkutalek@redhat.com>
|
||||
Summary: gawk regression from RHEL3/4
|
8
tests/double-free-or-corruption/reproducer.sh
Executable file
8
tests/double-free-or-corruption/reproducer.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "
|
||||
|
||||
jpg: 364592 x
|
||||
gif: 97148 x" | awk '{ if ('\!'length($3)) $3="-"; print
|
||||
sprintf("%-10s%8s%10s%s", $1, $2, "", $3); }'
|
||||
|
55
tests/double-free-or-corruption/runtest.sh
Executable file
55
tests/double-free-or-corruption/runtest.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/double-free-or-corruption
|
||||
# Description: Test for double-free-or-corruption
|
||||
# Author: David Kutalek <dkutalek@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="gawk"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp ./reproducer.sh $TmpDir/"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
set -o pipefail
|
||||
export LIBC_FATAL_STDERR_=1
|
||||
rlRun "./reproducer.sh 2>&1 | tee ./reproducer.out"
|
||||
rlRun "grep 'double free or corruption' ./reproducer.out" 1
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
63
tests/gawk-3-1-7-modifies-command-line-arguments/Makefile
Normal file
63
tests/gawk-3-1-7-modifies-command-line-arguments/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
|
||||
# Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
|
||||
# Author: Bryan Mason <bmason@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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=/CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.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: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps." >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/gawk-3-1-7-modifies-command-line-arguments/PURPOSE
Normal file
3
tests/gawk-3-1-7-modifies-command-line-arguments/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
|
||||
Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
|
||||
Author: Bryan Mason <bmason@redhat.com>
|
53
tests/gawk-3-1-7-modifies-command-line-arguments/runtest.sh
Executable file
53
tests/gawk-3-1-7-modifies-command-line-arguments/runtest.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
|
||||
# Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
|
||||
# Author: Bryan Mason <bmason@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="gawk"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "gawk -v myvar=foo 'BEGIN {print myvar; system(\"/bin/sleep 5\")}' &" 0 "Run gawk with \"-v\" option"
|
||||
rlRun "ps -o pid,args | grep 'gawk' | grep -v grep | tee ps.out" 0 "Found gawk process in ps listing"
|
||||
rlRun "grep myvar=foo ps.out" 0 "Should find \"myvar=foo\" (not \"myvar foo\") on command line"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
63
tests/printf-format-s-in-gawk-not-working/Makefile
Normal file
63
tests/printf-format-s-in-gawk-not-working/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
|
||||
# Description: Test for printf format "%.*s" in gawk not working
|
||||
# Author: David Kutalek <dkutalek@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.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: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for printf format "%.*s" in gawk not working" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: gawk" >> $(METADATA)
|
||||
@echo "Requires: gawk" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
32
tests/printf-format-s-in-gawk-not-working/PURPOSE
Normal file
32
tests/printf-format-s-in-gawk-not-working/PURPOSE
Normal file
@ -0,0 +1,32 @@
|
||||
PURPOSE of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
|
||||
Description: Test for printf format "%.*s" in gawk not working
|
||||
Author: David Kutalek <dkutalek@redhat.com>
|
||||
Summary: printf format "%.*s" in gawk not working
|
||||
|
||||
Description:
|
||||
|
||||
Description of problem:
|
||||
The bug in gawk exists in the Redhat Ent6 gawk package. The patch to fix is checked in the fedora src rpm for gawk-3.1.7-3 and is gawk-3.1.7-prec-utf8.patch.
|
||||
|
||||
Here a repeat of the original bug report.
|
||||
|
||||
The "%.*s" format string in printf no longer works.
|
||||
|
||||
Version-Release number of selected component (if applicable):
|
||||
gawk-3.1.6-5.fc11.i586
|
||||
|
||||
How reproducible:
|
||||
Run example from bash command line.
|
||||
The example should remove the last character from the string.
|
||||
|
||||
Steps to Reproduce:
|
||||
# echo ab123dl|gawk '{printf("%.*s\n",length($0)-1,$0)}'
|
||||
|
||||
Actual results:
|
||||
ab123dl
|
||||
|
||||
Expected results:
|
||||
ab123d
|
||||
|
||||
Additional info:
|
||||
works OK with gawk-3.1.5-14.el5 and previously on fc10
|
49
tests/printf-format-s-in-gawk-not-working/runtest.sh
Executable file
49
tests/printf-format-s-in-gawk-not-working/runtest.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
|
||||
# Description: Test for printf format "%.*s" in gawk not working
|
||||
# Author: David Kutalek <dkutalek@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# 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/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="gawk"
|
||||
REPRODUCER="echo ab123dl|gawk '{printf(\"%.*s\\n\",length(\$0)-1,\$0)}'"
|
||||
EXPECTED_RESULT="ab123d"
|
||||
|
||||
rlJournalStart
|
||||
|
||||
rlPhaseStartTest
|
||||
rlAssertRpm $PACKAGE
|
||||
rlLog "Bug reproducer: $REPRODUCER"
|
||||
rlRun "$REPRODUCER | tee /tmp/$NAME-result.txt" 0 "Running reproducer"
|
||||
RESULT="`cat /tmp/$NAME-result.txt`"
|
||||
rlAssertEquals "Result should be $EXPECTED_RESULT" "_$RESULT" "_$EXPECTED_RESULT"
|
||||
rm /tmp/$NAME-result.txt
|
||||
rlPhaseEnd
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
19
tests/tests.yml
Normal file
19
tests/tests.yml
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
# This first play always runs on the local staging system
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
- container
|
||||
- atomic
|
||||
tests:
|
||||
- awk-matches-lowercase-when-searching-for-uppercase
|
||||
- printf-format-s-in-gawk-not-working
|
||||
- awk-assign-syntax-support
|
||||
- awk-syntax-support
|
||||
- double-free-or-corruption
|
||||
- gawk-3-1-7-modifies-command-line-arguments
|
||||
required_packages:
|
||||
- gawk
|
||||
- procps-ng
|
Loading…
Reference in New Issue
Block a user