]>
Commit | Line | Data |
---|---|---|
d918d9d1 BP |
1 | AT_BANNER([UUID unit tests]) |
2 | ||
3 | m4_define([UUID_REGEX], | |
4 | [[[0-9a-f]\{8\}-[0-9a-f]\{4\}-4[0-9a-f]\{3\}-[89ab][0-9a-f]\{3\}-[0-9a-f]\{12\}$]]) | |
5 | ||
6 | m4_define([CHECK_UUID], | |
7 | [if expr "$uuid" : 'UUID_REGEX' > /dev/null | |
8 | then | |
9 | : | |
10 | else | |
11 | echo "$uuid: not a random UUID" | |
12 | exit 1 | |
13 | fi]) | |
14 | ||
d918d9d1 BP |
15 | AT_SETUP([UUID generation, parsing, serialization]) |
16 | AT_KEYWORDS([UUID]) | |
17 | AT_CHECK([ | |
18 | uuids= | |
19 | for i in m4_for([count], [1], [100], [1], [count ]); do | |
20 | # Generate random UUID and check that it is in the expected format. | |
eadd1644 | 21 | uuid=`ovstest test-uuid` |
d918d9d1 BP |
22 | CHECK_UUID |
23 | ||
24 | # Verify that $uuid does not duplicate any UUID generated so far. | |
25 | case $uuids in | |
26 | *$uuid*) | |
27 | echo "$uuid: generated duplicate UUID" | |
28 | exit 1 | |
29 | esac | |
30 | uuids="$uuids $uuid" | |
31 | ||
32 | # Verify that test-uuid parses and re-serializes this UUID correctly. | |
eadd1644 | 33 | serialized=`ovstest test-uuid $uuid` |
d918d9d1 BP |
34 | if test "$uuid" != "$serialized"; then |
35 | echo "$uuid: test-uuid serialized this as $serialized" | |
36 | exit 1 | |
37 | fi | |
38 | done], [0]) | |
39 | AT_CLEANUP |