@@ -2093,19 +2093,40 @@ def foo_list(x: pandas.Series, y0: float, y1, y2) -> list[str]:
20932093
20942094
20952095@pytest .mark .parametrize (
2096- ("memory_mib_args" , "expected_memory" ),
2096+ (
2097+ "memory_mib_args" ,
2098+ "expected_memory" ,
2099+ "expected_cpus" ,
2100+ ),
20972101 [
2098- pytest .param ({}, "1024Mi" , id = "no-set" ),
2099- pytest .param ({"cloud_function_memory_mib" : None }, "256M" , id = "set-None" ),
2100- pytest .param ({"cloud_function_memory_mib" : 128 }, "128Mi" , id = "set-128" ),
2101- pytest .param ({"cloud_function_memory_mib" : 1024 }, "1024Mi" , id = "set-1024" ),
2102- pytest .param ({"cloud_function_memory_mib" : 4096 }, "4096Mi" , id = "set-4096" ),
2103- pytest .param ({"cloud_function_memory_mib" : 32768 }, "32768Mi" , id = "set-32768" ),
2102+ pytest .param ({}, "1024Mi" , None , id = "no-set" ),
2103+ pytest .param (
2104+ {"cloud_function_memory_mib" : None }, "1024Mi" , None , id = "set-None"
2105+ ),
2106+ pytest .param ({"cloud_function_memory_mib" : 128 }, "128Mi" , None , id = "set-128" ),
2107+ pytest .param (
2108+ {"cloud_function_memory_mib" : 512 , "cloud_function_cpus" : 0.6 },
2109+ "512Mi" ,
2110+ "0.6" ,
2111+ id = "set-512" ,
2112+ ),
2113+ pytest .param (
2114+ {"cloud_function_memory_mib" : 1024 }, "1024Mi" , None , id = "set-1024"
2115+ ),
2116+ pytest .param (
2117+ {"cloud_function_memory_mib" : 4096 , "cloud_function_cpus" : 4 },
2118+ "4096Mi" ,
2119+ "4" ,
2120+ id = "set-4096" ,
2121+ ),
2122+ pytest .param (
2123+ {"cloud_function_memory_mib" : 32768 }, "32768Mi" , None , id = "set-32768"
2124+ ),
21042125 ],
21052126)
21062127@pytest .mark .flaky (retries = 2 , delay = 120 )
21072128def test_remote_function_gcf_memory (
2108- session , scalars_dfs , memory_mib_args , expected_memory
2129+ session , scalars_dfs , memory_mib_args , expected_memory , expected_cpus
21092130):
21102131 try :
21112132
@@ -2121,6 +2142,12 @@ def square(x: int) -> int:
21212142 name = square_remote .bigframes_cloud_function
21222143 )
21232144 assert gcf .service_config .available_memory == expected_memory
2145+ if expected_cpus is not None :
2146+ assert gcf .service_config .available_cpu == expected_cpus
2147+ if float (gcf .service_config .available_cpu ) >= 1.0 :
2148+ assert gcf .service_config .max_instance_request_concurrency >= float (
2149+ gcf .service_config .available_cpu
2150+ )
21242151
21252152 scalars_df , scalars_pandas_df = scalars_dfs
21262153
0 commit comments