Last commit made on 2024-03-18
Get this branch:
git clone -b fix-bulletted-subtest-output https://git.launchpad.net/ppa-dev-tools
Only Bryce Harrington can upload to this branch. If you are Bryce Harrington please log in for upload directions.

Branch merges

Branch information


Recent commits

170f4c8... by Bryce Harrington

job: Fix whitespace in jobs code (flake8)

6d1b7d8... by Bryce Harrington

tests: Fix whitespace in trigger tests (flake8)

7407681... by Bryce Harrington

result: Reorder to_bullet_tree()

Move it up alongside the other presentational member routines.

4b1d692... by Bryce Harrington

result: Display status line for failed subtests

Fixes: https://bugs.launchpad.net/ppa-dev-tools/+bug/2043505

5981c71... by Bryce Harrington

test_result: Add subtest cases to test_to_bullet_tree()

These tests are designed to detect LP: #2043505, reported by Mitchell

5d7cbc9... by Bryce Harrington

tests: Add test case for to_bullet_tree()

8e86403... by Bryce Harrington

tests: Expand test cases for test_to_dict()

c3d4af4... by Bryce Harrington

ppa: Catch exceptions for issues when reading config files

I'm intentionally forcing the exception object to a str in the f-string.
I've found that YAMLError's exception object can be a bit over detailed,
but the str() representation gives it in a human-readable form.

7efb233... by Bryce Harrington

ppa: Use standard error codes for exit conditions

EX_USAGE on errors in how the tool is used
EX_UNAVAILABLE for Launchpad service unavailability
EX_CANTCREAT if a new PPA can't be created in Launchpad
EX_NOTFOUND if an existing PPA isn't found in Launchpad

For user interrupt, there doesn't seem to be a standard Python error
code, but 130 seems to be a common value for Bash[0, 1], so I've added
it defined locally as EX_KEYBOARD_INTERRUPT.

0: https://tldp.org/LDP/abs/html/exitcodes.html
1: https://stackoverflow.com/questions/21120947/catching-keyboardinterrupt-in-python-during-program-shutdown

3b056c2... by Bryce Harrington

Rename exception to PpaNotFoundError

Python's standard exceptions tend to be given names ending in Error,
such as ModuleNotFoundError, FileNotFoundError, etc. The official docs
also recommend[0] that user-defined exceptions be derived from the
Exception class, rather than BaseException.

0: https://docs.python.org/3/library/exceptions.html#base-classes