xref: /linux-6.15/tools/perf/tests/python-use.c (revision bb963e16)
154359d33SArnaldo Carvalho de Melo /*
254359d33SArnaldo Carvalho de Melo  * Just test if we can load the python binding.
354359d33SArnaldo Carvalho de Melo  */
454359d33SArnaldo Carvalho de Melo 
554359d33SArnaldo Carvalho de Melo #include <stdio.h>
654359d33SArnaldo Carvalho de Melo #include <stdlib.h>
7721a1f53SArnaldo Carvalho de Melo #include <linux/compiler.h>
854359d33SArnaldo Carvalho de Melo #include "tests.h"
954359d33SArnaldo Carvalho de Melo 
1054359d33SArnaldo Carvalho de Melo extern int verbose;
1154359d33SArnaldo Carvalho de Melo 
12721a1f53SArnaldo Carvalho de Melo int test__python_use(int subtest __maybe_unused)
1354359d33SArnaldo Carvalho de Melo {
1454359d33SArnaldo Carvalho de Melo 	char *cmd;
1554359d33SArnaldo Carvalho de Melo 	int ret;
1654359d33SArnaldo Carvalho de Melo 
17000ae33fSNamhyung Kim 	if (asprintf(&cmd, "echo \"import sys ; sys.path.append('%s'); import perf\" | %s %s",
18*bb963e16SNamhyung Kim 		     PYTHONPATH, PYTHON, verbose > 0 ? "" : "2> /dev/null") < 0)
1954359d33SArnaldo Carvalho de Melo 		return -1;
2054359d33SArnaldo Carvalho de Melo 
2154359d33SArnaldo Carvalho de Melo 	ret = system(cmd) ? -1 : 0;
2254359d33SArnaldo Carvalho de Melo 	free(cmd);
2354359d33SArnaldo Carvalho de Melo 	return ret;
2454359d33SArnaldo Carvalho de Melo }
25