Commit graph

68 commits

Author SHA1 Message Date
Ell
4c6b181371 app: link tests against libappfile-data
(cherry picked from commit 68b22d45ed)
2019-02-12 13:54:28 -05:00
Ell
fbf73bee70 app: remove gimp-scratch; replace with gegl-scratch
The scratch allocator has been moved to GEGL (commit
gegl@b99032d799dda3436ffa8c1cc28f8b0d34fb965d).  Remove gimp-
scratch, and replace all its uses with gegl-scratch.

(cherry picked from commit 889e2e26ee)
2019-01-06 07:39:52 -05:00
Ell
1a6281961e app: fix gimp-scratch linking in tests/ 2018-12-01 07:22:07 -05:00
Oleksii Samorukov
9ae19eb8ec tests: implement gimp_test_utils_synthesize_key_event on OSX/QUARTZ 2018-11-23 23:06:12 +01:00
Alex Samorukov
d650e9f81f add to fix test link on OSX 2018-11-23 10:45:39 +01:00
Ell
b065ff7de7 app: add source location information to the Linux GimpBacktrace backend
When libbacktrace is available, use it to retrieve source location
information in the Linux GimpBacktrace backend.

(cherry picked from commit 7cdd1ebeef)
2018-09-22 22:39:17 -04:00
Ell
617577da27 app: fix app/tests linking
Required since commit 80bf686c94.

(cherry picked from commit 7a02859d32)
2018-09-02 04:57:47 -04:00
Michael Schumacher
0a3d8ca0b2 app: Prevent parallel builds for the tests
The tests must not be run in parallel or in a different order as specified
2018-06-29 10:28:42 +00:00
Michael Natterer
4591452007 app: remove the gimp-2-6 session compatibility test
It was unreliable and a huge pain, and 2.6 is really old shit.
2018-05-20 20:02:13 +02:00
Ell
71bbd88e00 app: layer mode code shuffling
Commit 3635cf04ab moved the special
handling of bottom-layer compositing to GimpOperationLayerMode.
This required giving the op more control over the process()
function of its subclasses.  As a temporary workaround, the commit
bypassed the subclasses entirely, using "gimp:layer-mode" for all
modes.  This is the reckoning :)

Add a process() virtual function to GimpOperationLayerMode, which
its subclasses should override instead of
GeglOperationPointComposer3's process() functions.  Reinstate the
subclasses (by returning the correct op in
gimp_layer_mode_get_oepration()), and have them override this
function.

Improve the way gimp_operation_layer_mode_process() dispatches to
the actual process function, to slightly lower its overhead and
fix some thread-safety issues.

Remove the "function" field of the layer-mode info array, and have
gimp_layer_mode_get_function() return the
GimpOperationLayerMode::process() function of the corresponding
op's class (caching the result, to keep it cheap.)  This reduces
redundancy, allows us to make the ops' process() functions private,
and simplifies SSE dispatching (only used by NORMAL mode,
currently.)

Move the blend and composite functions of the non-specialized
layer modes to gimpoperationlayermode-{blend,composite}.[hc],
respectively, to improve code organization.

Move the SSE2 composite functions to a separate file, so that they
can be built as part of libapplayermodes_sse2, allowing
libapplayermodes to be built without SSE2 compiler flags.  This
allows building GIMP with SSE acceleration enabled, while running
the resulting binary on a target with no SSE accelration.

Add a "blend_function" field to the layer-mode info array, and use
it to specify the blend function for the non-specialized modes.
This replaces the separate switch() statement that we used
previously.

Remove the "affected_region" field of the layer-mode info array.
We don't need it anymore, since we can go back to using
GimpOperationLayerMode's virtual get_affected_region() function.

Last but not least, a bunch of code cleanups and consistency
adjustments.
2017-08-17 11:19:37 -04:00
Michael Natterer
e8ee5475b7 app: move all propgui files from app/widgets/ to new folder app/propgui/
We are getting more and app/widgets/ is already too large.
2017-07-03 12:29:41 +02:00
Michael Natterer
2dbf1b46b2 app: rename gimp_layer_mode_is_linear() to gimp_layer_mode_wants_linear_data() 2017-01-31 01:43:48 +01:00
Michael Natterer
dd3eec6198 app: change linking order of the sub-libs of app/operations
so layer-modes/ can use the enums in enums-types.h without failing to
link.
2017-01-17 14:28:40 +01:00
Michael Natterer
87e5d10ddb app: make tests build again 2017-01-15 18:52:43 +01:00
Michael Natterer
2ed8bd1fce app: use relative paths in tests/Makefile.am
Shorter and more readable.
2017-01-10 10:43:24 +01:00
Michael Natterer
fd070eeb25 app: start moving layer modes into their own build directories
New directories:

