xref: /aosp_15_r20/tools/asuite/atest/device_update_unittest.py (revision c2e18aaa1096c836b086f94603d04f4eb9cf37f5)
1*c2e18aaaSAndroid Build Coastguard Worker# Copyright 2023, The Android Open Source Project
2*c2e18aaaSAndroid Build Coastguard Worker#
3*c2e18aaaSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*c2e18aaaSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*c2e18aaaSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*c2e18aaaSAndroid Build Coastguard Worker#
7*c2e18aaaSAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*c2e18aaaSAndroid Build Coastguard Worker#
9*c2e18aaaSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*c2e18aaaSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*c2e18aaaSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*c2e18aaaSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*c2e18aaaSAndroid Build Coastguard Worker# limitations under the License.
14*c2e18aaaSAndroid Build Coastguard Worker
15*c2e18aaaSAndroid Build Coastguard Worker"""Tests for device_update.py"""
16*c2e18aaaSAndroid Build Coastguard Worker
17*c2e18aaaSAndroid Build Coastguard Workerimport sys
18*c2e18aaaSAndroid Build Coastguard Workerimport unittest
19*c2e18aaaSAndroid Build Coastguard Worker
20*c2e18aaaSAndroid Build Coastguard Workerfrom atest import device_update
21*c2e18aaaSAndroid Build Coastguard Worker
22*c2e18aaaSAndroid Build Coastguard Worker
23*c2e18aaaSAndroid Build Coastguard Workerclass AdeviceUpdateMethodTest(unittest.TestCase):
24*c2e18aaaSAndroid Build Coastguard Worker
25*c2e18aaaSAndroid Build Coastguard Worker  @unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux')
26*c2e18aaaSAndroid Build Coastguard Worker  def test_update_succeeds(self):
27*c2e18aaaSAndroid Build Coastguard Worker    adevice = device_update.AdeviceUpdateMethod(adevice_path='/bin/true')
28*c2e18aaaSAndroid Build Coastguard Worker
29*c2e18aaaSAndroid Build Coastguard Worker    self.assertIsNone(adevice.update())
30*c2e18aaaSAndroid Build Coastguard Worker
31*c2e18aaaSAndroid Build Coastguard Worker  @unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux')
32*c2e18aaaSAndroid Build Coastguard Worker  def test_update_fails(self):
33*c2e18aaaSAndroid Build Coastguard Worker    adevice = device_update.AdeviceUpdateMethod(adevice_path='/bin/false')
34*c2e18aaaSAndroid Build Coastguard Worker
35*c2e18aaaSAndroid Build Coastguard Worker    self.assertRaises(device_update.Error, adevice.update)
36*c2e18aaaSAndroid Build Coastguard Worker
37*c2e18aaaSAndroid Build Coastguard Worker  def test_dependencies_non_empty(self):
38*c2e18aaaSAndroid Build Coastguard Worker    adevice = device_update.AdeviceUpdateMethod()
39*c2e18aaaSAndroid Build Coastguard Worker
40*c2e18aaaSAndroid Build Coastguard Worker    deps = adevice.dependencies()
41*c2e18aaaSAndroid Build Coastguard Worker
42*c2e18aaaSAndroid Build Coastguard Worker    self.assertTrue(deps)
43