[arch] Add mock rpmUtils module
Use a mock instead of relying on the real module in tests. This fixes test failures on RHEL-7 (caused by different configuration). Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
00f2e24bce
commit
b43e35f7f2
@ -1,19 +1,62 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import mock
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
||||||
|
|
||||||
from pungi.arch import *
|
from pungi.arch import *
|
||||||
|
|
||||||
|
|
||||||
|
class MockArchModule(object):
|
||||||
|
"""
|
||||||
|
This is a class intended to be used as a replacement for rpmUtils.arch
|
||||||
|
module in following tests. The data is intentionally not complete.
|
||||||
|
"""
|
||||||
|
arches = {'i386': 'noarch',
|
||||||
|
'x86_64': 'athlon'}
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getMultiArchInfo(yum_arch):
|
||||||
|
DATA = {
|
||||||
|
'athlon': None,
|
||||||
|
'x86_64': ('athlon', 'x86_64', 'athlon'),
|
||||||
|
'armv7hnl': None,
|
||||||
|
'noarch': None,
|
||||||
|
'ppc64p7': ('ppc', 'ppc64', 'ppc64'),
|
||||||
|
}
|
||||||
|
return DATA[yum_arch]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getArchList(yum_arch):
|
||||||
|
ARCHES = {
|
||||||
|
'athlon': ['athlon', 'i686', 'i586', 'i486', 'i386', 'noarch'],
|
||||||
|
'x86_64': ['x86_64', 'athlon', 'i686', 'i586', 'i486', 'i386', 'noarch'],
|
||||||
|
'armv7hnl': ['armv7hnl', 'armv7hl', 'armv6hl', 'noarch'],
|
||||||
|
'noarch': ['noarch'],
|
||||||
|
'ppc64p7': ['ppc64p7', 'ppc64', 'ppc', 'noarch'],
|
||||||
|
'ppc': ['ppc', 'noarch'],
|
||||||
|
}
|
||||||
|
return ARCHES[yum_arch]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getBaseArch(yum_arch):
|
||||||
|
ARCHES = {
|
||||||
|
'noarch': 'noarch',
|
||||||
|
'i386': 'i386',
|
||||||
|
'i586': 'i386',
|
||||||
|
'x86_64': 'x86_64',
|
||||||
|
'ppc64p7': 'ppc64',
|
||||||
|
'armhfp': 'armhfp',
|
||||||
|
}
|
||||||
|
return ARCHES[yum_arch]
|
||||||
|
|
||||||
|
|
||||||
|
@mock.patch('rpmUtils.arch', MockArchModule)
|
||||||
class TestArch(unittest.TestCase):
|
class TestArch(unittest.TestCase):
|
||||||
|
|
||||||
def test_i386(self):
|
def test_i386(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user