Falderal

Latest version: v0.14

Safety actively analyzes 623315 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.92014.0525

* Shell implementations assume input and output is encoded UTF-8; any
malformed UTF-8 is simply ignored (for better or worse, for now.)
Falderal documents are assumed to be encoded in UTF-8; this includes
test bodies, expectations, etc. Internally, in the reference
implementation, all strings are stored as Unicode.

0.92014.0427

* For a test of a shell command implementation that expects a failure,
if no output was found on standard error, the output of standard output
is checked against the failure expectation instead. The primary use case
for this is Hugs, which (unlike `ghc`) displays error messages on stdout
rather than stderr. "Municipal Pier 2" was the original name of Navy Pier.

0.14

* Add a pragma "Functionality ... is implemented by
shell command ... but only if shell command ... succeeds".
If the second shell command given in the pragma cannot be
run or exits with a non-zero exit code, the implementation
given by the first shell command is not registered for the given
functionality. (If no tests at all are run, it is an error.)
* `falderal`'s own test suite, `test.sh`, tests running `falderal`
under Python 2 if it is available, and under Python 3 if it is
available. If neither is available, it aborts. A particular
implementation of Python can also be supplied in the `PYTHON`
environment variable. Note however that Python 3 is still
required to be installed when running the tests (to run the
helper scripts.)
* The `falderal` command and the helper utilities (such as
`fa-under-pty`) run under `python3` by default now.
* Some internal unit tests for `falderal` were accidentally
deactivated in some previous version; they are now restored.
* `py-falderal` is now generally referred to as `falderal`.
* Specification edited for clarity and license text simplified.

0.13

* Use `ArgumentParser` instead of `OptionParser` internally.
* `--substring-error` is now the default behaviour, and if this
option is given, it will be ignored. After a long time
considering the problem, we finally determined that it does
not make sense to insist that different implementations
produce the exact same error message.
* `--verbose` option now prints out commands for each test as it
is run.
* Added conventional `--version` option.
* Planned to be the last 0.x series release before 1.0.
* Added `setup.py` so that Falderal can be treated as a Python
package.

0.12

* When expanding variables in declaration strings, use
`string.replace` instead of `re.sub` so that backslash-escaping
is not perfomed on the replacement string. (Thanks to
James Holderness for bug report and patch.)
* In "freestyle" format, lines beginning with `<= `, `<== `, or
`<=== ` can supply a section of test input text (Thanks to
James Holderness for feature suggestion and patch.)
* Falderal is now responsible for quoting all shell metacharacters
in the substituion text of `%(...)` variables when command line
templates are expanded, so that no quotes need be placed around
the variable in the template. (Again, thanks to James Holderness
for spotting the bug in the code that led to this improvement.)
* `py-falderal` can now run under both Python 2 and Python 3
(tested with 2.7, 3.4, and 3.5.)
* The doctests that were previously distributed throughout the
source code have been converted to a suite of unit tests in
the `falderal.tests` module. The `-t` command-line option has
been removed; to run internal tests, run this module instead.

0.11

* Renamed the internal tests to have descriptive names instead of
numbers.
* The first command-line argument being `test` for compatibility with
previous versions of `falderal` has been removed.
* Massive internal refactor of block-parsing and test-extraction code.
* Supports a new format for test blocks, called "freestyle", where if
the last few lines of a block are prefixed with `=> ` or `==> ` or
`===> ` or `?> ` or `??> ` or `???> `, the preceding part of the
block needs no prefixes at all, and it is simply treated as one
verbatim test body.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.