summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.maps/exists.stp
blob: 745990f7954acf6452fa3d61dc2c7b77b1f3f401 (plain)
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
# test the "in" keyword with maps

global a, b, c

probe begin {
	for (i=0;i<11;i++)
		a[i] = i*i 	
	
	if (0 in a) printf("0 is there\n")
	if (1 in a) printf("1 is there\n")
	if (50 in a) printf("ERROR: 50 is there\n")

	printf("comlete list for a: ")
	for (i=0;i<11;i++)
		if (i in a) printf("%d ", i)
	printf("\n")

	a[0] = 0
	if (0 in a) printf("0 is still there\n")

	delete a[0]
	if (0 in a) printf("ERROR: 0 is there after delete\n")

	for (i=0;i<11;i++)
		b[i, 10*i] = i*i 	
	printf("comlete list for b: ")
	for (i=0;i<11;i++)
		if ([i,10*i] in b) printf("[%d,%d] ", i, 10*i)
	printf("\n")
	b[0,0] = 0
	if ([0,0] in b) printf("[0,0] is still there\n")

	delete b[0,0]
	if ([0,0] in b) printf("ERROR: [0,0] is there after delete\n")
	
	c[""] = "empty string"
	c["hello"] = "HELLO"
	if ([""] in c) printf ("emtpy string there\n")
	if (["hello"] in c) printf ("hello there\n")
	c[""] = ""
	if ([""] in c) printf ("emtpy string still there\n")
	delete c[""]
	if ([""] in c) printf ("ERROR: emtpy string still there after delete\n")
	exit()
}