mutter/src/tests/meta-ref-test.h
Jonas Ådahl d7ce6a47f8 tests: Add reference test framework
This adds a test framework that makes it possible to compare the result
of painting a view against a reference image. Test reference as PNG
images are stored in src/tests/ref-tests/.

Reference images needs to be created for testing to be able to succeed.
Adding a test reference image is done using the
`MUTTER_REF_TEST_UPDATE` environment variable. See meta-ref-test.c for
details.

The image comparison code is largely based on the reference image test
framework in weston; see meta-ref-test.c for details.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1698>
2021-03-12 15:09:45 +00:00

40 lines
1.3 KiB
C

/*
* Copyright (C) 2021 Red Hat Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef META_REF_TEST_H
#define META_REF_TEST_H
#include <glib.h>
#include "clutter/clutter/clutter.h"
#include "meta/boxes.h"
typedef enum _MetaReftestFlag
{
META_REFTEST_FLAG_NONE = 0,
META_REFTEST_FLAG_UPDATE_REF = 1 << 0,
} MetaReftestFlag;
void meta_ref_test_verify_view (ClutterStageView *view,
const char *test_name,
int test_seq_no,
MetaReftestFlag flags);
MetaReftestFlag meta_ref_test_determine_ref_test_flag (void);
#endif /* META_REF_TEST_H */