Best Python code snippet using autotest_python
kernel_versions.py
Source:kernel_versions.py
...35 for n in range(0, len(bits), 2):36 if len(bits[n]) == 1:37 bits[n] = '0' + bits[n]38 return ''.join(bits)39def version_limit(version, n):40 bits = encode_sep.split(version)41 return ''.join(bits[0:n])42def version_len(version):43 return len(encode_sep.split(version))44#45# Given a list of versions find the nearest version which is deemed46# less than or equal to the target. Versions are in linux order47# as follows:48#49# 2.6.0 -> 2.6.1 -> 2.6.2-rc1 -> 2.6.2-rc2 -> 2.6.2 -> 2.6.3-rc150# | |\51# | | 2.6.2-rc1-mm1 -> 2.6.2-rc1-mm252# | \53# | 2.6.2-rc1-ac1 -> 2.6.2-rc1-ac254# \55# 2.6.1-mm1 -> 2.6.1-mm256#57# Note that a 2.6.1-mm1 is not a predecessor of 2.6.2-rc1-mm1.58#59def version_choose_config(version, candidates):60 # Check if we have an exact match ... if so magic61 if version in candidates:62 return version63 # Sort the search key into the list ordered by 'age'64 deco = [ (version_encode(v), i, v) for i, v in65 enumerate(candidates + [ version ]) ]66 deco.sort()67 versions = [ v for _, _, v in deco ]68 # Everything sorted below us is of interst.69 for n in range(len(versions) - 1, -1, -1):70 if versions[n] == version:71 break72 n -= 173 # Try ever shorter 'prefixes' 2.6.20-rc3-mm, 2.6.20-rc, 2.6. etc74 # to match against the ordered list newest to oldest.75 length = version_len(version) - 176 version = version_limit(version, length)77 while length > 1:78 for o in range(n, -1, -1):79 if version_len(versions[o]) == (length + 1) and \80 version_limit(versions[o], length) == version:81 return versions[o]82 length -= 283 version = version_limit(version, length)84 return None85def is_released_kernel(version):86 # True if version name suggests a released kernel,87 # not some release candidate or experimental kernel name88 # e.g. 2.6.18-smp-200.0 includes no other text, underscores, etc89 version = version.strip('01234567890.-')90 return version in ['', 'smp', 'smpx', 'pae']91def is_release_candidate(version):92 # True if version names a released kernel or release candidate,93 # not some experimental name containing arbitrary text94 # e.g. 2.6.18-smp-220.0_rc3 but not 2.6.18_patched95 version = re.sub(r'[_-]rc\d+', '', version)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!