mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
bump version to 2022.02.9
add miyoo_defconfig
This commit is contained in:
183
utils/checkpackagelib/test_lib_hash.py
Normal file
183
utils/checkpackagelib/test_lib_hash.py
Normal file
@@ -0,0 +1,183 @@
|
||||
import pytest
|
||||
import checkpackagelib.test_util as util
|
||||
import checkpackagelib.lib_hash as m
|
||||
|
||||
|
||||
HashNumberOfFields = [
|
||||
('empty file',
|
||||
'any',
|
||||
'',
|
||||
[]),
|
||||
('empty line',
|
||||
'any',
|
||||
'\n',
|
||||
[]),
|
||||
('ignore whitespace',
|
||||
'any',
|
||||
'\t\n',
|
||||
[]),
|
||||
('ignore comments',
|
||||
'any',
|
||||
'# text\n',
|
||||
[]),
|
||||
('1 field',
|
||||
'any',
|
||||
'field1\n',
|
||||
[['any:1: expected three fields (url#adding-packages-hash)',
|
||||
'field1\n']]),
|
||||
('2 fields',
|
||||
'any',
|
||||
'field1 field2\n',
|
||||
[['any:1: expected three fields (url#adding-packages-hash)',
|
||||
'field1 field2\n']]),
|
||||
('4 fields',
|
||||
'any',
|
||||
'field1 field2 field3 field4\n',
|
||||
[['any:1: expected three fields (url#adding-packages-hash)',
|
||||
'field1 field2 field3 field4\n']]),
|
||||
('with 1 space',
|
||||
'any',
|
||||
'field1 field2 field3\n',
|
||||
[]),
|
||||
('many spaces',
|
||||
'any',
|
||||
' field1 field2 field3\n',
|
||||
[]),
|
||||
('tabs',
|
||||
'any',
|
||||
'field1\tfield2\tfield3\n',
|
||||
[]),
|
||||
('mix of tabs and spaces',
|
||||
'any',
|
||||
'\tfield1\t field2\t field3 \n',
|
||||
[]),
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize('testname,filename,string,expected', HashNumberOfFields)
|
||||
def test_HashNumberOfFields(testname, filename, string, expected):
|
||||
warnings = util.check_file(m.HashNumberOfFields, filename, string)
|
||||
assert warnings == expected
|
||||
|
||||
|
||||
HashType = [
|
||||
('ignore empty files',
|
||||
'any',
|
||||
'',
|
||||
[]),
|
||||
('ignore 1 field',
|
||||
'any',
|
||||
'text\n',
|
||||
[]),
|
||||
('wrong type',
|
||||
'any',
|
||||
'text text\n',
|
||||
[['any:1: unexpected type of hash (url#adding-packages-hash)',
|
||||
'text text\n']]),
|
||||
('md5 (good)',
|
||||
'any',
|
||||
'md5 12345678901234567890123456789012\n',
|
||||
[]),
|
||||
('md5 (short)',
|
||||
'any',
|
||||
'md5 123456\n',
|
||||
[['any:1: hash size does not match type (url#adding-packages-hash)',
|
||||
'md5 123456\n',
|
||||
'expected 32 hex digits']]),
|
||||
('ignore space before',
|
||||
'any',
|
||||
' md5 12345678901234567890123456789012\n',
|
||||
[]),
|
||||
('2 spaces',
|
||||
'any',
|
||||
'md5 12345678901234567890123456789012\n',
|
||||
[]),
|
||||
('ignore tabs',
|
||||
'any',
|
||||
'md5\t12345678901234567890123456789012\n',
|
||||
[]),
|
||||
('common typo',
|
||||
'any',
|
||||
'md5sum 12345678901234567890123456789012\n',
|
||||
[['any:1: unexpected type of hash (url#adding-packages-hash)',
|
||||
'md5sum 12345678901234567890123456789012\n']]),
|
||||
('md5 (too long)',
|
||||
'any',
|
||||
'md5 123456789012345678901234567890123\n',
|
||||
[['any:1: hash size does not match type (url#adding-packages-hash)',
|
||||
'md5 123456789012345678901234567890123\n',
|
||||
'expected 32 hex digits']]),
|
||||
('sha1 (good)',
|
||||
'any',
|
||||
'sha1 1234567890123456789012345678901234567890\n',
|
||||
[]),
|
||||
('sha256',
|
||||
'any',
|
||||
'sha256 1234567890123456789012345678901234567890123456789012345678901234\n',
|
||||
[]),
|
||||
('sha384',
|
||||
'any',
|
||||
'sha384 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456\n',
|
||||
[]),
|
||||
('sha512',
|
||||
'any',
|
||||
'sha512 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678'
|
||||
'9012345678\n',
|
||||
[]),
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize('testname,filename,string,expected', HashType)
|
||||
def test_HashType(testname, filename, string, expected):
|
||||
warnings = util.check_file(m.HashType, filename, string)
|
||||
assert warnings == expected
|
||||
|
||||
|
||||
HashSpaces = [
|
||||
('ignore empty files',
|
||||
'any',
|
||||
'',
|
||||
[]),
|
||||
('ignore 1 field',
|
||||
'any',
|
||||
'text\n',
|
||||
[]),
|
||||
('ignore comments',
|
||||
'any',
|
||||
'# type 1234567890123456789012345678901234567890 file\n',
|
||||
[]),
|
||||
('ignore trailing space',
|
||||
'any',
|
||||
'type 1234567890123456789012345678901234567890 file\t \n',
|
||||
[]),
|
||||
('2 spaces',
|
||||
'any',
|
||||
'type 1234567890123456789012345678901234567890 file\n',
|
||||
[]),
|
||||
('1 space',
|
||||
'any',
|
||||
'type 1234567890123456789012345678901234567890 file\n',
|
||||
[['any:1: separation does not match expectation (url#adding-packages-hash)',
|
||||
'type 1234567890123456789012345678901234567890 file\n']]),
|
||||
('3 spaces',
|
||||
'any',
|
||||
'type 1234567890123456789012345678901234567890 file\n',
|
||||
[['any:1: separation does not match expectation (url#adding-packages-hash)',
|
||||
'type 1234567890123456789012345678901234567890 file\n']]),
|
||||
('tabs',
|
||||
'any',
|
||||
'type\t1234567890123456789012345678901234567890\tfile\n',
|
||||
[['any:1: separation does not match expectation (url#adding-packages-hash)',
|
||||
'type\t1234567890123456789012345678901234567890\tfile\n']]),
|
||||
('mixed tabs and spaces',
|
||||
'any',
|
||||
'type\t 1234567890123456789012345678901234567890 \tfile\n',
|
||||
[['any:1: separation does not match expectation (url#adding-packages-hash)',
|
||||
'type\t 1234567890123456789012345678901234567890 \tfile\n']]),
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize('testname,filename,string,expected', HashSpaces)
|
||||
def test_HashSpaces(testname, filename, string, expected):
|
||||
warnings = util.check_file(m.HashSpaces, filename, string)
|
||||
assert warnings == expected
|
||||
Reference in New Issue
Block a user