| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
The OSError that is being caught should only be raised by the Popen
constructor: https://docs.python.org/3/library/subprocess.html#exceptions
|
| |
|
|
|
|
|
|
|
|
|
| |
There are a number of things pylint warns on that absolutely make sense
to fix in production code, but for unittests they either don't matter
(like naming variables "foo"), can't be fixed (TestCase methods that
don't use self because they use a mock assert), or the descriptive names
violate PEP8. These are annoying and create noise, so tell pylint to
ignore them.
|
|
|
|
|
| |
This both fixes a test that failed (since stderr wasn't being set) and
simplifies the function to only have one path that uses a ternary.
|
|
|
|
| |
This even finds a bug!
|
| |
|
| |
|
|\
| |
| | |
Remove remaining uses of cmp
|
| |
| |
| |
| |
| |
| | |
This is both a performance issue (since cmp is slower than rich
comparisons), and a python3 issue since cmp (and __cmp__) are gone in
python 3.
|
| | |
|
|\ \
| | |
| | | |
Silence argparse validator test
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Technically a kilobyte (and it's derivatives like megabytes and
gigabytes) are defined as powers of 1000, while a kibibyte (and it's
derivatives like mibibytes and gibibytes) are defined as powers of 1024.
This patch fixes incorrect language and formatting in the humanize_size
function which defined a kilobyte as 1024.
See this wikipedia article for more information:
https://en.wikipedia.org/wiki/Kibibyte
|
|\
| |
| | |
argparse validators
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a new argparse.Action class validates input using a new
keyword argument that takes a validator function. This will allow us to
replace the use the type keyword as a validator, which is both more
correct, and frees up the type keyword to do what it's actually meant to
do, convert the input from one type to another.
It also adds 3 new validator functions that will be enabled in the next
commit. One that checks for a required file, one that checks for an
optional directory, and one that looks for a required file, fifo, or
block special device (/dev/null).
|
| |
| |
| |
| | |
This is just more reorganization.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
unittests for helper module.
|
| |/
| |
| |
| |
| |
| |
| | |
This doesn't implement complete coverage by any stretch, but it does
implement a number of tests for the helper module, including a few for
cases that are not handled correctly. These cases are marked as expected
failures.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently this function takes a list, splits into two lists based on
whether or not a function returns None, sorts the list that isn't None,
and then appends the list of None to the end. This creates 4 new
concrete lists on each method call, requires the use of 3 filter +
lambda pairs, and calls list.sort(). Pretty complicated and inefficient.
This patch replaces that with a single sorted() function call with a kay
function that replaces None with a value that is guaranteed to sort less
than what Message.get_date() will return, but will not cause a
comparison to None (which is an error in Python 3.x). This is all based
on iterators and avoids the need for filter or list concatenation. This
should result in only one new list being created.
|
|
|