blob: 7872fb05ed59f1ec281b163687cb631260078d18 [file] [log] [blame]
#!/usr/bin/env python2
# 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.
"""Tests for temporary files module dut.temp."""
import unittest
import mock
import factory_common # pylint: disable=unused-import
from cros.factory.device import device_utils
from cros.factory.device import temp as temp_module
class TemporaryFilesTest(unittest.TestCase):
def setUp(self):
self.dut = device_utils.CreateDUTInterface()
self.temp = temp_module.TemporaryFiles(self.dut)
self.android_temp = temp_module.AndroidTemporaryFiles(self.dut)
def testMkfile(self):
template = 'cftmp.XXXXXX'
result = '/tmp/abcdef'
temp = self.temp
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False))
self.dut.CheckOutput.assert_called_with(['mktemp', '--tmpdir', template])
# test is_dir
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(True))
self.dut.CheckOutput.assert_called_with(
['mktemp', '-d', '--tmpdir', template])
# test dir
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False, dir='/local'))
self.dut.CheckOutput.assert_called_with(
['mktemp', '--tmpdir=/local', template])
# test suffix
result = '/tmp/abcdef.ext'
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False, suffix='.ext'))
self.dut.CheckOutput.assert_called_with(
['mktemp', '--tmpdir', template + '.ext'])
# test prefix
template = 'pre.XXXXXX'
result = '/tmp/pre_abcdef'
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False, prefix='pre'))
self.dut.CheckOutput.assert_called_with(['mktemp', '--tmpdir', template])
def testAndroidTemp(self):
temp = self.android_temp
template = 'cftmp.XXXXXX'
result = '/tmp/abcdef'
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False))
self.dut.CheckOutput.assert_called_with(['mktemp', template])
# test dir
self.dut.CheckOutput = mock.MagicMock(return_value=result)
self.assertEqual(result, temp.mktemp(False, dir='/local'))
self.dut.CheckOutput.assert_called_with(
['mktemp', '-p', '/local', template])
if __name__ == '__main__':
unittest.main()