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