blob: e2aef4e1a6b6691fdcf1c3696a885eeb140cb7a4 [file] [log] [blame]
#!/usr/bin/python
#
# Copyright (c) 2010 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
__author__ = 'kdlucas@chromium.org (Kelly Lucas)'
import logging, os
from autotest_lib.client.bin import test, utils
from autotest_lib.client.common_lib import error
class platform_TempFS(test.test):
"""
Test temp file systems.
"""
version = 1
def run_once(self):
errors = 0
# The minimum available space we expect on temp filesystems.
# TempFS allows 1/2 of Total Memory for each temp fs. Our threshold
# allows for 50% usage of space allocated before this test is run.
threshold = utils.memtotal()/4
tempdirs = ['/dev', '/tmp', '/dev/shm', '/var/tmp', '/var/run',
'/var/lock']
for dir in tempdirs:
if os.path.isdir(dir):
# utils.freespace is in bytes, so convert to kb.
avail = utils.freespace(dir)/1024
if avail < threshold:
logging.error('Not enough available space on %s', dir)
logging.error('%d bytes is minimum, found %d bytes',
(threshold, avail))
errors += 1
else:
logging.error('%s does not exist!' % dir)
errors += 1
if errors:
raise error.TestFail('There were %d temp directory errors' % errors)