summaryrefslogtreecommitdiff
path: root/src/tests/kms-utils-unit-tests.c
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2021-07-19 00:01:24 +0200
committerFlorian Müllner <fmuellner@gnome.org>2021-07-19 00:03:33 +0200
commit952865a86ebb08f97263cfdbfe38b7adc20e4560 (patch)
tree1f9347628656210b03ceee4fae83beb21491d1eb /src/tests/kms-utils-unit-tests.c
parent7862f143937e43dca0513af3a24dabfb4d0db4fc (diff)
downloadmutter-master.tar.gz
Replace contents with redirect messagemaster
The default development branch is now `main`. This commit only exists on `master` to point people towards that. See https://gitlab.gnome.org/GNOME/glib/-/issues/2348 for details.
Diffstat (limited to 'src/tests/kms-utils-unit-tests.c')
-rw-r--r--src/tests/kms-utils-unit-tests.c267
1 files changed, 0 insertions, 267 deletions
diff --git a/src/tests/kms-utils-unit-tests.c b/src/tests/kms-utils-unit-tests.c
deleted file mode 100644
index 40b768b3e..000000000
--- a/src/tests/kms-utils-unit-tests.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright (C) 2021 Akihiko Odaki <akihiko.odaki@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "config.h"
-
-#include <glib.h>
-
-#include "backends/native/meta-kms-utils.h"
-#include "backends/native/meta-kms-update.h"
-
-typedef struct {
- drmModeModeInfo drm_mode;
- float expected_refresh_rate;
-} RefreshRateTestCase;
-
-static const RefreshRateTestCase refresh_rate_test_cases[] = {
- /* "cvt 640 480" */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 800,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 500,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_refresh_rate = 59.9375,
- },
-
- /* "cvt 640 480" with htotal 0 */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 0,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 500,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_refresh_rate = 0.0,
- },
-
- /* "cvt 640 480" with vtotal 0 */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 800,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 0,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_refresh_rate = 0.0,
- },
-
- /* "cvt 320 240" with doubled clock and vscan 2 */
- {
- .drm_mode = {
- .clock = 12062,
- .hdisplay = 320,
- .hsync_start = 336,
- .hsync_end = 360,
- .htotal = 400,
- .vdisplay = 240,
- .vsync_start = 243,
- .vsync_end = 247,
- .vtotal = 252,
- .vscan = 2,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_refresh_rate = 59.8313,
- },
-
- /* "cvt 15360 8640 180" */
- {
- .drm_mode = {
- .clock = 37793603,
- .hdisplay = 15360,
- .hsync_start = 16880,
- .hsync_end = 18624,
- .htotal = 21888,
- .vdisplay = 8640,
- .vsync_start = 8643,
- .vsync_end = 8648,
- .vtotal = 9593,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_refresh_rate = 179.9939,
- },
-};
-
-static void
-meta_test_kms_refresh_rate (void)
-{
- size_t index;
-
- for (index = 0; index < G_N_ELEMENTS (refresh_rate_test_cases); index++)
- {
- const RefreshRateTestCase *test_case = refresh_rate_test_cases + index;
- float refresh_rate;
-
- refresh_rate =
- meta_calculate_drm_mode_refresh_rate (&test_case->drm_mode);
- g_assert_cmpfloat_with_epsilon (refresh_rate,
- test_case->expected_refresh_rate,
- 0.0001);
- }
-}
-
-typedef struct
-{
- drmModeModeInfo drm_mode;
- int64_t expected_vblank_duration_us;
-} VblankDurationTestCase;
-
-static const VblankDurationTestCase vblank_duration_test_cases[] = {
- /* "cvt 640 480" */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 800,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 500,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_vblank_duration_us = 668,
- },
-
- /* "cvt 640 480" with htotal 0 */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 0,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 500,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_vblank_duration_us = 0,
- },
-
- /* "cvt 640 480" with vtotal 0 */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 800,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 0,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
- },
- .expected_vblank_duration_us = 0,
- },
-
- /* "cvt 640 480" with DBLSCAN */
- {
- .drm_mode = {
- .clock = 23975,
- .hdisplay = 640,
- .hsync_start = 664,
- .hsync_end = 720,
- .htotal = 800,
- .vdisplay = 480,
- .vsync_start = 483,
- .vsync_end = 487,
- .vtotal = 500,
- .vscan = 0,
- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC |
- DRM_MODE_FLAG_DBLSCAN,
- },
- .expected_vblank_duration_us = 1335,
- },
-};
-
-static void
-meta_test_kms_vblank_duration (void)
-{
- size_t index;
-
- for (index = 0; index < G_N_ELEMENTS (vblank_duration_test_cases); index++)
- {
- const VblankDurationTestCase *test_case = vblank_duration_test_cases + index;
- int64_t vblank_duration_us;
-
- vblank_duration_us =
- meta_calculate_drm_mode_vblank_duration_us (&test_case->drm_mode);
- g_assert_cmpint (vblank_duration_us,
- ==,
- test_case->expected_vblank_duration_us);
- }
-}
-
-static void
-meta_test_kms_update_fixed16 (void)
-{
- g_assert_cmpint (meta_fixed_16_from_int (12345), ==, 809041920);
- g_assert_cmpint (meta_fixed_16_to_int (809041920), ==, 12345);
- g_assert_cmpint (meta_fixed_16_from_int (-12345), ==, -809041920);
- g_assert_cmpint (meta_fixed_16_to_int (-809041920), ==, -12345);
-}
-
-static void
-init_kms_utils_tests (void)
-{
- g_test_add_func ("/backends/native/kms/refresh-rate",
- meta_test_kms_refresh_rate);
- g_test_add_func ("/backends/native/kms/vblank-duration",
- meta_test_kms_vblank_duration);
- g_test_add_func ("/backends/native/kms/update/fixed16",
- meta_test_kms_update_fixed16);
-}
-
-int
-main (int argc,
- char **argv)
-{
- g_test_init (&argc, &argv, NULL);
- init_kms_utils_tests ();
- return g_test_run ();
-}