1 /* Simple program that repeatedly calls Py_Initialize(), does something, and
2    then calls Py_Finalize().  This should help finding leaks related to
3    initialization. */
4 
5 #include "Python.h"
6 
main(int argc,char ** argv)7 main(int argc, char **argv)
8 {
9     int count = -1;
10     char *command;
11 
12     if (argc < 2 || argc > 3) {
13         fprintf(stderr, "usage: loop <python-command> [count]\n");
14         exit(2);
15     }
16     command = argv[1];
17 
18     if (argc == 3) {
19         count = atoi(argv[2]);
20     }
21 
22     Py_SetProgramName(argv[0]);
23 
24     /* uncomment this if you don't want to load site.py */
25     /* Py_NoSiteFlag = 1; */
26 
27     while (count == -1 || --count >= 0 ) {
28         Py_Initialize();
29         PyRun_SimpleString(command);
30         Py_Finalize();
31     }
32     return 0;
33 }
34