Changeset 14cbf07 in mainline for uspace/app/display-cfg/test/seats.c


Ignore:
Timestamp:
2023-05-15T16:19:52Z (12 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2b5628c, 8a4ceaa
Parents:
aace43d8
Message:

Fill in tests seats_list_populate and avail_devices_insert

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/display-cfg/test/seats.c

    raace43d8 r14cbf07  
    3232#include <errno.h>
    3333#include <pcut/pcut.h>
     34#include <str.h>
    3435#include <testdc.h>
    3536#include "../display-cfg.h"
     
    8586}
    8687
    87 //??? Requires us to create a test display config service
     88/** dcfg_seats_list_populate() populates seat list */
    8889PCUT_TEST(seats_list_populate)
    8990{
     91        display_cfg_t *dcfg;
     92        dcfg_seats_t *seats;
    9093        errno_t rc;
    9194        service_id_t sid;
    92         dispcfg_t *dispcfg = NULL;
    9395        test_response_t resp;
    9496
     
    102104        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    103105
    104         rc = dispcfg_open(test_dispcfg_svc, NULL, NULL, &dispcfg);
    105         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    106         PCUT_ASSERT_NOT_NULL(dispcfg);
    107 
    108         dispcfg_close(dispcfg);
    109         rc = loc_service_unregister(sid);
    110         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     106        rc = display_cfg_create(UI_DISPLAY_NULL, &dcfg);
     107        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     108
     109        rc = display_cfg_open(dcfg, test_dispcfg_svc);
     110        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     111
     112        rc = dcfg_seats_create(dcfg, &seats);
     113        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     114
     115        /*
     116         * dcfg_seat_list_populate() calls dispcfg_get_seat_list()
     117         * and dispcfg_get_seat_info()
     118         */
     119        resp.rc = EOK;
     120        resp.get_seat_list_rlist = calloc(1, sizeof(dispcfg_seat_list_t));
     121        PCUT_ASSERT_NOT_NULL(resp.get_seat_list_rlist);
     122        resp.get_seat_list_rlist->nseats = 1;
     123        resp.get_seat_list_rlist->seats = calloc(1, sizeof(sysarg_t));
     124        PCUT_ASSERT_NOT_NULL(resp.get_seat_list_rlist->seats);
     125        resp.get_seat_list_rlist->seats[0] = 42;
     126
     127        resp.get_seat_info_rinfo = calloc(1, sizeof(dispcfg_seat_info_t));
     128        PCUT_ASSERT_NOT_NULL(resp.get_seat_info_rinfo);
     129        resp.get_seat_info_rinfo->name = str_dup("Alice");
     130        PCUT_ASSERT_NOT_NULL(resp.get_seat_info_rinfo->name);
     131
     132        rc = dcfg_seats_list_populate(seats);
     133        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     134
     135        dcfg_seats_destroy(seats);
     136        display_cfg_destroy(dcfg);
    111137}
    112138
     
    141167}
    142168
     169/** dcfg_avail_devices_insert() inserts entry into available devices list */
    143170PCUT_TEST(avail_devices_insert)
    144171{
     172        display_cfg_t *dcfg;
     173        dcfg_seats_t *seats;
     174        ui_list_entry_t *lentry;
     175        dcfg_devices_entry_t *entry;
     176        ui_select_dialog_t *dialog;
     177        ui_select_dialog_params_t sdparams;
     178        errno_t rc;
     179
     180        rc = display_cfg_create(UI_DISPLAY_NULL, &dcfg);
     181        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     182
     183        rc = dcfg_seats_create(dcfg, &seats);
     184        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     185
     186        ui_select_dialog_params_init(&sdparams);
     187        sdparams.caption = "Dialog";
     188        sdparams.prompt = "Select";
     189
     190        rc = ui_select_dialog_create(seats->dcfg->ui, &sdparams, &dialog);
     191        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     192
     193        rc = dcfg_avail_devices_insert(seats, dialog, "mydevice", 42);
     194        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     195
     196        lentry = ui_list_first(ui_select_dialog_list(dialog));
     197        PCUT_ASSERT_NOT_NULL(lentry);
     198        entry = (dcfg_devices_entry_t *)ui_list_entry_get_arg(lentry);
     199        PCUT_ASSERT_NOT_NULL(entry);
     200
     201        PCUT_ASSERT_STR_EQUALS("mydevice", entry->name);
     202        PCUT_ASSERT_INT_EQUALS(42, entry->svc_id);
     203
     204        ui_select_dialog_destroy(dialog);
     205        dcfg_seats_destroy(seats);
     206        display_cfg_destroy(dcfg);
    145207}
    146208
Note: See TracChangeset for help on using the changeset viewer.