* tests: consolidate redundant, duplicated helper code
These functions currently exist in a sourced shell library, but there is
an identical copy of them in a single test file. Get rid of this
duplicate definition.
* tests: mark some tests as skipped if bc is not installed
`exit 77` is the GNU exitcode protocol for tests that cannot be run
because their prerequisites are not available. If `bc` is not installed,
and it often isn't, the test can be short-circuited instead of failing;
meson will report them in "warning yellow".
* tests: mark some tests as skipped if support is not compiled
Not all test cases can be cleanly marked as skipped -- sometimes,
multiple things are checked, and having one be unavailable should not
mean skipping all tests.
But in a couple cases, a test file only tests one thing, and that may be
skipped. In such cases, it can be semantically indicated in the test
harness report collection, that a skip occurred.
* CI: upgrade macOS runner to version 12 (Monterey)
* CI: upgrade actions/checkout to v3
* CI: remove retry logic for apt
The Linux runners on GitHub Actions already retries up to 10 times,
see:
6c93c24107/images/linux/scripts/base/apt.sh (L11-L12)
* CI: remove redundant `DEBIAN_FRONTEND=noninteractive` env
The Linux runners on GitHub Actions already sets this env variable,
see:
6c93c24107/images/linux/scripts/installers/dpkg-config.sh (L10)
* CI: remove redundant `HOMEBREW_NO_AUTO_UPDATE=1` env
The macOS runners on GitHub Actions already sets this env variable,
see:
6c93c24107/images/macos/provision/configuration/environment/bashrc (L26)
* CI: prefer shorthand flag of apt-get `--fix-missing`
* CI: install libjxl on macOS runner
* Update test suite's README.md
To disable DoS limits for JPEG loading. Adding API on a stable branch is
bad, but this fixes a regression, so I think it's necessary,
unfortunately.
See https://github.com/libvips/libvips/issues/2973
* Allow to modify/create EXIF GPS* tags
Make `tag_is_ascii` aware of the EXIF GPS* ASCII tags that are
available since libexif 0.6.23.
See: https://github.com/lovell/sharp/issues/2767
* Add tests
* remove autotools
It seems to all work. I tested with gtk-doc enabled. I probably missed a
few things argh.
* remove some old cruft
* oop, forgot m4/
* remove version check
since we no longer have a wrapper script
* CI: upgrade runner to Ubuntu 22.04
- Compile with GCC 11 and Clang 14.
- Remove redundant PPAs.
- Use system provided Meson.
- Update LeakSanitizer suppressions.
* CI: ensure `VIPS_BLOCK_UNTRUSTED` is tested
`magicksave` cannot be used for testing when building with
`-Dmodules=enabled` (default), since that would require the
loadable modules to be installed first.
* Allow to modify/create EXIF 2.3 ASCII tags
Make `tag_is_ascii` aware of the EXIF 2.3 ASCII tags that are
available since libexif 0.6.22.
See: https://github.com/kleisauke/net-vips/issues/167
* Fix CI
* quick proposal
warn on startup if untrusted operations might run
use vips_block_untrusted_set() to block untrusted operations, set an env
var or make a file to stop the warning
* mark fits, nifti and svg as untrusted
* remove the annoying "untrusted" warning message
better to warn on the download page
leave vips_block_untrusted_set() since it's obviously useful
* separate UNTRUSTED and BLOCKED
* typos
* add VIPS_BLOCK_UNTRUSTED env var
* move BLOCK_UNTRUSTED after plugin load
obviously, ooops
* add a test, disable *magick
although *magick is fuzzed, it's probably safer to disable it in
untrusted environments
* mark some more operations as untrusted
* LSan: remove GLib suppression
* LSan: disable the fast unwinder to get full stacktraces
* Move ASan/UBSan fuzzer options to CI configuration
* LSan: remove EOLed python2.7 suppression
* LSan: remove libstdc++ suppression
* LSan: add libx265 to suppression file
* Try to reproduce small memleak
* Try a possible patch
* Skip test if `im_benchmark` is not available
* CI: upgrade Clang version to 13
* CI: correct job names
* Meson: increase the timeout for tests
* README.md: correct Meson invocation
- Remove unused libgif-dev dependency from CI.
- Remove no longer relevant comment from testsuite.
- Use yes/no instead of boolean values in configure.ac.
Instead of a simple fail/don't-fail boolean switch, add fail-on, an enum which sets the sensitivity of loaders to errors.
There's a new sensitivity level which tries to detect truncated images, but ignores other types of error.
* Add jpeg restart_interval option.
This allows saving a jpeg with MCU restarts.
* Fix code style. Add description of restart_interval.
* Add a basic test based on output length.
* Update main change log.
* fic gtk-doc typenames in cgif
* fix flatten clipping
flatten could produce out of range values if max_alpha was less than
the limit of the numeric range of the format
https://github.com/libvips/libvips/issues/2431
Provides control over the maximum number of colours in the output
image palette, making the API more closely match that of pngsave.
Lowering the bitdepth to 7 (from the default value of 8), which
halves the maximum number of colours from 255 to 127, typically
reduces encoding time by ~20%.
* Simplify CI workflow
* CI: upgrade Ubuntu's Clang version to 12
* CI: upgrade macOS runner to version 11 (Big Sur)
* CI: temporarily disable the M1 runner
* CI: output test suite log upon failure
* CI: avoid brew update/upgrade steps
Since it may take a long time.
* CI: all jobs are supposed to succeed
* Fix test_descriptors.c failure after f8c2a36
Use a RANDOM image to create many crops from one source.