def test_invalid_option_values_read_from_file(self): ini = """ [skool2ctl] Hex=? KeepLines=x """ self.write_text_file(dedent(ini).strip(), 'skoolkit.ini') skoolfile = 'test.skool' skool2ctl.main((skoolfile,)) self._check_ctl_writer(skoolfile)
def test_default_option_values(self): skoolfile = 'test.skool' skool2ctl.main((skoolfile,)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, 65536) self.assertTrue(mock_ctl_writer.write_called)
def test_default_option_values(self): skoolfile = 'test.skool' skool2ctl.main((skoolfile, )) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, 65536) self.assertTrue(mock_ctl_writer.write_called)
def test_config_read_from_file(self): ini = """ [skool2ctl] Hex=1 KeepLines=1 """ self.write_text_file(dedent(ini).strip(), 'skoolkit.ini') skoolfile = 'test.skool' skool2ctl.main((skoolfile,)) self._check_ctl_writer(skoolfile, write_hex=1, keep_lines=1)
def test_default_option_values(self): self.mock(skool2ctl, 'CtlWriter', MockCtlWriter) skoolfile = 'test.skool' skool2ctl.main((skoolfile,)) infile, elements, write_hex, write_asm_dirs, preserve_base = mock_ctl_writer.args self.assertEqual(infile, skoolfile) self.assertEqual(elements, ELEMENTS) self.assertFalse(write_hex) self.assertTrue(write_asm_dirs) self.assertFalse(preserve_base) self.assertTrue(mock_ctl_writer.write_called)
def test_option_S(self): skoolfile = 'test.skool' for option, start in (('-S', 30000), ('--start', 40000)): skool2ctl.main((option, str(start), skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertTrue(mock_ctl_writer.write_called) self.assertEqual(mock_ctl_writer.min_address, start) self.assertEqual(mock_ctl_writer.max_address, 65536)
def test_option_E(self): skoolfile = 'test.skool' for option, end in (('-E', 40000), ('--end', 50000)): skool2ctl.main((option, str(end), skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertTrue(mock_ctl_writer.write_called) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, end)
def test_option_b(self): skoolfile = 'test.skool' for option in ('-b', '--preserve-base'): skool2ctl.main((option, skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertTrue(mock_ctl_writer.preserve_base) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, 65536) self.assertTrue(mock_ctl_writer.write_called)
def test_option_b(self): self.mock(skool2ctl, 'CtlWriter', MockCtlWriter) skoolfile = 'test.skool' for option in ('-b', '--preserve-base'): skool2ctl.main((option, skoolfile)) infile, elements, write_hex, write_asm_dirs, preserve_base = mock_ctl_writer.args self.assertEqual(infile, skoolfile) self.assertEqual(elements, ELEMENTS) self.assertFalse(write_hex) self.assertTrue(write_asm_dirs) self.assertTrue(preserve_base) self.assertTrue(mock_ctl_writer.write_called)
def test_option_l(self): skoolfile = 'test.skool' for option in ('-l', '--hex-lower'): skool2ctl.main((option, skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, -1) self.assertTrue(mock_ctl_writer.write_asm_dirs) self.assertFalse(mock_ctl_writer.preserve_base) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, 65536) self.assertTrue(mock_ctl_writer.write_called)
def test_options_S_and_E(self): skoolfile = 'test.skool' start = 24576 end = 32768 skool2ctl.main(('-S', str(start), '-E', str(end), skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, ELEMENTS) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertTrue(mock_ctl_writer.write_called) self.assertEqual(mock_ctl_writer.min_address, start) self.assertEqual(mock_ctl_writer.max_address, end)
def test_option_w(self): skoolfile = 'test.skool' for w in ('a', 'b', 't', 'd', 'r', 'm', 's', 'c', 'btd', ELEMENTS): for option in ('-w', '--write'): skool2ctl.main((option, w, skoolfile)) self.assertEqual(mock_ctl_writer.skoolfile, skoolfile) self.assertEqual(mock_ctl_writer.elements, w) self.assertEqual(mock_ctl_writer.write_hex, 0) self.assertFalse(mock_ctl_writer.preserve_base) self.assertEqual(mock_ctl_writer.min_address, 0) self.assertEqual(mock_ctl_writer.max_address, 65536) self.assertTrue(mock_ctl_writer.write_called)
def test_option_w(self): self.mock(skool2ctl, 'CtlWriter', MockCtlWriter) skoolfile = 'test.skool' for w in ('b', 't', 'd', 'r', 'm', 's', 'c', 'btd', ELEMENTS): for option in ('-w', '--write'): skool2ctl.main((option, w, skoolfile)) infile, elements, write_hex, write_asm_dirs, preserve_base = mock_ctl_writer.args self.assertEqual(infile, skoolfile) self.assertEqual(elements, w) self.assertFalse(write_hex) self.assertTrue(write_asm_dirs) self.assertFalse(preserve_base) self.assertTrue(mock_ctl_writer.write_called)
def test_option_h(self): skoolfile = 'test.skool' for option in ('-h', '--hex'): skool2ctl.main((option, skoolfile)) self._check_ctl_writer(skoolfile, write_hex=2)
def test_option_l(self): skoolfile = 'test.skool' for option in ('-l', '--hex-lower'): skool2ctl.main((option, skoolfile)) self._check_ctl_writer(skoolfile, write_hex=1)
#!/usr/bin/env python3 # Copyright 2012-2013, 2017 Richard Dymond ([email protected]) # # This file is part of SkoolKit. # # SkoolKit is free software: you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation, either version 3 of the License, or (at your option) any later # version. # # SkoolKit is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # SkoolKit. If not, see <http://www.gnu.org/licenses/>. import sys from skoolkit import skool2ctl, error, SkoolKitError try: skool2ctl.main(sys.argv[1:]) except SkoolKitError as e: error(e.args[0])
def test_option_b(self): skoolfile = 'test.skool' for option in ('-b', '--preserve-base'): skool2ctl.main((option, skoolfile)) self._check_ctl_writer(skoolfile, preserve_base=1)
def test_options_S_and_E(self): skoolfile = 'test.skool' start = 24576 end = 32768 skool2ctl.main(('-S', str(start), '-E', str(end), skoolfile)) self._check_ctl_writer(skoolfile, min_address=start, max_address=end)
def test_option_S(self): skoolfile = 'test.skool' for option, start in (('-S', 30000), ('--start', 40000)): skool2ctl.main((option, str(start), skoolfile)) self._check_ctl_writer(skoolfile, min_address=start)
def test_option_S_with_hex_address(self): skoolfile = 'test.skool' for option, start in (('-S', '0x70fa'), ('--start', '0xBCDE')): skool2ctl.main((option, str(start), skoolfile)) self._check_ctl_writer(skoolfile, min_address=int(start[2:], 16))
def test_option_E(self): skoolfile = 'test.skool' for option, end in (('-E', 40000), ('--end', 50000)): skool2ctl.main((option, str(end), skoolfile)) self._check_ctl_writer(skoolfile, max_address=end)
def test_option_k(self): skoolfile = 'test.skool' for option in ('-k', '--keep-lines'): skool2ctl.main((option, skoolfile)) self._check_ctl_writer(skoolfile, keep_lines=1)
def test_option_E_with_hex_address(self): skoolfile = 'test.skool' for option, end in (('-E', '0x6ff0'), ('--end', '0x9ABC')): skool2ctl.main((option, str(end), skoolfile)) self._check_ctl_writer(skoolfile, max_address=int(end[2:], 16))
def test_option_w(self): skoolfile = 'test.skool' for w in ('a', 'b', 't', 'd', 'r', 'm', 's', 'c', 'btd', ELEMENTS): for option in ('-w', '--write'): skool2ctl.main((option, w, skoolfile)) self._check_ctl_writer(skoolfile, elements=w)
def test_default_option_values(self): skoolfile = 'test.skool' skool2ctl.main((skoolfile,)) self._check_ctl_writer(skoolfile)