| import subprocess |
| import unittest |
| from unittest.mock import MagicMock |
| from steps import build_image |
| import inspect |
| |
| class TestBuildImage(unittest.TestCase): |
| def setUp(self): |
| self.step = build_image.BuildImage() |
| self.step.export_machine = MagicMock(return_value="") |
| self.step.source_setup = MagicMock(return_value="") |
| self.step.umask = MagicMock(return_value="") |
| self.step.export_gbmc_config = MagicMock(return_value="") |
| self.step.export_gbmc_version = MagicMock(return_value="") |
| self.step.export_bb_env_extrawhite = MagicMock(return_value="") |
| self.step.bitbake = MagicMock(return_value="") |
| subprocess.run = MagicMock() |
| |
| self.step.run_script() |
| |
| def test_export_machine(self): |
| """Tests that export_machine method is called""" |
| self.step.export_machine.assert_called_with() |
| |
| def test_source_setup(self): |
| """Tests that source_setup method is called""" |
| self.step.source_setup.assert_called_with() |
| |
| def test_umask(self): |
| """Tests that umask method i called""" |
| self.step.umask.assert_called_with() |
| |
| def test_export_gbmc_config(self): |
| """Tests that export_gbmc_config is called""" |
| self.step.export_gbmc_config.assert_called_with() |
| |
| def test_export_gbmc_version(self): |
| """Tests that export_gbmc_version is called""" |
| self.step.export_gbmc_version.assert_called_with() |
| |
| def test_export_bb_env_extrawhite(self): |
| """Tests that export_bb_env_extrawhite is called""" |
| self.step.export_bb_env_extrawhite.assert_called_with() |
| |
| def test_bitbake(self): |
| """Tests that bitbake method is called""" |
| self.step.bitbake.assert_called_with() |
| |
| def test_subprocess_run(self): |
| """Tests subprocess's arguments, tests the order in which all the previous |
| tests are called |
| """ |
| self.step = build_image.BuildImage() |
| self.step.firmware_machine = "machine0" |
| self.step.firmware_version = "x.y.z" |
| self.step.gbmc_config = "test" |
| subprocess.run = MagicMock() |
| |
| self.step.run_script() |
| |
| command = "export MACHINE=machine0 " \ |
| "&& source setup machine0 " \ |
| "&& umask 002 " \ |
| "&& export GBMC_CONFIG=test " \ |
| "&& export GBMC_VERSION=x.y.z " \ |
| "&& export BB_ENV_EXTRAWHITE=${BB_ENV_EXTRAWHITE} GBMC_CONFIG GBMC_VERSION " \ |
| "&& bitbake -k obmc-phosphor-image" |
| |
| subprocess.run.assert_called_with(["bash", "-c", command]) |