1611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner#include <stdlib.h>
2611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner#include <stdio.h>
3611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner#include "lib_static_init.h"
4611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
5611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' TurnerFoo  theFoo2;
6611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
7611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turnerint  main(int  argc, char**  argv)
8611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner{
9611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    int  c = theFoo.getValue();
10611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
11611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    /* check the counter on the library object
12611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner     * it must have been called first, and only once
13611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner     */
14611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    if (c != 1) {
15611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner        printf("KO (counter(shared) == %d, expected 1)\n", c);
16611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner        return 1;
17611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    }
18611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
19611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    /* check the counter on the executable object,
20611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner     * it must have been called second, and only once
21611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner     */
22611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    c = theFoo2.getValue();
23611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    if (c != 2) {
24611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner        printf("KO (counter(executable) == %d, expected 2)\n", c);
25611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner        return 1;
26611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    }
27611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
28611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    printf("OK\n");
29611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    return 0;
30611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner}
31