Merge tag 'v3.14.25' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / staging / ktap / test / pairs.kp
1 #!/usr/bin/env ktap
2
3 function failed() {
4         printf("failed\n");
5         exit(-1);
6 }
7
8 #-----------------------------------------#
9
10 t = {}
11 t[1] = 101
12 t[2] = 102
13 t[3] = 103
14 t["key_1"] = "value_1"
15 t["key_2"] = "value_2"
16 t["key_3"] = "value_3"
17
18 local n = 0
19
20 for (k, v in pairs(t)) {
21         n = n + 1
22
23         if (k == 1 && v != 101) {
24                 failed()
25         }
26         if (k == 2 && v != 102) {
27                 failed()
28         }
29         if (k == 3 && v != 103) {
30                 failed()
31         }
32         if (k == "key_1" && v != "value_1") {
33                 failed()
34         }
35         if (k == "key_2" && v != "value_2") {
36                 failed()
37         }
38         if (k == "key_3" && v != "value_3") {
39                 failed()
40         }
41 }
42
43 if (n != len(t)) {
44         failed()
45 }
46
47
48 #-------------------------------------------------#
49
50 s = {}
51 s[1] = 12
52 s[2] = 2
53 s[3] = 3
54 s["124"] = 100
55 s["125"] = -1
56
57 ordered = {}
58
59 number = 0
60
61 function cmp(v1, v2) {
62         return (v1 > v2)
63 }
64
65 for (k, v in sort_pairs(s, cmp)) {
66         number += 1
67         ordered[number] = v
68 }
69
70 if (ordered[1] != 100) {
71         failed()
72 }
73 if (ordered[2] != 12) {
74         failed()
75 }
76 if (ordered[3] != 3) {
77         failed()
78 }
79 if (ordered[4] != 2) {
80         failed()
81 }
82 if (ordered[5] != -1) {
83         failed()
84 }