def test_buildozer_help(self): """ Makes sure the help gets display with no error, refs: https://github.com/kivy/buildozer/issues/813 """ buildozer = Buildozer() with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: buildozer.usage() assert 'Usage:' in mock_stdout.getvalue()
def test_run_command_unknown(self): """ Makes sure the unknown command/target is handled gracefully, refs: https://github.com/kivy/buildozer/issues/812 """ buildozer = Buildozer() command = 'foobar' args = [command, 'debug'] with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: with self.assertRaises(SystemExit): buildozer.run_command(args) assert mock_stdout.getvalue() == 'Unknown command/target {}\n'.format(command)
def test_log_print(self): """ Checks logger prints different info depending on log level. """ # sets log level to 1 in the spec file self.set_specfile_log_level(self.specfile.name, 1) buildozer = Buildozer(self.specfile.name) assert buildozer.log_level == 1 # at this level, debug messages shouldn't not be printed with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: buildozer.debug('debug message') buildozer.info('info message') buildozer.error('error message') # using `in` keyword rather than `==` because of bash color prefix/suffix assert 'debug message' not in mock_stdout.getvalue() assert 'info message' in mock_stdout.getvalue() assert 'error message' in mock_stdout.getvalue() # sets log level to 2 in the spec file self.set_specfile_log_level(self.specfile.name, 2) buildozer = Buildozer(self.specfile.name) assert buildozer.log_level == 2 # at this level all message types should be printed with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: buildozer.debug('debug message') buildozer.info('info message') buildozer.error('error message') assert 'debug message' in mock_stdout.getvalue() assert 'info message' in mock_stdout.getvalue() assert 'error message' in mock_stdout.getvalue()
def test_buildozer_read_spec(self): """ Initializes Buildozer object from existing spec file. """ buildozer = Buildozer(filename=self.default_specfile_path()) assert os.path.exists(buildozer.specfilename) is True
def test_p4a_best_ndk_version_default_value(self): self.set_specfile_log_level(self.specfile.name, 1) buildozer = Buildozer(self.specfile.name, 'android') assert buildozer.target.p4a_best_ndk_version is None