Exemplo n.º 1
0
    def test_modinfo_parser_with_aliases_parms(self):
        modinfo_sample_output = """filename:  /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/drivers/block/loop.ko.xz\0alias=devname:loop-control\0\
alias=char-major-10-237\0alias=block-major-7-*\0license=GPL\0depends=\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0\
parm:           max_loop:Maximum number of loop devices (int)\0\
parm:           max_part:Maximum number of partitions per loop \
device (int)\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(
            modinfo_dict["filename"], "/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers" "/block/loop.ko.xz"
        )
        self.assertEqual(modinfo_dict["license"], "GPL")
        self.assertEqual(modinfo_dict["depends"], [])
        self.assertEqual(modinfo_dict["intree"], "Y")
        self.assertEqual(modinfo_dict["vermagic"], "4.2.8-300.fc23.x86_64 SMP mod_unload")
        self.assertEqual(modinfo_dict["signer"], "Fedora kernel signing key")
        self.assertEqual(modinfo_dict["sig_key"], "89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05")
        self.assertEqual(modinfo_dict["sig_hashalgo"], "sha256")

        self.assertEqual(modinfo_dict["aliases"], ["devname:loop-control", "char-major-10-237", "block-major-7-*"])

        self.assertEqual(
            modinfo_dict["parms"],
            {
                "max_loop": "Maximum number of loop devices (int)",
                "max_part": "Maximum number of partitions per loop " "device (int)",
            },
        )
        self.assertEqual(modinfo_dict["features"], {})
Exemplo n.º 2
0
    def test_modinfo_parser_multiple_author(self):
        modinfo_sample_output = """filename:       /lib/modules/4.2.8-300.\
fc23.x86_64/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko.xz\0\
description=PCI basic driver for rtlwifi\0license=GPL\0author=Larry \
Finger	<*****@*****.**>\0author=Realtek WlanFAE	\
<*****@*****.**>\0author=lizhaoming	<chaoming_li@realsil.\
com.cn>\0depends=mac80211,rtlwifi\0intree=Y\0vermagic=4.2.8-300.fc23.\
x86_64 SMP mod_unload \0signer=Fedora kernel signing key\0sig_key=89:\
CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(
            modinfo_dict["authors"],
            [
                "Larry Finger	<*****@*****.**>",
                "Realtek WlanFAE	<*****@*****.**>",
                "lizhaoming	<*****@*****.**>",
            ],
        )
        self.assertEqual(
            modinfo_dict["filename"],
            "/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers" "/net/wireless/rtlwifi/rtl_pci.ko.xz",
        )
        self.assertEqual(modinfo_dict["license"], "GPL")
        self.assertEqual(modinfo_dict["depends"], ["mac80211", "rtlwifi"])
        self.assertEqual(modinfo_dict["intree"], "Y")
        self.assertEqual(modinfo_dict["vermagic"], "4.2.8-300.fc23.x86_64 SMP mod_unload")
        self.assertEqual(modinfo_dict["signer"], "Fedora kernel signing key")
        self.assertEqual(modinfo_dict["sig_key"], "89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05")
        self.assertEqual(modinfo_dict["sig_hashalgo"], "sha256")
        self.assertEqual(modinfo_dict["aliases"], [])
        self.assertEqual(modinfo_dict["parms"], {})
        self.assertEqual(modinfo_dict["features"], {})
