/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-ctl

  • Committer: Teddy Hogeborn
  • Date: 2019-02-28 18:48:33 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 382.
  • Revision ID: teddy@recompile.se-20190228184833-nlg1xxlhnldso9ya
Make mandos-ctl use unittest instead of doctest module

* mandos-ctl: Before running main(), check if we should only run tests
              by seeing if the --check option was passed.
  (main): Don't look for the --check option.
  (should_only_run_tests): New.
  (load_tests): New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
import os
41
41
import collections
42
42
import json
 
43
import unittest
43
44
 
44
45
import dbus
45
46
 
345
346
    if options.all and not has_actions(options):
346
347
        parser.error("--all requires an action.")
347
348
 
348
 
    if options.check:
349
 
        import doctest
350
 
        fail_count, test_count = doctest.testmod()
351
 
        sys.exit(os.EX_OK if fail_count == 0 else 1)
352
 
 
353
349
    try:
354
350
        bus = dbus.SystemBus()
355
351
        mandos_dbus_objc = bus.get_object(busname, server_path)
493
489
                client.Approve(dbus.Boolean(False),
494
490
                               dbus_interface=client_interface)
495
491
 
 
492
 
 
493
def should_only_run_tests():
 
494
    parser = argparse.ArgumentParser(add_help=False)
 
495
    parser.add_argument("--check", action='store_true')
 
496
    args, unknown_args = parser.parse_known_args()
 
497
    run_tests = args.check
 
498
    if run_tests:
 
499
        # Remove --check argument from sys.argv
 
500
        sys.argv[1:] = unknown_args
 
501
    return run_tests
 
502
 
 
503
# Add all tests from doctest strings
 
504
def load_tests(loader, tests, none):
 
505
    import doctest
 
506
    tests.addTests(doctest.DocTestSuite())
 
507
    return tests
496
508
 
497
509
if __name__ == "__main__":
498
 
    main()
 
510
    if should_only_run_tests():
 
511
        # Call using ./tdd-python-script --check [--verbose]
 
512
        unittest.main()
 
513
    else:
 
514
        main()