@@ -2,44 +2,10 @@ open Packet
2
2
open QuickCheck
3
3
module Gen = QuickCheck_gen
4
4
5
- (* arbitrary first `b` bits set in an Int32 *)
6
- let arbitrary_uint32_bits b =
7
- Gen. choose_int32 (Int32. zero, Int32. of_int ((0x1 lsl b) - 1 ) )
5
+ open Arbitrary_Base
8
6
9
- (* arbitrary instance for uint3, using the `int32` type. *)
10
- let arbitrary_uint4 = arbitrary_uint32_bits 4
11
-
12
- (* arbitrary instance for uint8, using the `int32` type. *)
13
- let arbitrary_uint8 = arbitrary_uint32_bits 8
14
-
15
- (* arbitrary instance for uint12, using the `int32` type. *)
16
- let arbitrary_uint12 = arbitrary_uint32_bits 12
17
-
18
- (* arbitrary instance for uint16, using the `int32` type. *)
19
- let arbitrary_uint16 = arbitrary_uint32_bits 16
20
-
21
- (* arbitrary instance for uint32, using the `int32` type. *)
22
- let arbitrary_uint32 =
23
- let open Gen in
24
- arbitrary_uint16 >> = fun w16_1 ->
25
- arbitrary_uint16 >> = fun w16_2 ->
26
- ret_gen Int32. (logor (shift_left w16_1 16 ) w16_2)
27
-
28
- let choose_int64 = Gen. lift_gen QuickCheck_util.Random. int64_range
29
-
30
- (* arbitrary instance for uint48, using the `int64` type. *)
31
- let arbitrary_int48 =
32
- choose_int64 (Int64. zero, 0xffffffffffL )
33
-
34
- (* arbitrary instance for option type, favoring `Some` rather than `None` *)
35
- let arbitrary_option arb =
36
- let open Gen in
37
- frequency [
38
- (1 , ret_gen None );
39
- (3 , arb >> = fun e -> ret_gen (Some e)) ]
40
-
41
- let arbitrary_dlAddr = arbitrary_int48
42
- let arbitrary_nwAddr = arbitrary_int32
7
+ let arbitrary_dlAddr = arbitrary_uint48
8
+ let arbitrary_nwAddr = arbitrary_uint32
43
9
44
10
let arbitrary_dlVlan =
45
11
let open Gen in
@@ -49,9 +15,11 @@ let arbitrary_dlVlan =
49
15
| Some w16 ->
50
16
arbitrary_uint32_bits 3 >> = fun w4 ->
51
17
arbitrary_bool >> = fun b ->
52
- ret_gen (Some ( Int32. to_int w16) , b, Int32. to_int w4)
18
+ ret_gen (Some w16, b, Int32. to_int w4)
53
19
end
54
20
21
+ let arbitrary_tpPort = Arbitrary_Base. arbitrary_uint16
22
+
55
23
let arbitrary_dl_unparsable_len l =
56
24
let li = Int32. to_int l in
57
25
Gen. ret_gen (Unparsable (li, Cstruct. create li))
@@ -122,21 +90,19 @@ let arbitrary_ip arbitrary_tp =
122
90
arbitrary_nwAddr >> = fun nwDst ->
123
91
arbitrary_tp >> = fun tp ->
124
92
ret_gen {
125
- tos = Int32. to_int tos
126
- ; ident = Int32. to_int ident
93
+ tos = tos
94
+ ; ident = ident
127
95
; flags = flags
128
96
; frag = Int32. to_int frag
129
- ; ttl = Int32. to_int ttl
97
+ ; ttl = ttl
130
98
(* Dummy checksum, as the library currently does not verify it *)
131
- ; chksum = Int32. to_int chksum
99
+ ; chksum = chksum
132
100
; src = nwSrc
133
101
; dst = nwDst
134
102
; tp = tp
135
103
; options = empty_bytes
136
104
}
137
105
138
- let arbitrary_tpPort = Gen. map_gen Int32. to_int arbitrary_uint16
139
-
140
106
let arbitrary_tcp_flags =
141
107
let open Gen in
142
108
let open Tcp.Flags in
@@ -194,10 +160,10 @@ let arbitrary_tcp arbitrary_payload =
194
160
; dst = dst
195
161
; seq = seq
196
162
; ack = ack
197
- ; offset = Int32. to_int offset
163
+ ; offset = offset
198
164
; flags = flags
199
- ; window = Int32. to_int window
165
+ ; window = window
200
166
; chksum = 0
201
- ; urgent = Int32. to_int urgent
167
+ ; urgent = urgent
202
168
; payload = payload
203
169
}
0 commit comments