diff options
author | Ben Pfaff <blp@nicira.com> | 2010-01-26 10:32:33 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2010-01-26 10:32:33 -0800 |
commit | 31a763d7d7892bad5c4f839d920bbdbff3167caf (patch) | |
tree | a32b0b00038d65fe15e2783c30d763d7ea32915b /tests | |
parent | ad83bfa65881712c3d9bc22e7430ddbc6c7bcaba (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.at | 6 | ||||
-rw-r--r-- | tests/ovsdb-types.at | 27 |
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"}' ]], |