| 
					
				 | 
			
			
				@@ -184,17 +184,17 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "exec_compatible_with": exec_compatible_with, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if uses_polling: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # Only run targets with pollers for non-MSVC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # TODO(yfen): Enable MSVC for poller-enabled targets without pollers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # the vanilla version of the test should run on platforms that only  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # support a single poller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         native.cc_test( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             name = name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             testonly = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "manual", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "no_windows", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tags = (tags + [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "no_linux",  # linux supports multiple pollers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             **args 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # on linux we run the same test multiple times, once for each poller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for poller in POLLERS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             native.sh_test( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 name = name + "@poller=" + poller, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,10 +208,11 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     poller, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     "$(location %s)" % name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ] + args["args"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tags = (tags + ["no_windows"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tags = (tags + ["no_windows", "no_mac"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 exec_compatible_with = exec_compatible_with, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # the test behavior doesn't depend on polling, just generate the test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         native.cc_test(name = name, tags = tags, **args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ios_cc_test( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         name = name, 
			 |