Reviewed By: ddino Differential Revision: D3224850 fb-gh-sync-id: e24e0b0 fbshipit-source-id: e24e0b0master
							parent
							
								
									159ac34ac5
								
							
						
					
					
						commit
						54a3bdd455
					
				| @ -0,0 +1,14 @@ | |||||||
|  | /*
 | ||||||
|  |  * Copyright (c) 2016 - present Facebook, Inc. | ||||||
|  |  * All rights reserved. | ||||||
|  |  * | ||||||
|  |  * This source code is licensed under the BSD style license found in the | ||||||
|  |  * LICENSE file in the root directory of this source tree. An additional grant | ||||||
|  |  * of patent rights can be found in the PATENTS file in the same directory. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @interface A | ||||||
|  | 
 | ||||||
|  | @property int name; | ||||||
|  | 
 | ||||||
|  | @end | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2016 - present Facebook, Inc. | ||||||
|  |  * All rights reserved. | ||||||
|  |  * | ||||||
|  |  * This source code is licensed under the BSD style license found in the | ||||||
|  |  * LICENSE file in the root directory of this source tree. An additional grant | ||||||
|  |  * of patent rights can be found in the PATENTS file in the same directory. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #import <Foundation/NSObject.h> | ||||||
|  | #import <Foundation/NSString.h> | ||||||
|  | #import "GetterExample.h" | ||||||
|  | 
 | ||||||
|  | int should_have_div0() { | ||||||
|  |   A* a = [[A alloc] init]; | ||||||
|  |   a.name = 5; | ||||||
|  |   return 1 / (a.name - 5); | ||||||
|  | } | ||||||
| @ -0,0 +1,66 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2015 - present Facebook, Inc. | ||||||
|  |  * All rights reserved. | ||||||
|  |  * | ||||||
|  |  * This source code is licensed under the BSD style license found in the | ||||||
|  |  * LICENSE file in the root directory of this source tree. An additional grant | ||||||
|  |  * of patent rights can be found in the PATENTS file in the same directory. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | package endtoend.objc; | ||||||
|  | 
 | ||||||
|  | import static org.hamcrest.MatcherAssert.assertThat; | ||||||
|  | import static utils.matchers.ResultContainsExactly.containsExactly; | ||||||
|  | 
 | ||||||
|  | import com.google.common.collect.ImmutableList; | ||||||
|  | 
 | ||||||
|  | import org.junit.BeforeClass; | ||||||
|  | import org.junit.ClassRule; | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import utils.DebuggableTemporaryFolder; | ||||||
|  | import utils.InferException; | ||||||
|  | import utils.InferResults; | ||||||
|  | import utils.InferRunner; | ||||||
|  | 
 | ||||||
|  | public class GetterBuiltinTest { | ||||||
|  | 
 | ||||||
|  |   public static final String FILE = | ||||||
|  |       "infer/tests/codetoanalyze/objc/frontend/property/GetterExample.m"; | ||||||
|  | 
 | ||||||
|  |   private static ImmutableList<String> inferCmd; | ||||||
|  | 
 | ||||||
|  |   public static final String DIVIDE_BY_ZERO = "DIVIDE_BY_ZERO"; | ||||||
|  | 
 | ||||||
|  |   @ClassRule | ||||||
|  |   public static DebuggableTemporaryFolder folder = new DebuggableTemporaryFolder(); | ||||||
|  | 
 | ||||||
|  |   @BeforeClass | ||||||
|  |   public static void runInfer() throws InterruptedException, IOException { | ||||||
|  |     inferCmd = InferRunner.createiOSInferCommandWithMLBuckets( | ||||||
|  |         folder, | ||||||
|  |         FILE, | ||||||
|  |         "cf", | ||||||
|  |         false); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @Test | ||||||
|  |   public void whenInferRunsOnGetterExample() | ||||||
|  |       throws InterruptedException, IOException, InferException { | ||||||
|  |     InferResults inferResults = InferRunner.runInferC(inferCmd); | ||||||
|  |     assertThat( | ||||||
|  |         "Results should contain " + DIVIDE_BY_ZERO, | ||||||
|  |         inferResults, | ||||||
|  |         containsExactly( | ||||||
|  |             DIVIDE_BY_ZERO, | ||||||
|  |             FILE, | ||||||
|  |             new String[]{ | ||||||
|  |                 "should_have_div0", | ||||||
|  |             } | ||||||
|  |         ) | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue