@@ -62,15 +62,15 @@ def test_set_option(self):
6262 }
6363 )
6464 self .run_cmake ()
65- self .assert_cmake_cache ("SECRET_MESSAGE" , "move fast" )
66- self .assert_cmake_cache ("PI" , "3.14" )
65+ self .assert_cmake_cache ("SECRET_MESSAGE" , "move fast" , "STRING" )
66+ self .assert_cmake_cache ("PI" , "3.14" , "STRING" )
6767
6868 def test_define_overridable_config_invalid_name (self ):
6969 _cmake_lists_txt = """
7070 cmake_minimum_required(VERSION 3.24)
7171 project(test_preset)
7272 include(${PROJECT_SOURCE_DIR}/preset.cmake)
73- define_overridable_config(IAM_AN_INVALID_NAME "test example" "default value")
73+ define_overridable_config(IAM_AN_INVALID_NAME "test example" STRING "default value")
7474 """
7575 self .create_workspace ({"CMakeLists.txt" : _cmake_lists_txt })
7676 self .run_cmake (
@@ -85,7 +85,8 @@ def test_define_overridable_config_default(self):
8585 add_subdirectory(example)
8686 """
8787 _example_cmake_lists_txt = """
88- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
88+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
89+ define_overridable_config(EXECUTORCH_TEST_OPTION "test option" BOOL ON)
8990 """
9091 self .create_workspace (
9192 {
@@ -96,7 +97,20 @@ def test_define_overridable_config_default(self):
9697 }
9798 )
9899 self .run_cmake ()
99- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" )
100+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" , "STRING" )
101+ self .assert_cmake_cache ("EXECUTORCH_TEST_OPTION" , "ON" , "BOOL" )
102+
103+ def test_define_overridable_config_invalid_type (self ):
104+ _cmake_lists_txt = """
105+ cmake_minimum_required(VERSION 3.24)
106+ project(test_preset)
107+ include(${PROJECT_SOURCE_DIR}/preset.cmake)
108+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test example" NUMBER "default value")
109+ """
110+ self .create_workspace ({"CMakeLists.txt" : _cmake_lists_txt })
111+ self .run_cmake (
112+ error_contains = "Invalid config (EXECUTORCH_TEST_MESSAGE) value type 'NUMBER'"
113+ )
100114
101115 def test_define_overridable_config_cli_override (self ):
102116 _cmake_lists_txt = """
@@ -106,7 +120,7 @@ def test_define_overridable_config_cli_override(self):
106120 add_subdirectory(example)
107121 """
108122 _example_cmake_lists_txt = """
109- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
123+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
110124 """
111125 self .create_workspace (
112126 {
@@ -117,7 +131,7 @@ def test_define_overridable_config_cli_override(self):
117131 }
118132 )
119133 self .run_cmake (cmake_args = ["-DEXECUTORCH_TEST_MESSAGE='cli value'" ])
120- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "cli value" )
134+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "cli value" , "STRING" )
121135
122136 def test_define_overridable_config_set_override_before (self ):
123137 _cmake_lists_txt = """
@@ -128,7 +142,7 @@ def test_define_overridable_config_set_override_before(self):
128142 add_subdirectory(example)
129143 """
130144 _example_cmake_lists_txt = """
131- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
145+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
132146 """
133147 self .create_workspace (
134148 {
@@ -139,7 +153,7 @@ def test_define_overridable_config_set_override_before(self):
139153 }
140154 )
141155 self .run_cmake ()
142- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "set value" )
156+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "set value" , "STRING" )
143157
144158 def testdefine_overridable_config_set_override_after (self ):
145159 _cmake_lists_txt = """
@@ -150,7 +164,7 @@ def testdefine_overridable_config_set_override_after(self):
150164 set(EXECUTORCH_TEST_MESSAGE "set value")
151165 """
152166 _example_cmake_lists_txt = """
153- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
167+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
154168 """
155169 self .create_workspace (
156170 {
@@ -162,7 +176,7 @@ def testdefine_overridable_config_set_override_after(self):
162176 )
163177 self .run_cmake ()
164178 # Setting the value after should not affect the cache.
165- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" )
179+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" , "STRING" )
166180
167181 def test_define_overridable_config_set_override_after_with_cache (self ):
168182 _cmake_lists_txt = """
@@ -173,7 +187,7 @@ def test_define_overridable_config_set_override_after_with_cache(self):
173187 set(EXECUTORCH_TEST_MESSAGE "set value" CACHE STRING "")
174188 """
175189 _example_cmake_lists_txt = """
176- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
190+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
177191 """
178192 self .create_workspace (
179193 {
@@ -185,7 +199,7 @@ def test_define_overridable_config_set_override_after_with_cache(self):
185199 )
186200 self .run_cmake ()
187201 # Setting the value after should not affect the cache.
188- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" )
202+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "default value" , "STRING" )
189203
190204 def test_define_overridable_config_cli_override_with_set_override (self ):
191205 _cmake_lists_txt = """
@@ -196,7 +210,7 @@ def test_define_overridable_config_cli_override_with_set_override(self):
196210 add_subdirectory(example)
197211 """
198212 _example_cmake_lists_txt = """
199- define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" "default value")
213+ define_overridable_config(EXECUTORCH_TEST_MESSAGE "test message" STRING "default value")
200214 """
201215 self .create_workspace (
202216 {
@@ -208,4 +222,4 @@ def test_define_overridable_config_cli_override_with_set_override(self):
208222 )
209223 self .run_cmake (cmake_args = ["-DEXECUTORCH_TEST_MESSAGE='cli value'" ])
210224 # If an option is set through cmake, it should NOT be overridable from the CLI.
211- self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "set value" )
225+ self .assert_cmake_cache ("EXECUTORCH_TEST_MESSAGE" , "set value" , "STRING" )
0 commit comments