From c14b917e7f823d22a7ac368c419207999c18a3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezgi=20=C3=87i=C3=A7ek?= Date: Wed, 29 May 2019 09:32:30 -0700 Subject: [PATCH] [purity] Rename tests Summary: Consistent renaming of tests: replace - `bad` -> `impure` - `ok` -> `pure` Reviewed By: mbouaziz Differential Revision: D15536214 fbshipit-source-id: eab8b1cc3 --- .../codetoanalyze/java/purity/GlobalTest.java | 10 +++--- .../tests/codetoanalyze/java/purity/Test.java | 32 +++++++++---------- .../codetoanalyze/java/purity/issues.exp | 10 +++--- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/infer/tests/codetoanalyze/java/purity/GlobalTest.java b/infer/tests/codetoanalyze/java/purity/GlobalTest.java index 45bee4f47..3d2870639 100644 --- a/infer/tests/codetoanalyze/java/purity/GlobalTest.java +++ b/infer/tests/codetoanalyze/java/purity/GlobalTest.java @@ -12,7 +12,7 @@ class GlobalTest { int x = 0; // modifies global var 's' hence impure - void set_bad() { + void set_impure() { s = 10; } } @@ -22,20 +22,20 @@ class GlobalTest { } // calls foo which modifies global var - void call_set_bad() { + void call_set_impure() { Foo f = new Foo(); - f.set_bad(); + f.set_impure(); } // foo is global which is modified by incr. - void global_mod_via_argument_passing_bad(int size, Foo f) { + void global_mod_via_argument_passing_impure(int size, Foo f) { for (int i = 0; i < size; i++) { incr(foo, i); } } // aliased_foo is aliasing a global and then is modified by incr. - void global_mod_via_argument_passing_bad_aliased(int size, Foo f) { + void global_mod_via_argument_passing_impure_aliased(int size, Foo f) { Foo aliased_foo = foo; // Inferbo can't recognize aliasing here // and assumes aliased_foo is in [-oo,+oo] not in foo for (int i = 0; i < size; i++) { diff --git a/infer/tests/codetoanalyze/java/purity/Test.java b/infer/tests/codetoanalyze/java/purity/Test.java index 417747bea..bab901ccb 100644 --- a/infer/tests/codetoanalyze/java/purity/Test.java +++ b/infer/tests/codetoanalyze/java/purity/Test.java @@ -15,64 +15,64 @@ class Test { global_arr = new Integer[size]; } - void set_bad(int x, int y) { + void set_impure(int x, int y) { a = x + y; } - void global_array_set_bad(int x, int y) { + void global_array_set_impure(int x, int y) { global_arr[0] = x + y; } - int local_write_ok(int x, int y) { + int local_write_pure(int x, int y) { int k = x + y; k++; return k; } - void call_pure_ok(int size) { + void call_pure_pure(int size) { for (int i = 0; i < size; i++) { - local_write_ok(i, size); + local_write_pure(i, size); } } - void call_impure_bad(int size) { + void call_impure_impure(int size) { int d = 0; for (int i = 0; i < size; i++) { - set_bad(i, size); + set_impure(i, size); } } // no change to outside state, the local allocation is ok. - int local_alloc_ok(int x, int y) { + int local_alloc_pure(int x, int y) { ArrayList list = new ArrayList(x + y); for (Integer el : list) { - call_pure_ok(el); + call_pure_pure(el); } return list.size(); } - void parameter_field_write_bad(Test test, boolean b) { + void parameter_field_write_impure(Test test, boolean b) { int c = b ? 0 : 1; test.a = c; } - int parameter_field_access_ok(Test test) { + int parameter_field_access_pure(Test test) { return test.a; } // expected to be impure since y points to x - void local_field_write_bad(Test x) { + void local_field_write_impure(Test x) { Test y = x; y.a = 0; } - void swap_bad(int[] array, int i, int j) { + void swap_impure(int[] array, int i, int j) { int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } - void alias_bad(int[] array, int i, int j) { + void alias_impure(int[] array, int i, int j) { int[] a = array; a[j] = i; } @@ -80,12 +80,12 @@ class Test { // Currently, we can't distinguish between returning new Objects or // creating new Objects locally. Ideally, the latter should be fine // as long as it doesn't leak to the result. - public ArrayList emptyList_bad_FP() { + public ArrayList emptyList_impure_FP() { return new ArrayList(); } // All unmodeled calls will be marked as modifying global state - static long systemNanoTime_bad() { + static long systemNanoTime_impure() { return System.nanoTime(); } } diff --git a/infer/tests/codetoanalyze/java/purity/issues.exp b/infer/tests/codetoanalyze/java/purity/issues.exp index 1782a700b..46f2a12c1 100644 --- a/infer/tests/codetoanalyze/java/purity/issues.exp +++ b/infer/tests/codetoanalyze/java/purity/issues.exp @@ -5,8 +5,8 @@ codetoanalyze/java/purity/Localities.java, Localities.length_pure(java.util.Arra codetoanalyze/java/purity/Localities.java, Localities.mkHC_pure(Localities$Counter):Localities$HasCounter, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function Localities$HasCounter Localities.mkHC_pure(Localities$Counter)] codetoanalyze/java/purity/Localities.java, Localities.setFreshArrayEntry_pure(int,int):int[], 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int[] Localities.setFreshArrayEntry_pure(int,int)] codetoanalyze/java/purity/PurityModeled.java, PurityModeled.arraycopy_pure(int[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void PurityModeled.arraycopy_pure(int[])] -codetoanalyze/java/purity/Test.java, Test.call_pure_ok(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Test.call_pure_ok(int)] -codetoanalyze/java/purity/Test.java, Test.emptyList_bad_FP():java.util.ArrayList, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function ArrayList Test.emptyList_bad_FP()] -codetoanalyze/java/purity/Test.java, Test.local_alloc_ok(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.local_alloc_ok(int,int)] -codetoanalyze/java/purity/Test.java, Test.local_write_ok(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.local_write_ok(int,int)] -codetoanalyze/java/purity/Test.java, Test.parameter_field_access_ok(Test):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.parameter_field_access_ok(Test)] +codetoanalyze/java/purity/Test.java, Test.call_pure_pure(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Test.call_pure_pure(int)] +codetoanalyze/java/purity/Test.java, Test.emptyList_impure_FP():java.util.ArrayList, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function ArrayList Test.emptyList_impure_FP()] +codetoanalyze/java/purity/Test.java, Test.local_alloc_pure(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.local_alloc_pure(int,int)] +codetoanalyze/java/purity/Test.java, Test.local_write_pure(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.local_write_pure(int,int)] +codetoanalyze/java/purity/Test.java, Test.parameter_field_access_pure(Test):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Test.parameter_field_access_pure(Test)]