aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2010-01-26 10:32:33 -0800
committerBen Pfaff <blp@nicira.com>2010-01-26 10:32:33 -0800
commit31a763d7d7892bad5c4f839d920bbdbff3167caf (patch)
treea32b0b00038d65fe15e2783c30d763d7ea32915b /tests
parentad83bfa65881712c3d9bc22e7430ddbc6c7bcaba (diff)
ovsdb: Require column type "min" value be 0 or 1.
A "min" value greater than 1 is problematic for the database. There is no reasonable way to synthesize a default value for such a column: keys in a set or map must unique, so the database cannot, say, simply set a set of 3 or more integers to [0, 0, 0]. This should have no effect on the vswitch in practice because it does not have any columns that require more than one element.
Diffstat (limited to 'tests')
-rw-r--r--tests/ovsdb-data.at6
-rw-r--r--tests/ovsdb-types.at27
2 files changed, 18 insertions, 15 deletions
diff --git a/tests/ovsdb-data.at b/tests/ovsdb-data.at
index bedaf700..e7125fea 100644
--- a/tests/ovsdb-data.at
+++ b/tests/ovsdb-data.at
@@ -230,8 +230,8 @@ OVSDB_CHECK_POSITIVE([map of 1 boolean to integer],
'["map", [[true, 1]]]']],
[[["map",[[true,1]]]]])
-OVSDB_CHECK_POSITIVE([map of 5 uuid to real],
- [[parse-data '{"key": "uuid", "value": "real", "min": 5, "max": 5}' \
+OVSDB_CHECK_POSITIVE([map of 1 uuid to real],
+ [[parse-data '{"key": "uuid", "value": "real", "min": 1, "max": 5}' \
'["map", [[["uuid", "cad8542b-6ee1-486b-971b-7dcbf6e14979"], 1.0],
[["uuid", "6b94b968-2702-4f64-9457-314a34d69b8c"], 2.0],
[["uuid", "d2c4a168-24de-47eb-a8a3-c1abfc814979"], 3.0],
@@ -240,7 +240,7 @@ OVSDB_CHECK_POSITIVE([map of 5 uuid to real],
[[["map",[[["uuid","1c92b8ca-d5e4-4628-a85d-1dc2d099a99a"],5],[["uuid","25bfa475-d072-4f60-8be1-00f48643e9cb"],4],[["uuid","6b94b968-2702-4f64-9457-314a34d69b8c"],2],[["uuid","cad8542b-6ee1-486b-971b-7dcbf6e14979"],1],[["uuid","d2c4a168-24de-47eb-a8a3-c1abfc814979"],3]]]]])
OVSDB_CHECK_POSITIVE([map of 10 string to string],
- [[parse-data '{"key": "string", "value": "string", "min": 10, "max": 10}' \
+ [[parse-data '{"key": "string", "value": "string", "min": 1, "max": 10}' \
'["map", [["2 gills", "1 chopin"],
["2 chopins", "1 pint"],
["2 pints", "1 quart"],
diff --git a/tests/ovsdb-types.at b/tests/ovsdb-types.at
index 9a92a5ca..ebaffff7 100644
--- a/tests/ovsdb-types.at
+++ b/tests/ovsdb-types.at
@@ -50,9 +50,9 @@ OVSDB_CHECK_POSITIVE([set of 0 to 3 strings],
OVSDB_CHECK_POSITIVE([set of 0 or more integers],
[[parse-type '{"key": "integer", "min": 0, "max": "unlimited"}']],
[[{"key":"integer","max":"unlimited","min":0}]])
-OVSDB_CHECK_POSITIVE([set of 10 or more reals],
- [[parse-type '{"key": "real", "min": 10, "max": "unlimited"}']],
- [[{"key":"real","max":"unlimited","min":10}]])
+OVSDB_CHECK_POSITIVE([set of 1 or more reals],
+ [[parse-type '{"key": "real", "min": 1, "max": "unlimited"}']],
+ [[{"key":"real","max":"unlimited"}]])
OVSDB_CHECK_NEGATIVE([set max cannot be less than min],
[[parse-type '{"key": "real", "min": 5, "max": 3}' ]],
@@ -63,6 +63,9 @@ OVSDB_CHECK_NEGATIVE([set max cannot be negative],
OVSDB_CHECK_NEGATIVE([set min cannot be negative],
[[parse-type '{"key": "real", "min": -1}' ]],
[bad min or max value])
+OVSDB_CHECK_NEGATIVE([set min cannot be greater than one],
+ [[parse-type '{"key": "real", "min": 10, "max": "unlimited"}']],
+ [ovsdb type fails constraint checks])
AT_BANNER([OVSDB -- map types])
@@ -72,18 +75,18 @@ OVSDB_CHECK_POSITIVE([map of 1 integer to boolean],
OVSDB_CHECK_POSITIVE([map of 1 boolean to integer, explicit min and max],
[[parse-type '{"key": "boolean", "value": "integer", "min": 1, "max": 1}' ]],
[[{"key":"boolean","value":"integer"}]])
-OVSDB_CHECK_POSITIVE([map of 2 to 5 uuid to real],
- [[parse-type '{"key": "uuid", "value": "real", "min": 2, "max": 5}' ]],
- [[{"key":"uuid","max":5,"min":2,"value":"real"}]])
+OVSDB_CHECK_POSITIVE([map of 1 to 5 uuid to real],
+ [[parse-type '{"key": "uuid", "value": "real", "min": 1, "max": 5}' ]],
+ [[{"key":"uuid","max":5,"value":"real"}]])
OVSDB_CHECK_POSITIVE([map of 0 to 10 string to uuid],
[[parse-type '{"key": "string", "value": "uuid", "min": 0, "max": 10}' ]],
[[{"key":"string","max":10,"min":0,"value":"uuid"}]])
-OVSDB_CHECK_POSITIVE([map of 10 to 20 real to string],
- [[parse-type '{"key": "real", "value": "string", "min": 10, "max": 20}' ]],
- [[{"key":"real","max":20,"min":10,"value":"string"}]])
-OVSDB_CHECK_POSITIVE([map of 20 or more string to real],
- [[parse-type '{"key": "string", "value": "real", "min": 20, "max": "unlimited"}' ]],
- [[{"key":"string","max":"unlimited","min":20,"value":"real"}]])
+OVSDB_CHECK_POSITIVE([map of 1 to 20 real to string],
+ [[parse-type '{"key": "real", "value": "string", "min": 1, "max": 20}' ]],
+ [[{"key":"real","max":20,"value":"string"}]])
+OVSDB_CHECK_POSITIVE([map of 0 or more string to real],
+ [[parse-type '{"key": "string", "value": "real", "min": 0, "max": "unlimited"}' ]],
+ [[{"key":"string","max":"unlimited","min":0,"value":"real"}]])
OVSDB_CHECK_NEGATIVE([map key type is required],
[[parse-type '{"value": "integer"}' ]],