# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import common
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.server import test
_DEFAULT_MIN_VERSION = '3.10'
class brillo_KernelVersionTest(test.test):
"""Verify that a Brillo device runs a minimum kernel version."""
version = 1
def run_once(self, host=None, min_version=_DEFAULT_MIN_VERSION):
"""Runs the test.
@param host: A host object representing the DUT.
@param min_version: Minimum kernel version required.
@raise TestError: Something went wrong while trying to execute the test.
@raise TestFail: The test failed.
"""
try:
result = host.run_output('uname -r').strip()
except error.GenericHostRunError:
raise error.TestFail('Failed to check kernel version')
if utils.compare_versions(result, min_version) < 0:
raise error.TestFail(
'Device kernel version (%s) older than required (%s)' %
(result, min_version))