RHEL: Import from Fedora

This commit is contained in:
Tomáš Hrnčiar 2025-09-08 15:12:01 +02:00 committed by Lumir Balhar
parent 04d1f41891
commit 57988a2648
13 changed files with 594 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

25
.gitignore vendored
View File

@ -0,0 +1,25 @@
PyYAML-3.09.tar.gz
/PyYAML-3.10.tar.gz
/PyYAML-3.11.tar.gz
/PyYAML-3.12.tar.gz
/PyYAML-4.1.tar.gz
/pyyaml-4.1.tar.gz
/PyYAML-4.2b4.tar.gz
/PyYAML-5.1b1.tar.gz
/PyYAML-5.1b3.tar.gz
/PyYAML-5.1b6.tar.gz
/PyYAML-5.1.tar.gz
/PyYAML-5.1.1.tar.gz
/PyYAML-5.1.2.tar.gz
/5.1.2.tar.gz
/5.2.tar.gz
/5.3.tar.gz
/5.3.1.tar.gz
/5.4b1.tar.gz
/5.4b2.tar.gz
/5.4.tar.gz
/5.4.1.tar.gz
/6.0b1.tar.gz
/6.0.tar.gz
/6.0.1.tar.gz
/6.0.2.tar.gz

56
823.patch Normal file
View File

@ -0,0 +1,56 @@
From 74e0c6ccc615fa38ee793899ca80f3351c10c60e Mon Sep 17 00:00:00 2001
From: Henry Schreiner <HenrySchreinerIII@gmail.com>
Date: Tue, 13 Aug 2024 09:48:48 -0400
Subject: [PATCH 1/2] fix: bdist_wheel was unmodified
---
setup.py | 7 -------
1 file changed, 7 deletions(-)
diff --git a/setup.py b/setup.py
index 8040320fe..72018345c 100644
--- a/setup.py
+++ b/setup.py
@@ -93,11 +93,6 @@
if with_cython:
raise
-try:
- from wheel.bdist_wheel import bdist_wheel
-except ImportError:
- bdist_wheel = None
-
try:
from _pyyaml_pep517 import ActiveConfigSettings
@@ -325,8 +320,6 @@ def run(self):
'build_ext': build_ext,
'test': test,
}
-if bdist_wheel:
- cmdclass['bdist_wheel'] = bdist_wheel
if __name__ == '__main__':
From bdc81567884bedab456f62ccfd3c1ec800c57e36 Mon Sep 17 00:00:00 2001
From: Henry Schreiner <HenrySchreinerIII@gmail.com>
Date: Tue, 13 Aug 2024 09:50:19 -0400
Subject: [PATCH 2/2] Update pyproject.toml
---
pyproject.toml | 1 -
1 file changed, 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index d8e5b9695..00ce069c6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,6 @@
[build-system]
requires = [
"setuptools", # FIXME: declare min/max setuptools versions?
- "wheel",
"Cython; python_version < '3.13'",
"Cython>=3.0; python_version >= '3.13'"
]

74
PyYAML.spec Normal file
View File

@ -0,0 +1,74 @@
Name: PyYAML
Version: 6.0.2
Release: %autorelease
Summary: YAML parser and emitter for Python
# SPDX
License: MIT
URL: https://github.com/yaml/pyyaml
Source: https://github.com/yaml/pyyaml/archive/%{version}.tar.gz
# Drop unneeded build dependency on python3-wheel
Patch: https://github.com/yaml/pyyaml/pull/823.patch
BuildRequires: gcc
BuildRequires: libyaml-devel
BuildRequires: python3-devel
BuildRequires: python3-pytest
%global _description\
YAML is a data serialization format designed for human readability and\
interaction with scripting languages. PyYAML is a YAML parser and\
emitter for Python.\
\
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle\
support, capable extension API, and sensible error messages. PyYAML\
supports standard YAML tags and provides Python-specific tags that\
allow to represent an arbitrary Python object.\
\
PyYAML is applicable for a broad range of tasks from complex\
configuration files to object serialization and persistence.
%description %_description
%package -n python3-pyyaml
Summary: %summary
%py_provides python3-yaml
%py_provides python3-PyYAML
%description -n python3-pyyaml %_description
%prep
%autosetup -p1 -n pyyaml-%{version}
chmod a-x examples/yaml-highlight/yaml_hl.py
# remove pre-generated file
rm -rf ext/_yaml.c
%generate_buildrequires
%pyproject_buildrequires
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files yaml _yaml
%check
%pytest
%files -n python3-pyyaml -f %{pyproject_files}
%doc CHANGES README.md examples
%changelog
%autochangelog

