summaryrefslogtreecommitdiff
path: root/test/import-repeatedly.c
blob: db74f05c05195f4d5908ec4aa4054ea6f446a3aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* Regression test for https://bugs.freedesktop.org/show_bug.cgi?id=23831 */

#include <stdio.h>
#include <string.h>

#include <Python.h>

int main(void)
{
    int i;

    puts("1..1");

    for (i = 0; i < 100; ++i) {
        Py_Initialize();

        if (PyRun_SimpleString("import dbus\n") != 0) {
            puts("not ok 1 - there was an exception");
            return 1;
        }

        /* This is known not to work in Python 3.6.0a3, for reasons that
         * are not a dbus-python bug. */
        if (strcmp(Py_GetVersion(), "3.6") >= 0) {
            puts("ok 1 # SKIP - http://bugs.python.org/issue27736");
            Py_Finalize();
            return 0;
        }

        Py_Finalize();
    }

    puts("ok 1 - was able to import dbus 100 times");

    return 0;
}