Skip to content

Commit

Permalink
Allow ANY as list (#11449)
Browse files Browse the repository at this point in the history
  • Loading branch information
lasote committed Jun 13, 2022
1 parent edcde7c commit 2586e2d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
3 changes: 2 additions & 1 deletion conans/model/options.py
Expand Up @@ -331,7 +331,8 @@ class PackageOption(object):
def __init__(self, possible_values, name):
self._name = name
self._value = None
if possible_values == "ANY":
if possible_values == "ANY" or (isinstance(possible_values, list) and
"ANY" in possible_values):
self._possible_values = "ANY"
else:
self._possible_values = sorted(str(v) for v in possible_values)
Expand Down
18 changes: 18 additions & 0 deletions conans/test/unittests/model/options_test.py
Expand Up @@ -376,3 +376,21 @@ def test_exceptions_repeated_value(self):
def test_package_with_spaces(self):
self.assertEqual(OptionsValues([('pck2:opt', 50), ]).dumps(),
OptionsValues([('pck2 :opt', 50), ]).dumps())


def test_validate_any_as_list():
package_options = PackageOptions.loads("""{
path: ["ANY", "kk"]}""")
values = PackageOptionValues()
values.add_option("path", "FOO")
package_options.values = values
sut = Options(package_options)
assert sut.path == "FOO"

package_options = PackageOptions.loads("""{
path: "ANY"}""")
values = PackageOptionValues()
values.add_option("path", "WHATEVER")
package_options.values = values
sut = Options(package_options)
assert sut.path == "WHATEVER"

0 comments on commit 2586e2d

Please sign in to comment.