Exemplo n.º 3
0
    def test_modinfo_parser(self):
        modinfo_sample_output = """filename: /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/net/tipc/tipc.ko.xz\0version=2.0.0\0license=Dual BSD/GPL\0\
description=TIPC: Transparent Inter Process Communication\0\
srcversion=D8C4AF100F6EA6984637AD1\0depends=udp_tunnel,ip6_udp_tunnel\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(modinfo_dict["filename"], "/lib/modules/4.2.8-300.fc23.x86_64/kernel/net/tipc/tipc.ko.xz")
        self.assertEqual(modinfo_dict["version"], "2.0.0")
        self.assertEqual(modinfo_dict["license"], "Dual BSD/GPL")
        self.assertEqual(modinfo_dict["description"], "TIPC: Transparent Inter Process Communication")
        self.assertEqual(modinfo_dict["srcversion"], "D8C4AF100F6EA6984637AD1")
        self.assertEqual(modinfo_dict["depends"], ["udp_tunnel", "ip6_udp_tunnel"])
        self.assertEqual(modinfo_dict["intree"], "Y")
        self.assertEqual(modinfo_dict["vermagic"], "4.2.8-300.fc23.x86_64 SMP mod_unload")
        self.assertEqual(modinfo_dict["signer"], "Fedora kernel signing key")
        self.assertEqual(modinfo_dict["sig_key"], "89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05")
        self.assertEqual(modinfo_dict["sig_hashalgo"], "sha256")

        self.assertEqual(modinfo_dict["aliases"], [])
        self.assertEqual(modinfo_dict["parms"], {})
        self.assertEqual(modinfo_dict["features"], {})
Exemplo n.º 4
0
    def test_modinfo_parser(self):
        modinfo_sample_output = """filename: /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/net/tipc/tipc.ko.xz\0version=2.0.0\0license=Dual BSD/GPL\0\
description=TIPC: Transparent Inter Process Communication\0\
srcversion=D8C4AF100F6EA6984637AD1\0depends=udp_tunnel,ip6_udp_tunnel\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/net/tipc/tipc.ko.xz')
        self.assertEqual(modinfo_dict['version'], '2.0.0')
        self.assertEqual(modinfo_dict['license'], 'Dual BSD/GPL')
        self.assertEqual(modinfo_dict['description'],
                         'TIPC: Transparent Inter Process Communication')
        self.assertEqual(modinfo_dict['srcversion'], 'D8C4AF100F6EA6984637AD1')
        self.assertEqual(modinfo_dict['depends'],
                         ['udp_tunnel', 'ip6_udp_tunnel'])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(modinfo_dict['vermagic'],
                         '4.2.8-300.fc23.x86_64 SMP mod_unload')
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05')
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')

        self.assertEqual(modinfo_dict['aliases'], [])
        self.assertEqual(modinfo_dict['parms'], {})
        self.assertEqual(modinfo_dict['features'], {})
