Reviewed By: jvillard Differential Revision: D14706826 fbshipit-source-id: 26b6e5c6cmaster
parent
20b21698f6
commit
7be696a0ed
@ -1,27 +0,0 @@
|
|||||||
# Copyright (c) 2017-present, Facebook, Inc.
|
|
||||||
#
|
|
||||||
# This source code is licensed under the MIT license found in the
|
|
||||||
# LICENSE file in the root directory of this source tree.
|
|
||||||
|
|
||||||
TESTS_DIR = ../..
|
|
||||||
ROOT_DIR = $(TESTS_DIR)/../..
|
|
||||||
|
|
||||||
BUCK_TARGET = //infer/tests/build_systems/racerd_traces/module3:module3
|
|
||||||
INFERPRINT_OPTIONS = --project-root $(ROOT_DIR) --issues-tests
|
|
||||||
CLEAN_EXTRA = $(ROOT_DIR)/buck-out
|
|
||||||
|
|
||||||
include $(TESTS_DIR)/infer.make
|
|
||||||
|
|
||||||
$(OBJECTS): $(JAVA_SOURCE_FILES)
|
|
||||||
$(QUIET)cd $(ROOT_DIR) && \
|
|
||||||
$(call silent_on_success,Compiling thread-safety trace tests,\
|
|
||||||
INFER_BIN=$(INFER_BIN) \
|
|
||||||
$(BUCK) build --no-cache $(BUCK_TARGET))
|
|
||||||
|
|
||||||
infer-out/report.json: $(JAVA_DEPS) $(JAVA_SOURCE_FILES)
|
|
||||||
$(QUIET)cd $(ROOT_DIR) && \
|
|
||||||
$(REMOVE_DIR) buck-out && \
|
|
||||||
$(call silent_on_success,Testing thread-safety trace tests with Buck,\
|
|
||||||
INFER_BIN=$(INFER_BIN) \
|
|
||||||
$(INFER_BIN) --results-dir $(CURDIR)/infer-out -- \
|
|
||||||
$(BUCK) build --no-cache $(BUCK_TARGET))
|
|
@ -1,8 +0,0 @@
|
|||||||
java_library(
|
|
||||||
name='module1',
|
|
||||||
srcs=['Class1.java'],
|
|
||||||
deps=[],
|
|
||||||
visibility=[
|
|
||||||
'PUBLIC'
|
|
||||||
],
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2017-present, Facebook, Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package threadsafety_traces.module1;
|
|
||||||
|
|
||||||
public class Class1 {
|
|
||||||
|
|
||||||
static int sField;
|
|
||||||
|
|
||||||
public static void method() {
|
|
||||||
sField++;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
java_library(
|
|
||||||
name='module2',
|
|
||||||
srcs=['Class2.java'],
|
|
||||||
deps=[
|
|
||||||
'//infer/tests/build_systems/racerd_traces/module1:module1'
|
|
||||||
],
|
|
||||||
visibility=[
|
|
||||||
'PUBLIC'
|
|
||||||
],
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2017-present, Facebook, Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package threadsafety_traces.module2;
|
|
||||||
|
|
||||||
import threadsafety_traces.module1.Class1;
|
|
||||||
|
|
||||||
public class Class2 {
|
|
||||||
|
|
||||||
public static void method() {
|
|
||||||
Class1.method();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
java_library(
|
|
||||||
name='module3',
|
|
||||||
srcs=['Class3.java'],
|
|
||||||
deps=[
|
|
||||||
'//infer/tests/build_systems/racerd_traces/module2:module2',
|
|
||||||
]
|
|
||||||
)
|
|
@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2017-present, Facebook, Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package threadsafety_traces.module3;
|
|
||||||
|
|
||||||
import threadsafety_traces.module2.Class2;
|
|
||||||
|
|
||||||
@interface ThreadSafe {}
|
|
||||||
|
|
||||||
@ThreadSafe
|
|
||||||
public class Class3 {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* this will produce a truncated trace that should bottom out in Class1.method, but will stop
|
|
||||||
* short due to limitations in our Buck integration. test that we don't report a truncated trace
|
|
||||||
* in this situation.
|
|
||||||
*/
|
|
||||||
public void callClass2() {
|
|
||||||
Class2.method();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue