File: 005-cgroup_compare_wildcard_procname.cpp

package info (click to toggle)
libcgroup 3.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,840 kB
  • sloc: ansic: 15,527; python: 8,219; cpp: 5,652; sh: 5,209; yacc: 470; makefile: 419; lex: 38
file content (84 lines) | stat: -rw-r--r-- 2,014 bytes parent folder | download | duplicates (2)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* SPDX-License-Identifier: LGPL-2.1-only */
/**
 * libcgroup googletest for cgroup_compare_wildcard_procname()
 *
 * Copyright (c) 2019 Oracle and/or its affiliates.  All rights reserved.
 * Author: Tom Hromatka <tom.hromatka@oracle.com>
 */

#include "gtest/gtest.h"

#include "libcgroup-internal.h"

class ProcnameWildcardTest : public ::testing::Test {
};

TEST_F(ProcnameWildcardTest, ProcnameWildcard_NoAsterisk)
{
	char rule_procname[] = "systemd";
	char procname[] = "bash";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, false);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_AsteriskNoMatch)
{
	char rule_procname[] = "BobIsYour*";
	char procname[] = "Linda";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, false);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_AsteriskMatch)
{
	char rule_procname[] = "HelloWorl*";
	char procname[] = "HelloWorld";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, true);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_AsteriskNoMatch2)
{
	char rule_procname[] = "HelloW*";
	char procname[] = "Hello";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, false);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_AsteriskMatchExactly)
{
	char rule_procname[] = "strace*";
	char procname[] = "strace";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, true);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_NoAsteriskMatchExactly)
{
	char rule_procname[] = "systemd-cgls";
	char procname[] = "systemd-cgls";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, false);
}

TEST_F(ProcnameWildcardTest, ProcnameWildcard_AsteriskFirstChar)
{
	char rule_procname[] = "*";
	char procname[] = "tomcat";
	bool ret;

	ret = cgroup_compare_wildcard_procname(rule_procname, procname);
	ASSERT_EQ(ret, true);
}