Exemplo n.º 5
0
    def test_modinfo_parser_multiple_author(self):
        modinfo_sample_output = """filename:       /lib/modules/4.2.8-300.\
fc23.x86_64/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko.xz\0\
description=PCI basic driver for rtlwifi\0license=GPL\0author=Larry \
Finger	<*****@*****.**>\0author=Realtek WlanFAE	\
<*****@*****.**>\0author=lizhaoming	<chaoming_li@realsil.\
com.cn>\0depends=mac80211,rtlwifi\0intree=Y\0vermagic=4.2.8-300.fc23.\
x86_64 SMP mod_unload \0signer=Fedora kernel signing key\0sig_key=89:\
CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(modinfo_dict['authors'], [
            'Larry Finger	<*****@*****.**>',
            'Realtek WlanFAE	<*****@*****.**>',
            'lizhaoming	<*****@*****.**>'
        ])
        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers'
            '/net/wireless/rtlwifi/rtl_pci.ko.xz')
        self.assertEqual(modinfo_dict['license'], 'GPL')
        self.assertEqual(modinfo_dict['depends'], ['mac80211', 'rtlwifi'])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(modinfo_dict['vermagic'],
                         '4.2.8-300.fc23.x86_64 SMP mod_unload')
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05')
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')
        self.assertEqual(modinfo_dict['aliases'], [])
        self.assertEqual(modinfo_dict['parms'], {})
        self.assertEqual(modinfo_dict['features'], {})
Exemplo n.º 6
0
    def test_modinfo_parser_mlx4core(self):
        modinfo_dict = sysmodules.parse_modinfo_0_output(self.get_modinfo_mlx4core_output())

        self.assertEqual(modinfo_dict["authors"], ["Roland Dreier"])
        self.assertEqual(modinfo_dict["license"], "Dual BSD/GPL")
        self.assertEqual(modinfo_dict["depends"], [])
        self.assertEqual(modinfo_dict["intree"], "Y")
        self.assertEqual(len(modinfo_dict["aliases"]), 27)
        self.assertEqual(len(modinfo_dict["parms"]), 13)
        self.assertIn("num_vfs", modinfo_dict["parms"].keys())
        self.assertIn("probe_vf", modinfo_dict["parms"].keys())
Exemplo n.º 7
0
    def test_modinfo_parser_mlx4core(self):
        modinfo_dict = sysmodules.parse_modinfo_0_output(
            self.get_modinfo_mlx4core_output())

        self.assertEqual(modinfo_dict['authors'], ['Roland Dreier'])
        self.assertEqual(modinfo_dict['license'], 'Dual BSD/GPL')
        self.assertEqual(modinfo_dict['depends'], [])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(len(modinfo_dict['aliases']), 27)
        self.assertEqual(len(modinfo_dict['parms']), 13)
        self.assertIn('num_vfs', modinfo_dict['parms'].keys())
        self.assertIn('probe_vf', modinfo_dict['parms'].keys())
Exemplo n.º 8
0
    def test_modinfo_parser_mlx4core(self):
        modinfo_dict = sysmodules.parse_modinfo_0_output(
            self.get_modinfo_mlx4core_output()
        )

        self.assertEqual(modinfo_dict['authors'], ['Roland Dreier'])
        self.assertEqual(modinfo_dict['license'], 'Dual BSD/GPL')
        self.assertEqual(modinfo_dict['depends'], [])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(len(modinfo_dict['aliases']), 27)
        self.assertEqual(len(modinfo_dict['parms']), 13)
        self.assertIn('num_vfs', modinfo_dict['parms'].keys())
        self.assertIn('probe_vf', modinfo_dict['parms'].keys())
Exemplo n.º 9
0
    def test_modinfo_parser_with_aliases_parms(self):
        modinfo_sample_output = """filename:  /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/drivers/block/loop.ko.xz\0alias=devname:loop-control\0\
alias=char-major-10-237\0alias=block-major-7-*\0license=GPL\0depends=\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0\
parm:           max_loop:Maximum number of loop devices (int)\0\
parm:           max_part:Maximum number of partitions per loop \
device (int)\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(
            modinfo_sample_output
        )

        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers'
            '/block/loop.ko.xz'
        )
        self.assertEqual(modinfo_dict['license'], 'GPL')
        self.assertEqual(modinfo_dict['depends'], [])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(
            modinfo_dict['vermagic'],
            '4.2.8-300.fc23.x86_64 SMP mod_unload'
        )
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05'
        )
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')

        self.assertEqual(
            modinfo_dict['aliases'],
            ['devname:loop-control', 'char-major-10-237', 'block-major-7-*']
        )

        self.assertEqual(
            modinfo_dict['parms'],
            {
                'max_loop': 'Maximum number of loop devices (int)',
                'max_part': 'Maximum number of partitions per loop '
                            'device (int)'
            }
        )
        self.assertEqual(modinfo_dict['features'], {})
Exemplo n.º 10
0
    def test_modinfo_parser(self):
        modinfo_sample_output = """filename: /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/net/tipc/tipc.ko.xz\0version=2.0.0\0license=Dual BSD/GPL\0\
description=TIPC: Transparent Inter Process Communication\0\
srcversion=D8C4AF100F6EA6984637AD1\0depends=udp_tunnel,ip6_udp_tunnel\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(
            modinfo_sample_output
        )

        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/net/tipc/tipc.ko.xz'
        )
        self.assertEqual(modinfo_dict['version'], '2.0.0')
        self.assertEqual(modinfo_dict['license'], 'Dual BSD/GPL')
        self.assertEqual(
            modinfo_dict['description'],
            'TIPC: Transparent Inter Process Communication'
        )
        self.assertEqual(
            modinfo_dict['srcversion'],
            'D8C4AF100F6EA6984637AD1'
        )
        self.assertEqual(
            modinfo_dict['depends'],
            ['udp_tunnel', 'ip6_udp_tunnel']
        )
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(
            modinfo_dict['vermagic'],
            '4.2.8-300.fc23.x86_64 SMP mod_unload'
        )
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05'
        )
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')

        self.assertEqual(modinfo_dict['aliases'], [])
        self.assertEqual(modinfo_dict['parms'], {})
        self.assertEqual(modinfo_dict['features'], {})
Exemplo n.º 11
0
    def test_modinfo_parser_multiple_author(self):
        modinfo_sample_output = """filename:       /lib/modules/4.2.8-300.\
