LCOV - code coverage report
Current view: top level - test - test-helper.c (source / functions) Hit Total Coverage
Test: main_coverage.info Lines: 10 14 71.4 %
Date: 2019-08-22 15:41:25 Functions: 1 2 50.0 %

          Line data    Source code
       1             : /* SPDX-License-Identifier: LGPL-2.1+ */
       2             : 
       3             : #include "test-helper.h"
       4             : #include "random-util.h"
       5             : #include "alloc-util.h"
       6             : #include "cgroup-util.h"
       7             : #include "string-util.h"
       8             : 
       9          13 : int enter_cgroup_subroot(void) {
      10          13 :         _cleanup_free_ char *cgroup_root = NULL, *cgroup_subroot = NULL;
      11             :         CGroupMask supported;
      12             :         int r;
      13             : 
      14          13 :         r = cg_pid_get_path(NULL, 0, &cgroup_root);
      15          13 :         if (r == -ENOMEDIUM)
      16           0 :                 return log_warning_errno(r, "cg_pid_get_path(NULL, 0, ...) failed: %m");
      17          13 :         assert(r >= 0);
      18             : 
      19          13 :         assert_se(asprintf(&cgroup_subroot, "%s/%" PRIx64, cgroup_root, random_u64()) >= 0);
      20          13 :         assert_se(cg_mask_supported(&supported) >= 0);
      21             : 
      22             :         /* If this fails, then we don't mind as the later cgroup operations will fail too, and it's fine if we handle
      23             :          * any errors at that point. */
      24             : 
      25          13 :         r = cg_create_everywhere(supported, _CGROUP_MASK_ALL, cgroup_subroot);
      26          13 :         if (r < 0)
      27          13 :                 return r;
      28             : 
      29           0 :         return cg_attach_everywhere(supported, cgroup_subroot, 0, NULL, NULL);
      30             : }
      31             : 
      32             : /* https://docs.travis-ci.com/user/environment-variables#default-environment-variables */
      33           0 : bool is_run_on_travis_ci(void) {
      34           0 :         return streq_ptr(getenv("TRAVIS"), "true");
      35             : }

Generated by: LCOV version 1.14