Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
 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)
Пример #5
0
 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)
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
 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)
Пример #9
0
 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)
Пример #10
0
 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)
Пример #11
0
 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)
Пример #12
0
 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)
Пример #13
0
 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)
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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)
Пример #17
0
 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)
Пример #18
0
 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)
Пример #19
0
 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)
Пример #20
0
 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)
Пример #21
0
#!/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])
Пример #22
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)
Пример #23
0
 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)
Пример #24
0
 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)
Пример #25
0
 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))
Пример #26
0
 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)
Пример #27
0
 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)
Пример #28
0
 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))
Пример #29
0
 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)
Пример #30
0
 def test_default_option_values(self):
     skoolfile = 'test.skool'
     skool2ctl.main((skoolfile,))
     self._check_ctl_writer(skoolfile)