|
Packit |
6f3914 |
# -*- coding: utf-8 -*-
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
# Copyright (C) 2014-2018 Red Hat, Inc.
|
|
Packit |
6f3914 |
#
|
|
Packit |
6f3914 |
# This copyrighted material is made available to anyone wishing to use,
|
|
Packit |
6f3914 |
# modify, copy, or redistribute it subject to the terms and conditions of
|
|
Packit |
6f3914 |
# the GNU General Public License v.2, or (at your option) any later version.
|
|
Packit |
6f3914 |
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
Packit |
6f3914 |
# ANY WARRANTY expressed or implied, including the implied warranties of
|
|
Packit |
6f3914 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
Packit |
6f3914 |
# Public License for more details. You should have received a copy of the
|
|
Packit |
6f3914 |
# GNU General Public License along with this program; if not, write to the
|
|
Packit |
6f3914 |
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
Packit |
6f3914 |
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
|
|
Packit |
6f3914 |
# source code or documentation are not subject to the GNU General Public
|
|
Packit |
6f3914 |
# License and may only be used or replicated with the express permission of
|
|
Packit |
6f3914 |
# Red Hat, Inc.
|
|
Packit |
6f3914 |
#
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
from __future__ import absolute_import
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
import libcomps
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
import tests.support
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
class LibcompsTest(tests.support.TestCase):
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
"""Sanity tests of the Libcomps library."""
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
def test_environment_parse(self):
|
|
Packit |
6f3914 |
xml = """\
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
<comps>
|
|
Packit |
6f3914 |
<group>
|
|
Packit |
6f3914 |
<id>somerset</id>
|
|
Packit |
6f3914 |
<default>true</default>
|
|
Packit |
6f3914 |
<uservisible>true</uservisible>
|
|
Packit |
6f3914 |
<display_order>1024</display_order>
|
|
Packit |
6f3914 |
<name>Solid Ground</name>
|
|
Packit |
6f3914 |
<description>--</description>
|
|
Packit |
6f3914 |
<packagelist>
|
|
Packit |
6f3914 |
<packagereq type="mandatory">pepper</packagereq>
|
|
Packit |
6f3914 |
<packagereq type="mandatory">trampoline</packagereq>
|
|
Packit |
6f3914 |
</packagelist>
|
|
Packit |
6f3914 |
</group>
|
|
Packit |
6f3914 |
<environment>
|
|
Packit |
6f3914 |
<id>minimal</id>
|
|
Packit |
6f3914 |
<name>Min install</name>
|
|
Packit |
6f3914 |
<description>Basic functionality.</description>
|
|
Packit |
6f3914 |
<display_order>5</display_order>
|
|
Packit |
6f3914 |
<grouplist>
|
|
Packit |
6f3914 |
<groupid>somerset</groupid>
|
|
Packit |
6f3914 |
</grouplist>
|
|
Packit |
6f3914 |
</environment>
|
|
Packit |
6f3914 |
</comps>
|
|
Packit |
6f3914 |
"""
|
|
Packit |
6f3914 |
comps = libcomps.Comps()
|
|
Packit |
6f3914 |
ret = comps.fromxml_str(xml)
|
|
Packit |
6f3914 |
self.assertGreaterEqual(ret, 0)
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
def test_segv(self):
|
|
Packit |
6f3914 |
c1 = libcomps.Comps()
|
|
Packit |
6f3914 |
c2 = libcomps.Comps()
|
|
Packit |
6f3914 |
c2.fromxml_f(tests.support.COMPS_PATH)
|
|
Packit |
6f3914 |
c1 + c2 # sigsegved here
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
def test_segv2(self):
|
|
Packit |
6f3914 |
c1 = libcomps.Comps()
|
|
Packit |
6f3914 |
c1.fromxml_f(tests.support.COMPS_PATH)
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
c2 = libcomps.Comps()
|
|
Packit |
6f3914 |
c2.fromxml_f(tests.support.COMPS_PATH)
|
|
Packit |
6f3914 |
|
|
Packit |
6f3914 |
c = c1 + c2
|
|
Packit |
6f3914 |
c.groups[0].packages[0].name
|