Ignore:
Timestamp:
2020-07-05T20:46:27Z (4 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Parents:
a73aaec1
git-author:
Matthieu Riolo <matthieu.riolo@…> (2020-07-05 20:37:10)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2020-07-05 20:46:27)
Message:

removing adt/array and replace it with adt/list in sysman

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/sysman/test/job_closure.c

    ra73aaec1 r81c4e6ec  
    4040PCUT_TEST_SUITE(job_closure);
    4141
    42 static array_t exp_closure;
    43 static array_t act_closure;
     42static list_t exp_closure;
     43static list_t act_closure;
    4444
    4545static bool same_job(job_t *expected, job_t *actual)
     
    4949}
    5050
    51 static bool same_jobs(array_t *expected, array_t *actual)
    52 {
    53         if (expected->size != actual->size) {
     51static bool same_jobs(list_t *expected, list_t *actual)
     52{
     53        if (list_count(expected) != list_count(actual)) {
    5454                printf("%s: |expected|, |actual| = %zu, %zu\n",
    55                     __func__, expected->size, actual->size);
     55                    __func__, list_count(expected), list_count(actual));
    5656                return false;
    5757        }
    5858
    5959        /* Verify expected \subseteq actual (we've compared sizes) */
    60         array_foreach(*expected, job_t *, it_exp) {
     60        list_foreach(*expected, link, job_link_t, it_exp) {
    6161                bool found = false;
    62                 array_foreach(*actual, job_t *, it_act) {
    63                         if (same_job(*it_exp, *it_act)) {
     62                list_foreach(*actual, link, job_link_t, it_act) {
     63                        if (same_job(it_exp->job, it_act->job)) {
    6464                                found = true;
    6565                                break;
     
    6868                if (!found) {
    6969                        printf("%s: expected job for %s\n",
    70                             __func__, unit_name((*it_exp)->unit));
     70                            __func__, unit_name(it_exp->job->unit));
    7171                        return false;
    7272                }
     
    7979{
    8080        bool found = false;
    81         array_foreach(blocking_job->blocked_jobs, job_t *, it) {
    82                 if (*it == blocked_job) {
     81        list_foreach(blocking_job->blocked_jobs, link, job_link_t, it) {
     82                if (it->job == blocked_job) {
    8383                        found = true;
    8484                        break;
     
    9494}
    9595
    96 static void dummy_add_closure(array_t *closure)
    97 {
    98         array_foreach(*closure, job_t *, it) {
    99                 (*it)->unit->job = *it;
    100         }
    101 }
    102 
    103 static void destroy_job_closure(array_t *closure)
    104 {
    105         array_foreach(*closure, job_t *, it) {
    106                 job_del_ref(&(*it));
     96static void dummy_add_closure(list_t *closure)
     97{
     98        list_foreach(*closure, link, job_link_t, it) {
     99                it->job->unit->job = it->job;
     100        }
     101}
     102
     103static void destroy_job_closure(list_t *closure)
     104{
     105        list_foreach(*closure, link, job_link_t, it) {
     106                job_del_ref(&it->job);
    107107        }
    108108}
     
    113113        mock_set_units_state(STATE_STOPPED);
    114114
    115         array_initialize(&exp_closure, job_t *);
    116         errno_t rc = array_reserve(&exp_closure, MAX_TYPES * MAX_UNITS);
    117         assert(rc == EOK);
    118 
    119         array_initialize(&act_closure, job_t *);
    120         rc = array_reserve(&act_closure, MAX_TYPES * MAX_UNITS);
    121         assert(rc == EOK);
     115        list_initialize(&exp_closure);
     116        list_initialize(&act_closure);
    122117
    123118        repo_init();
     
    127122{
    128123        destroy_job_closure(&act_closure);
    129         array_destroy(&act_closure);
     124        while (!list_empty(&act_closure)) {
     125                job_link_t *job_link = list_pop(&act_closure, job_link_t, link);
     126                free(job_link);
     127        }
    130128
    131129        destroy_job_closure(&exp_closure);
    132         array_destroy(&exp_closure);
     130        while (!list_empty(&exp_closure)) {
     131                job_link_t *job_link = list_pop(&exp_closure, job_link_t, link);
     132                free(job_link);
     133        }
    133134
    134135        mock_destroy_units();
     
    156157        PCUT_ASSERT_INT_EQUALS(EOK, rc);
    157158
    158         array_append(&exp_closure, job_t *, dummy_job(u1, STATE_STARTED));
    159         array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
    160         array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
     159        job_link_t *job_link = calloc(1, sizeof(job_link_t));
     160        PCUT_ASSERT_NOT_NULL(job_link);
     161        job_link->job = dummy_job(u1, STATE_STARTED);
     162
     163        list_append(&job_link->link, &exp_closure);
     164
     165        job_link = calloc(1, sizeof(job_link_t));
     166        PCUT_ASSERT_NOT_NULL(job_link);
     167        job_link->job = dummy_job(u2, STATE_STARTED);
     168
     169        list_append(&job_link->link, &exp_closure);
     170
     171        job_link = calloc(1, sizeof(job_link_t));
     172        PCUT_ASSERT_NOT_NULL(job_link);
     173        job_link->job = dummy_job(u3, STATE_STARTED);
     174
     175        list_append(&job_link->link, &exp_closure);
    161176
    162177        dummy_add_closure(&act_closure);
     
    188203        PCUT_ASSERT_INT_EQUALS(EOK, rc);
    189204
    190         array_append(&exp_closure, job_t *, dummy_job(u1, STATE_STARTED));
    191         array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
    192         array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
     205        job_link_t *job_link = calloc(1, sizeof(job_link_t));
     206        PCUT_ASSERT_NOT_NULL(job_link);
     207        job_link->job = dummy_job(u1, STATE_STARTED);
     208
     209        list_append(&job_link->link, &exp_closure);
     210
     211        job_link = calloc(1, sizeof(job_link_t));
     212        PCUT_ASSERT_NOT_NULL(job_link);
     213        job_link->job = dummy_job(u2, STATE_STARTED);
     214
     215        list_append(&job_link->link, &exp_closure);
     216
     217        job_link = calloc(1, sizeof(job_link_t));
     218        PCUT_ASSERT_NOT_NULL(job_link);
     219        job_link->job = dummy_job(u3, STATE_STARTED);
     220
     221        list_append(&job_link->link, &exp_closure);
    193222
    194223        dummy_add_closure(&act_closure);
     
    222251        PCUT_ASSERT_INT_EQUALS(EOK, rc);
    223252
    224         array_append(&exp_closure, job_t *, dummy_job(u1, STATE_STARTED));
    225         array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
    226         array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
     253        job_link_t *job_link = calloc(1, sizeof(job_link_t));
     254        PCUT_ASSERT_NOT_NULL(job_link);
     255        job_link->job = dummy_job(u1, STATE_STARTED);
     256
     257        list_append(&job_link->link, &exp_closure);
     258
     259        job_link = calloc(1, sizeof(job_link_t));
     260        PCUT_ASSERT_NOT_NULL(job_link);
     261        job_link->job = dummy_job(u2, STATE_STARTED);
     262
     263        list_append(&job_link->link, &exp_closure);
     264
     265        job_link = calloc(1, sizeof(job_link_t));
     266        PCUT_ASSERT_NOT_NULL(job_link);
     267        job_link->job = dummy_job(u3, STATE_STARTED);
     268
     269        list_append(&job_link->link, &exp_closure);
    227270
    228271        dummy_add_closure(&act_closure);
     
    270313        PCUT_ASSERT_INT_EQUALS(EOK, rc);
    271314
    272         array_append(&exp_closure, job_t *, dummy_job(u0, STATE_STOPPED));
    273         array_append(&exp_closure, job_t *, dummy_job(u1, STATE_STARTED));
    274         array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
    275         array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STOPPED));
    276         array_append(&exp_closure, job_t *, dummy_job(u4, STATE_STOPPED));
    277         array_append(&exp_closure, job_t *, dummy_job(u5, STATE_STOPPED));
    278         array_append(&exp_closure, job_t *, dummy_job(u6, STATE_STOPPED));
     315        job_link_t *job_link = calloc(1, sizeof(job_link_t));
     316        PCUT_ASSERT_NOT_NULL(job_link);
     317        job_link->job = dummy_job(u0, STATE_STOPPED);
     318
     319        list_append(&job_link->link, &exp_closure);
     320
     321        job_link = calloc(1, sizeof(job_link_t));
     322        PCUT_ASSERT_NOT_NULL(job_link);
     323        job_link->job = dummy_job(u1, STATE_STARTED);
     324
     325        list_append(&job_link->link, &exp_closure);
     326
     327        job_link = calloc(1, sizeof(job_link_t));
     328        PCUT_ASSERT_NOT_NULL(job_link);
     329        job_link->job = dummy_job(u2, STATE_STARTED);
     330
     331        list_append(&job_link->link, &exp_closure);
     332
     333        job_link = calloc(1, sizeof(job_link_t));
     334        PCUT_ASSERT_NOT_NULL(job_link);
     335        job_link->job = dummy_job(u3, STATE_STOPPED);
     336
     337        list_append(&job_link->link, &exp_closure);
     338
     339        job_link = calloc(1, sizeof(job_link_t));
     340        PCUT_ASSERT_NOT_NULL(job_link);
     341        job_link->job = dummy_job(u4, STATE_STOPPED);
     342
     343        list_append(&job_link->link, &exp_closure);
     344
     345        job_link = calloc(1, sizeof(job_link_t));
     346        PCUT_ASSERT_NOT_NULL(job_link);
     347        job_link->job = dummy_job(u5, STATE_STOPPED);
     348
     349        list_append(&job_link->link, &exp_closure);
     350
     351        job_link = calloc(1, sizeof(job_link_t));
     352        PCUT_ASSERT_NOT_NULL(job_link);
     353        job_link->job = dummy_job(u6, STATE_STOPPED);
     354
     355        list_append(&job_link->link, &exp_closure);
    279356
    280357        dummy_add_closure(&act_closure);
Note: See TracChangeset for help on using the changeset viewer.