fc23.x86_64/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko.xz\0\
description=PCI basic driver for rtlwifi\0license=GPL\0author=Larry \
Finger	<*****@*****.**>\0author=Realtek WlanFAE	\
<*****@*****.**>\0author=lizhaoming	<chaoming_li@realsil.\
com.cn>\0depends=mac80211,rtlwifi\0intree=Y\0vermagic=4.2.8-300.fc23.\
x86_64 SMP mod_unload \0signer=Fedora kernel signing key\0sig_key=89:\
CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(
            modinfo_sample_output
        )

        self.assertEqual(
            modinfo_dict['authors'],
            [
                'Larry Finger	<*****@*****.**>',
                'Realtek WlanFAE	<*****@*****.**>',
                'lizhaoming	<*****@*****.**>'
            ]
        )
        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers'
            '/net/wireless/rtlwifi/rtl_pci.ko.xz'
        )
        self.assertEqual(modinfo_dict['license'], 'GPL')
        self.assertEqual(modinfo_dict['depends'], ['mac80211', 'rtlwifi'])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(
            modinfo_dict['vermagic'],
            '4.2.8-300.fc23.x86_64 SMP mod_unload'
        )
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05'
        )
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')
        self.assertEqual(modinfo_dict['aliases'], [])
        self.assertEqual(modinfo_dict['parms'], {})
        self.assertEqual(modinfo_dict['features'], {})
Exemplo n.º 12
0
    def test_modinfo_parser_with_aliases_parms(self):
        modinfo_sample_output = """filename:  /lib/modules/4.2.8-300.fc23.\
x86_64/kernel/drivers/block/loop.ko.xz\0alias=devname:loop-control\0\
alias=char-major-10-237\0alias=block-major-7-*\0license=GPL\0depends=\0\
intree=Y\0vermagic=4.2.8-300.fc23.x86_64 SMP mod_unload \0\
signer=Fedora kernel signing key\0\
sig_key=89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05\0\
sig_hashalgo=sha256\0\
parm:           max_loop:Maximum number of loop devices (int)\0\
parm:           max_part:Maximum number of partitions per loop \
device (int)\0"""

        modinfo_dict = sysmodules.parse_modinfo_0_output(modinfo_sample_output)

        self.assertEqual(
            modinfo_dict['filename'],
            '/lib/modules/4.2.8-300.fc23.x86_64/kernel/drivers'
            '/block/loop.ko.xz')
        self.assertEqual(modinfo_dict['license'], 'GPL')
        self.assertEqual(modinfo_dict['depends'], [])
        self.assertEqual(modinfo_dict['intree'], 'Y')
        self.assertEqual(modinfo_dict['vermagic'],
                         '4.2.8-300.fc23.x86_64 SMP mod_unload')
        self.assertEqual(modinfo_dict['signer'], 'Fedora kernel signing key')
        self.assertEqual(
            modinfo_dict['sig_key'],
            '89:CE:AF:53:80:B1:D1:50:40:56:CB:00:AA:3C:46:34:6B:EB:2E:05')
        self.assertEqual(modinfo_dict['sig_hashalgo'], 'sha256')

        self.assertEqual(
            modinfo_dict['aliases'],
            ['devname:loop-control', 'char-major-10-237', 'block-major-7-*'])

        self.assertEqual(
            modinfo_dict['parms'], {
                'max_loop': 'Maximum number of loop devices (int)',
                'max_part': 'Maximum number of partitions per loop '
                'device (int)'
            })
        self.assertEqual(modinfo_dict['features'], {})