operations/layer-modes/
operations/layer-modes-legacy/
2017-01-09 21:58:18 +01:00
Michael Natterer
0bfa402c1a Argh, this was meant to be squashed into the previous commit... 2016-05-26 22:18:50 +02:00
Michael Natterer
97ea600623 app: s/Default/Color/ in the testing icon theme Makefile rules 2016-01-11 20:35:32 +01:00
Michael Natterer
31a15570eb app: use less weird paths for creating the test icon theme 2016-01-04 00:10:30 +01:00
Daniel Sabo
c97a529968 app: Change mypaint dependency from libmypaint-gegl to just libmypaint 2015-12-28 09:18:46 -08:00
Michael Natterer
5df4b07b04 app: fix icon theme location in tests 2015-12-22 21:27:20 +01:00
Michael Natterer
4266f86e08 app: remove tons of linker workarounds from Makefilea
either linkers got smarter or our structure got better, or this breaks
on whatever other linkers again...
2015-08-27 21:44:15 +02:00
Michael Natterer
46eef4d09d app: remove references to plug_in_icc_profile_apply_rgb() from Makefiles 2015-08-27 13:52:26 +02:00
Nils Philippsen
9171de3b80 tests: link against -lm
(see commit 4c7338c097)
2015-07-16 14:27:04 +02:00
Michael Natterer
b4f85a0022 app: link tests to Z_LIBS 2015-04-15 13:13:47 +02:00
Michael Natterer
02fd23e3b8 app: link tests against LIBMYPAINTGEGL_LIBS 2015-04-13 02:14:28 +02:00
Jehan
c4dbb34199 Fix make distcheck.
Use srcdir/abs_srcdir in Makefile.am for dealing with VPATH builds.
2014-08-16 18:59:30 +02:00
Jehan
b1fc539f6c tests: build the test icon theme for all platforms.
In particular, we were not building these for win32, which has no
symbolic link concept. So let's use $(LN_S) defined by autoconf for this
purpose, as it will copy files for platforms without ln support.
Moreover this way, we don't create one such folder for each and every
test run and fill up the tmp directory with countless directories, that
we never clean up.
On Win32, this fixes 3 tests which were failing because of the missing
icons.
2014-08-15 21:21:41 +00:00
Mukund Sivaraman
81e955ed1b build: Add HarfBuzz dependency 2014-05-03 00:27:47 +05:30
Michael Natterer
a0479e8d8b app: link the tests against lcms 2014-03-16 19:52:17 +01:00
Hartmut Kuhse
21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
Michael Henning
2df4fa2d6f tests: fix running make check with both parallel make and xvfb
Before, the xvfbs would all try to be on DISPLAY=:99, which
caused issues.
2013-05-12 19:38:59 -04:00
Michael Natterer
6c025d52bf app: make app/tests/ build again 2012-06-20 22:13:06 +02:00
Michael Natterer
2bf48b5f19 app: remove leftover operation testing junk from tests Makefile.am 2012-06-17 00:22:48 +02:00
Ville Sokk
e35427071b app: added test for gegl operations 2012-06-14 21:29:52 +03:00
Michael Natterer
b058137145 Bug 676389 - Compilation fails using clang because of -u options passed to linker
Use -Wl,-u,symbol to makes things build instead of just -u symbol.
2012-05-20 19:29:44 +02:00
Michael Natterer
91392f85e5 app: make tests build again 2012-05-19 01:27:37 +02:00
Michael Natterer
ba4034f8dc app: fix tests: must not link against libgimp 2012-05-10 22:48:37 +02:00
Martin Nordholts
d7db79c2f2 app: Make tests build
In particular: link.
2012-05-10 22:12:58 +02:00
Martin Nordholts
1adfcfaf58 app/tests: Build and initialize GEGL
2 tests left that doesn't pass, will fix
2012-05-02 22:32:41 +02:00
Michael Natterer
a9e60bf6ce app: make the tests build again 2012-05-02 17:51:03 +02:00
Martin Nordholts
cb242a484e app: Add basic GimpTileBackendTileManager unit test
Add a super basic GimpTileBackendTileManager unit test and implement
GimpTileBackendTileManager enough to make it pass. Still a lot of work
left to do, this was just to get things up and running.
2011-09-30 12:00:40 +02:00
Martin Nordholts
172c3eb935 app/tests: Add single-window mode specific tests 2011-07-20 16:36:36 +02:00
Martin Nordholts
f55f26c9b8 app/tests: Add single-window mode session files test
Rename and copy some session files and add a single-window mode
session files test.
2011-06-14 23:34:12 +02:00
Martin Nordholts
87e69d2312 app/tests: Add test for GIMP 2.8 multi window session files
Move code in test-session-management.c to a common place so we can
have several variants of session management tests. We can't easily run
all session management tests in a single process, because some parts
of Gimp (the GObject) initialization eeks if done twice in the same
process.

Rename test-session-management.c to test-session-2-6-compatibility.c
and create a new test for GIMP 2.8 multi-window mode session files,
namely test-session-2-8-compatibility-multi-window.c. Copy and rename
sessionrc files accordingly.
2011-05-18 21:30:04 +02:00
Martin Nordholts
9fefa22efe app: Add GimpIdTable utility class
Not written in Vala... ;)
2011-05-04 22:54:35 +02:00
Martin Nordholts
a5204631f3 app/tests: Use plug-ins from build dir, in particular file-png
Use a selected set of plug-ins from the build dir rather than the
install dir. In particular 'file-png' for the
'/gimp-save-and-export/imported_file_uris' test. We might need to use
other plug-ins from the build dir as well later, but for the ones from
'plug-ins/common' is enough.
2011-04-08 08:50:59 +02:00
Martin Nordholts
3e0d0b862a app/tests: Add test-save-and-export
Add some regression tests for how the URIs associated with an image is
handled during, save, import etc.
2011-02-02 22:32:30 +01:00
Martin Nordholts
cba98e1bc0 app/tests: Run tests on an Xvfb X server if available
Add a configure check for xvfb-run and run tests with that if
available. This makes it possible to easily run UI tests in headless
environments such as a server that does nightly builds; one just needs
to make sure xvfb-run is available.
2010-10-31 08:22:05 +01:00
Martin Nordholts
fc8ab634a8 app/tests: Add '/gimp-tools/crop_tool_can_crop' test
Begin adding a new set of tests meant to test tools. The first test is
a regression test for "Bug 315255 - SIGSEGV, while doing a crop".
2010-10-26 14:23:09 +02:00