305
changelog Normal file
View File

@ -0,0 +1,305 @@
* Fri Jul 28 2023 Miro Hrončok <mhroncok@redhat.com> - 6.0.1-4
- Fix build with Cython 3
* Tue Jul 25 2023 Miro Hrončok <mhroncok@redhat.com> - 6.0.1-3
- Pin Cython < 3 to build this package
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 18 2023 John Eckersberg <jeckersb@redhat.com> - 6.0.1-1
- New upstream release 6.0.1 (rhbz#2223462)
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 6.0-8
- Rebuilt for Python 3.12
* Tue Apr 11 2023 John Eckersberg <jeckersb@redhat.com> - 6.0-7
- Rebuilt for Python 3.12 / Cython 0.29.34 (rhbz#2177815)
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 6.0-4
- Rebuilt for Python 3.11
* Tue Feb 08 2022 Miro Hrončok <mhroncok@redhat.com> - 6.0-3
- Remove some outdated Obsoletes and Provides,
but keep providing python3-yaml and python3-PyYAML for users
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Oct 13 2021 John Eckersberg <jeckersb@redhat.com> - 6.0-1
- New upstream release 6.0
* Mon Oct 4 2021 John Eckersberg <jeckersb@redhat.com> - 6.0-0.1.b1
- New upstream beta release 6.0b1 (rhbz#2010501)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 5.4.1-3
- Rebuilt for Python 3.10
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 21 2021 John Eckersberg <jeckersb@redhat.com> - 5.4.1-1
- New upstream release 5.4.1 (rhbz#1918523)
* Wed Jan 20 2021 John Eckersberg <jeckersb@redhat.com> - 5.4-1
- New upstream release 5.4
- Fixes CVE-2020-14343
* Fri Jan 15 2021 John Eckersberg <jeckersb@redhat.com> - 5.4-0.1.b2
- New upstream beta release 5.4b2 (rhbz#1916496)
* Thu Jan 14 2021 John Eckersberg <jeckersb@redhat.com> - 5.4-0.1.b1
- New upstream beta release 5.4b1 (rhbz#1916034)
* Mon Nov 23 2020 Miro Hrončok <mhroncok@redhat.com> - 5.3.1-5
- Disable Python 2 build on RHEL 9+
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 5.3.1-3
- Rebuilt for Python 3.9
* Mon May 18 2020 John Eckersberg <eck@redhat.com> - 5.3.1-2
- Fix fedora conditional macro (rhbz#1836656)
* Thu Mar 19 2020 John Eckersberg <eck@redhat.com> - 5.3.1-1
- New upstream release 5.3.1 (rhbz#1814882)
- Fixes CVE-2020-1747 (rhbz#1807367,1809011)
* Tue Mar 10 2020 Kalev Lember <klember@redhat.com> - 5.3-4
- Add back PyYAML provides on F31 and older
* Mon Mar 2 2020 John Eckersberg <eck@redhat.com> - 5.3-3
- Fix python2 on Fedora < 32 (rhbz#1808812)
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 6 2020 John Eckersberg <eck@redhat.com> - 5.3-1
- New upstream release 5.3
* Tue Dec 3 2019 John Eckersberg <eck@redhat.com> - 5.2-1
- New upstream release 5.2
* Fri Nov 22 2019 John Eckersberg <eck@redhat.com> - 5.1.2-4
- Build without python2 by default (rhbz#1775075)
* Thu Sep 19 2019 Miro Hrončok <mhroncok@redhat.com> - 5.1.2-3
- Stop providing PyYAML from python2-pyyaml, Python now means Python 3
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 5.1.2-2
- Rebuilt for Python 3.8
* Wed Jul 31 2019 John Eckersberg <eck@redhat.com> - 5.1.2-1
- New upstream release 5.1.2
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 15 2019 Petr Viktorin <pviktori@redhat.com> - 5.1.1-2
- Remove build dependency on python2-Cython
* Fri Jun 7 2019 John Eckersberg <eck@redhat.com> - 5.1.1-1
- New upstream release 5.1.1 (rhbz#1718110)
* Wed Mar 13 2019 John Eckersberg <eck@redhat.com> - 5.1-1
- New upstream release 5.1 (rhbz#1688414)
- Fixes CVE-2017-18342 (rhbz#1595744)
* Fri Mar 8 2019 John Eckersberg <eck@redhat.com> - 5.1-0.1.b6
- New upstream beta release 5.1b6 (rhbz#1686643)
* Thu Feb 28 2019 John Eckersberg <eck@redhat.com> - 5.1-0.1.b3
- New upstream beta release 5.1b3 (rhbz#1683884)
* Mon Feb 25 2019 John Eckersberg <eck@redhat.com> - 5.1-0.1.b1
- New upstream beta release 5.1b1 (rhbz#1680457)
- Typo fix (rhbz#1680463)
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-0.2.b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 John Eckersberg <eck@redhat.com> - 4.2-0.1.b4
- New upstream beta release 4.2b4
- Replaces 4.1 which was retracted upstream
See https://mail.python.org/pipermail/python-announce-list/2018-June/011977.html
- Add BuildRequires for gcc
See https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
* Thu Jul 12 2018 Miro Hrončok <mhroncok@redhat.com> - 4.1-5
- Rename python3-PyYAML to python3-pyyaml
- Modernize spec
- Fix python2 invocation
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 4.1-3
- Rebuilt for Python 3.7
* Mon Jul 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1-2
- Rebuilt for Python 3.7
* Wed Jun 27 2018 John Eckersberg <eck@redhat.com> - 4.1-1
- New upstream release 4.1
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 3.12-11
- Rebuilt for Python 3.7
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.12-9
- Fix ambiguous Python 2 dependency declarations
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Wed Sep 27 2017 Troy Dawson <tdawson@redhat.com> - 3.12-8
- Cleanup spec file conditionals
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12-7
- Add Provides for the old name without %%_isa
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12-6
- Python 2 binary package renamed to python2-pyyaml
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.12-2
- Rebuild for Python 3.6
* Mon Aug 29 2016 John Eckersberg <eck@redhat.com> - 3.12-1
- New upstream release 3.12 (RHBZ#1371150)
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-13
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Dec 8 2015 John Eckersberg <eck@redhat.com> - 3.11-11
- Add provides for python3-yaml (RHBZ#1288807)
* Tue Nov 03 2015 Robert Kuska <rkuska@redhat.com> - 3.11-10
- Rebuilt for Python3.5 rebuild
* Fri Jul 17 2015 John Eckersberg <eck@redhat.com> - 3.11-9
- Add provides for python2-yaml (RHBZ#1241678)
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Mar 23 2015 John Eckersberg <eck@redhat.com> - 3.11-7
- Add patch for CVE-2014-9130 (bug 1204829)
* Mon Sep 15 2014 Jakub Čajka <jcajka@redhat.com> - 3.11-6
- fixed typecast issues using debian patch(int->size_t)(BZ#1140189)
- spec file cleanup
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Aug 4 2014 Tom Callaway <spot@fedoraproject.org> - 3.11-4
- fix license handling
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.11-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Mon Apr 21 2014 John Eckersberg <jeckersb@redhat.com> - 3.11-1
- New upstream release 3.11 (BZ#1081521)
* Thu Aug 8 2013 John Eckersberg <jeckersb@redhat.com> - 3.10-9
- Add check section and run test suite
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-6
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
* Wed Aug 1 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-5
- remove rhel logic from with_python3 conditional
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Apr 27 2012 John Eckersberg <jeckersb@redhat.com> - 3.10-3
- Add Provides for python-yaml (BZ#740390)
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Thu Jun 23 2011 John Eckersberg <jeckersb@redhat.com> - 3.10-1
- New upstream release 3.10
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.09-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Feb 2 2011 John Eckersberg <jeckersb@redhat.com> - 3.09-7
- Add support to build for python 3
* Tue Jul 27 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 3.09-6
- Bump release number for upgrade path
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.09-3
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Fri Oct 02 2009 John Eckersberg <jeckersb@redhat.com> - 3.09-1
- New upstream release 3.09
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jul 22 2009 - John Eckersberg <jeckersb@redhat.com> - 3.08-5
- Minor tweaks to spec file aligning with latest Fedora packaging guidelines
- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py
- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so
- Thanks to Gareth Armstrong <gareth.armstrong@hp.com>
* Tue Mar 3 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-4
- Correction, change libyaml to libyaml-devel in BuildRequires
* Mon Mar 2 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-3
- Add libyaml to BuildRequires
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Feb 18 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-1
- New upstream release
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.06-2
- Rebuild for Python 2.6
* Fri Oct 24 2008 John Eckersberg <jeckersb@redhat.com> - 3.06-1
- New upstream release
* Wed Jan 02 2008 John Eckersberg <jeckersb@redhat.com> - 3.05-2
- Remove explicit dependency on python >= 2.3
- Remove executable on example script in docs
* Mon Dec 17 2007 John Eckersberg <jeckersb@redhat.com> - 3.05-1
- Initial packaging for Fedora

4
plan.fmf Normal file
View File

@ -0,0 +1,4 @@
discover:
how: fmf
execute:
how: tmt

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (6.0.2.tar.gz) = c72665131296762521d9ae4fc1c8619946f46ea16ad98b6b8e995828f2cdbd1ed61741fc2d646753f71d95a352b36562a1302f0cb646d5705652cd24b2f10b16

5
tests/smoke/main.fmf Normal file
View File

@ -0,0 +1,5 @@
test: ./runtest.sh
framework: beakerlib
require:
- python3-pyyaml
duration: 5m

View File

@ -0,0 +1,3 @@
#!/usr/bin/env python
import yaml
print(yaml.dump({'name': 'Silenthand Olleander', 'race': 'Human', 'traits': ['ONE_HAND', 'ONE_EYE']}))

View File

@ -0,0 +1,13 @@
#!/usr/bin/env python
import yaml
documents = """
---
name: foo
---
name: bar
---
name: foobar
"""
for data in yaml.load_all(documents, Loader=yaml.SafeLoader):
print(data)

View File

@ -0,0 +1,24 @@
import yaml
class Hero:
def __init__(self, name, hp, sp):
self.name = name
self.hp = hp
self.sp = sp
def __repr__(self):
return "%s(name=%r, hp=%r, sp=%r)" % (
self.__class__.__name__, self.name, self.hp, self.sp)
STRING = """
!!python/object:__main__.Hero
name: Welthyr Syxgon
hp: 1200
sp: 0
"""
try:
yaml.load(STRING, Loader=yaml.SafeLoader)
raise RuntimeError("Didn't raise exception")
except yaml.constructor.ConstructorError:
pass
print(yaml.unsafe_load(STRING))

View File

@ -0,0 +1,9 @@
#!/usr/bin/env python
import yaml
document = """
a: 1
b:
c: 3
d: 4
"""
print(yaml.dump(yaml.load(document, Loader=yaml.SafeLoader)))

74
tests/smoke/runtest.sh Executable file
View File

@ -0,0 +1,74 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/PyYAML/Sanity/Smoke
# Description: Smoke test for this component
# Author: Stepan Sigut <ssigut@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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
PYTHON=${PYTHON:-"python3"}
PATTERN1="{'name': 'foo'}
{'name': 'bar'}
{'name': 'foobar'}"
PATTERN3="name: Silenthand Olleander
race: Human
traits: [ONE_HAND, ONE_EYE]"
PATTERN4="a: 1
b: {c: 3, d: 4}"
PATTERN5="Hero(name='Welthyr Syxgon', hp=1200, sp=0)"
set -o pipefail
rlJournalStart
rlPhaseStartSetup
# export python's MAJOR and MINOR version
rlRun "export $($PYTHON -c \
'import sys; print("MAJOR={0} MINOR={1}".format(\
sys.version_info[0],sys.version_info[1]))')"
rlPhaseEnd
rlPhaseStartTest "Running pyyaml_load.py"
rlRun -s "$PYTHON pyyaml_load.py"
rlAssertGrep "$PATTERN1" "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartTest "Running pyyaml_dump.py"
rlRun -s "$PYTHON pyyaml_dump.py"
rlAssertGrep "$PATTERN3" "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartTest "Running pyyaml_parse.py"
rlRun -s "$PYTHON pyyaml_parse.py"
rlAssertGrep "$PATTERN4" "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartTest "Running pyyaml_object.py"
rlRun -s "$PYTHON pyyaml_object.py"
rlAssertGrep "$PATTERN5" "$rlRun_LOG"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd