This patchset exposes the new cgxget and cgxset interfaces via the libcgroup C APIs library. To facilitate automated testing and code coverage, python bindings are also part of this patchset. Finally, it must be noted that these patches are built on top of the cgxget/cgxset patchset [1] currently out for review.
I have created a simple example program to highlight potential usage of these new C APIs [2]. The changes to libcgroup are available here: https://github.com/drakenclimber/libcgroup/tree/issues/cgxget5-pybindings3 The changes to the libcgroup tests are available here: https://github.com/drakenclimber/libcgroup-tests/tree/issues/cgxget5-pybindings Code coverage increased to 53.5%: https://coveralls.io/builds/44100945 I added a few functional tests, and all automated tests are passing. Results are here: https://github.com/drakenclimber/libcgroup/runs/4143613675 [1] https://sourceforge.net/p/libcg/mailman/message/37317688/ [2] https://gist.github.com/drakenclimber/b3a6b4031807b31bef8ec2c98025453f Tom Hromatka (10): python: Delete old python bindings groups.h: Move cg_version_t to groups.h libcgroup.so: Export cgroup_convert_cgroup() cgxget: libcgroup.so: Add cgroup_cgxget() to library cgxset: libcgroup.so: Add cgroup_cgxset() to library libcgroup.so: Add a function to get the library version libcgroup.so: Add cgroup_get_controller_version() to groups.h python: Add python bindings using Cython github: Add a code coverage action git: tools: Ignore cgxget and cgxset .github/actions/code-coverage/action.yml | 46 ++++ .github/actions/setup-libcgroup/action.yml | 6 +- .github/workflows/continuous-integration.yml | 27 +- configure.ac | 30 +- include/Makefile.am | 4 +- include/libcgroup.h | 1 + include/libcgroup/.gitignore | 1 + include/libcgroup/groups.h | 34 +++ include/libcgroup/{init.h => init.h.in} | 19 ++ include/libcgroup/tools.h | 70 +++++ src/Makefile.am | 23 +- src/abstraction-common.h | 17 -- src/api.c | 11 + src/bindings/Makefile.am | 15 - src/bindings/libcgroup.p | 21 -- src/bindings/tests/stat.py | 35 --- src/libcgroup-internal.h | 17 -- src/libcgroup.map | 3 + src/python/.gitignore | 6 + src/python/Makefile.am | 56 ++++ src/python/cgroup.pxd | 64 +++++ src/python/libcgroup.pyx | 274 +++++++++++++++++++ src/python/setup.py | 47 ++++ src/tools/.gitignore | 2 + src/tools/cgget.c | 88 ++++-- src/tools/cgset.c | 40 +++ 26 files changed, 799 insertions(+), 158 deletions(-) create mode 100644 .github/actions/code-coverage/action.yml create mode 100644 include/libcgroup/.gitignore rename include/libcgroup/{init.h => init.h.in} (80%) create mode 100644 include/libcgroup/tools.h delete mode 100644 src/bindings/Makefile.am delete mode 100644 src/bindings/libcgroup.p delete mode 100644 src/bindings/tests/stat.py create mode 100644 src/python/.gitignore create mode 100644 src/python/Makefile.am create mode 100644 src/python/cgroup.pxd create mode 100644 src/python/libcgroup.pyx create mode 100755 src/python/setup.py -- 2.31.1 _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel