Skip to content

Commit d3652f9

Browse files
committed
automated compilation and packaging
1 parent 7300ccd commit d3652f9

File tree

6 files changed

+142
-12
lines changed

6 files changed

+142
-12
lines changed

automation/automate.py

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
defect_id = sys.argv[2]
88
java6_home = "/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"
99
java8_home = "/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home"
10+
JAVA_HOME="JAVA_HOME"
1011

1112
#os.system("export D4J_HOME=/Users/pranita/Downloads/Program_Repair/defects4j")
1213
# os.environ['D4J_HOME'] = "/Users/pranita/Downloads/Program_Repair/defects4j"
@@ -22,21 +23,60 @@
2223
if shutil.which("defects4j") is None:
2324
sys.exit("Please add defects4j to the PATH variable")
2425

25-
file_path = sys.argv[3]
26-
if not os.path.exists(file_path):
27-
os.makedirs(file_path)
26+
root_directory = sys.argv[3]
27+
if not os.path.exists(root_directory):
28+
os.makedirs(root_directory)
29+
project_dir = os.path.join(root_directory,project_id)
30+
if not os.path.exists(project_dir):
31+
os.makedirs(project_dir)
2832

29-
checkout_command = "defects4j checkout -p "+project_id+" -v "+defect_id+"b -w "+file_path+"/"+defect_id
33+
info_command = "defects4j info -p "+project_id
34+
35+
result = subprocess.run(info_command,stdout=subprocess.PIPE,shell=True)
36+
info_output = result.stdout.decode("utf-8")
37+
info_output = info_output.splitlines()
38+
39+
count_line = info_output[14]
40+
count_line = count_line.split(":")
41+
42+
bug_count = int(count_line[1])
43+
44+
if int(defect_id) > bug_count:
45+
sys.exit("Please provide valid bug id")
46+
47+
checkout_command = "defects4j checkout -p "+project_id+" -v "+defect_id+"b -w "+project_dir+"/"+defect_id
3048

3149
#Checkout Project with Bug ID
3250
print("Running " + checkout_command)
33-
3451
os.system(checkout_command)
3552

53+
gzoltar_path = os.environ["GZOLTAR_JAR"]
54+
gzoltar_path = gzoltar_path.split('/')[:-1]
55+
gzoltar_path += ["run_gzoltar.sh"]
56+
gzoltar_path = '/'.join(gzoltar_path)
57+
58+
run_gzoltar_command = "bash " + gzoltar_path + " " + project_id + " " + defect_id + " " + root_directory+ " developer"
59+
60+
print("Running " + run_gzoltar_command)
61+
os.system(run_gzoltar_command)
62+
63+
defect_dir = os.path.join(project_dir,defect_id)
64+
65+
compile_command="mvn compile"
66+
67+
package_command="mvn -Dmaven.test.failure.ignore=true install"
68+
69+
os.environ[JAVA_HOME]=java6_home
70+
os.chdir(defect_dir)
71+
os.system(compile_command)
72+
os.system(package_command)
3673

3774

75+
# os.chdir(os.path.join(defect_dir,"target"))
3876

77+
junit_get_command = "wget https://github.com/downloads/junit-team/junit/junit-4.10.jar"
3978

79+
# os.system(junit_get_command)
4080

4181
#Project name
4282
#bug ID
640 Bytes
Binary file not shown.

gzoltar/gzoltars/Lang/37/log.txt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[DEBUG] DATA_DIR: /Users/jithinjohn/Downloads/CSC591/fault-localization-data/gzoltar/gzoltars/Lang/37
44
[DEBUG] TOOL: developer
55
[DEBUG] TESTS_DIR:
6-
[DEBUG] TMP_DIR: /tmp/jithinjohn/gzoltar_74022_Lang-37
6+
[DEBUG] TMP_DIR: /tmp/jithinjohn/gzoltar_70241_Lang-37
77
[DEBUG] DIR_PROJECT: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang
88
[DEBUG] DIR_LOADED_CLASSES: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/loaded_classes
99
[DEBUG] DIR_RELEVANT_TESTS: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/relevant_tests
@@ -13,8 +13,8 @@ Picked up _JAVA_OPTIONS: -XX:MaxHeapSize=1024m -Xmx4096m
1313
java version "1.8.0_191"
1414
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
1515
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
16-
[INFO] Checking out Lang-37 to /tmp/jithinjohn/gzoltar_74022_Lang-37
17-
Check out ea140fb5 to /private/tmp/jithinjohn/gzoltar_74022_Lang-37........ OK
16+
[INFO] Checking out Lang-37 to /tmp/jithinjohn/gzoltar_70241_Lang-37
17+
Check out ea140fb5 to /private/tmp/jithinjohn/gzoltar_70241_Lang-37........ OK
1818
Init local repository...................................................... OK
1919
Tag post-fix revision...................................................... OK
2020
Run post-checkout hook..................................................... OK
@@ -29,12 +29,12 @@ Check out program version: Lang-37b........................................ OK
2929
[DEBUG] LOADED_SUB_CLASSES: org.apache.commons.lang3.ArrayUtils$*:
3030
[DEBUG] RELEVANT_TESTS: org.apache.commons.lang3.ArrayUtilsAddTest:org.apache.commons.lang3.ArrayUtilsRemoveTest:org.apache.commons.lang3.ArrayUtilsTest:org.apache.commons.lang3.BooleanUtilsTest:org.apache.commons.lang3.CharEncodingTest:org.apache.commons.lang3.CharSetTest:org.apache.commons.lang3.CharSetUtilsTest:org.apache.commons.lang3.ClassUtilsTest:org.apache.commons.lang3.StringEscapeUtilsTest:org.apache.commons.lang3.StringUtilsEqualsIndexOfTest:org.apache.commons.lang3.StringUtilsSubstringTest:org.apache.commons.lang3.StringUtilsTest:org.apache.commons.lang3.ValidateTest:org.apache.commons.lang3.builder.ReflectionToStringBuilderExcludeTest:org.apache.commons.lang3.exception.ExceptionUtilsTest:org.apache.commons.lang3.reflect.ConstructorUtilsTest:org.apache.commons.lang3.reflect.FieldUtilsTest:org.apache.commons.lang3.reflect.MethodUtilsTest:org.apache.commons.lang3.text.StrBuilderTest:org.apache.commons.lang3.text.StrTokenizerTest:
3131
[DEBUG] TRIGGER_TESTS_FILE: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/trigger_tests/37
32-
[DEBUG] CP: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/lib/junit-4.11.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/junit/junit/4.7/junit-4.7.jar:/private/tmp/jithinjohn/gzoltar_74022_Lang-37/target/classes:/private/tmp/jithinjohn/gzoltar_74022_Lang-37/target/test-classes:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/cglib.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/asm.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/easymock.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/commons-io.jar
32+
[DEBUG] CP: /Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/lib/junit-4.11.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/junit/junit/4.7/junit-4.7.jar:/private/tmp/jithinjohn/gzoltar_70241_Lang-37/target/classes:/private/tmp/jithinjohn/gzoltar_70241_Lang-37/target/test-classes:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/cglib.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/asm.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/easymock.jar:/Users/jithinjohn/Downloads/CSC591/defects4j/framework/projects/Lang/lib/commons-io.jar
3333
[INFO] Compiling Lang-37
3434
Running ant (compile)...................................................... OK
3535
Running ant (compile.tests)................................................ OK
3636
[INFO] Running GZoltar
37-
[INFO] Start: Sun Nov 25 10:43:46 PST 2018
37+
[INFO] Start: Sat Dec 1 09:26:57 PST 2018
3838
____ _____ _ _
3939
/ ___|__ /___ | | |_ __ _ _ __
4040
| | _ / // _ \| | __/ _` | '__|
@@ -1541,7 +1541,6 @@ java.lang.ClassNotFoundException: java.lang.xxx
15411541
* Finished org.apache.commons.lang3.ArrayUtilsTest#testIndexOfWithStartIndex
15421542
* Started org.apache.commons.lang3.ArrayUtilsTest#testContainsDouble
15431543
* Finished org.apache.commons.lang3.ArrayUtilsTest#testContainsDouble
1544-
* Filtering test cases that do not cover any component
15451544
* Sending data to master
15461545
* Closing connection with client
15471546
* Performing fault localization
@@ -1550,7 +1549,7 @@ java.lang.ClassNotFoundException: java.lang.xxx
15501549
* Writing spectra to '/Users/jithinjohn/Downloads/CSC591/fault-localization-data/gzoltar/gzoltars/Lang/37/spectra'
15511550
* Metrics
15521551
* Computation finished
1553-
[INFO] End: Sun Nov 25 10:43:51 PST 2018
1552+
[INFO] End: Sat Dec 1 09:27:02 PST 2018
15541553
[DEBUG] MATRIX OK
15551554
[DEBUG] SPECTRA OK
15561555

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
NUMBER_OF_TEST_CLASSES
2+
84

gzoltar/gzoltars/Lang/37/tests

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
org.apache.commons.lang3.StringUtilsTrimEmptyTest
2+
org.apache.commons.lang3.LocaleUtilsTest
3+
org.apache.commons.lang3.mutable.MutableFloatTest
4+
org.apache.commons.lang3.mutable.MutableLongTest
5+
org.apache.commons.lang3.mutable.MutableIntTest
6+
org.apache.commons.lang3.mutable.MutableBooleanTest
7+
org.apache.commons.lang3.mutable.MutableDoubleTest
8+
org.apache.commons.lang3.mutable.MutableByteTest
9+
org.apache.commons.lang3.mutable.MutableObjectTest
10+
org.apache.commons.lang3.mutable.MutableShortTest
11+
org.apache.commons.lang3.ArrayUtilsAddTest
12+
org.apache.commons.lang3.StringUtilsIsTest
13+
org.apache.commons.lang3.ValidateTest
14+
org.apache.commons.lang3.StringUtilsStartsEndsWithTest
15+
org.apache.commons.lang3.SystemUtilsTest
16+
org.apache.commons.lang3.EnumUtilsTest
17+
org.apache.commons.lang3.CharUtilsTest
18+
org.apache.commons.lang3.StringUtilsEqualsIndexOfTest
19+
org.apache.commons.lang3.ArrayUtilsRemoveTest
20+
org.apache.commons.lang3.StringUtilsSubstringTest
21+
org.apache.commons.lang3.SerializationUtilsTest
22+
org.apache.commons.lang3.ObjectUtilsTest
23+
org.apache.commons.lang3.reflect.ConstructorUtilsTest
24+
org.apache.commons.lang3.reflect.MethodUtilsTest
25+
org.apache.commons.lang3.reflect.TypeUtilsTest
26+
org.apache.commons.lang3.reflect.FieldUtilsTest
27+
org.apache.commons.lang3.BitFieldTest
28+
org.apache.commons.lang3.RandomStringUtilsTest
29+
org.apache.commons.lang3.CharSetUtilsTest
30+
org.apache.commons.lang3.StringUtilsTest
31+
org.apache.commons.lang3.math.IEEE754rUtilsTest
32+
org.apache.commons.lang3.math.FractionTest
33+
org.apache.commons.lang3.math.NumberUtilsTest
34+
org.apache.commons.lang3.time.DateUtilsTest
35+
org.apache.commons.lang3.time.DurationFormatUtilsTest
36+
org.apache.commons.lang3.time.DateUtilsFragmentTest
37+
org.apache.commons.lang3.time.DateFormatUtilsTest
38+
org.apache.commons.lang3.time.FastDateFormatTest
39+
org.apache.commons.lang3.time.StopWatchTest
40+
org.apache.commons.lang3.time.DateUtilsRoundingTest
41+
org.apache.commons.lang3.ClassUtilsTest
42+
org.apache.commons.lang3.StringEscapeUtilsTest
43+
org.apache.commons.lang3.RangeTest
44+
org.apache.commons.lang3.CharRangeTest
45+
org.apache.commons.lang3.WordUtilsTest
46+
org.apache.commons.lang3.CharSetTest
47+
org.apache.commons.lang3.concurrent.BackgroundInitializerTest
48+
org.apache.commons.lang3.concurrent.LazyInitializerTest
49+
org.apache.commons.lang3.concurrent.CallableBackgroundInitializerTest
50+
org.apache.commons.lang3.concurrent.MultiBackgroundInitializerTest
51+
org.apache.commons.lang3.concurrent.ConcurrentUtilsTest
52+
org.apache.commons.lang3.text.CompositeFormatTest
53+
org.apache.commons.lang3.text.StrBuilderTest
54+
org.apache.commons.lang3.text.StrBuilderAppendInsertTest
55+
org.apache.commons.lang3.text.translate.EntityArraysTest
56+
org.apache.commons.lang3.text.translate.UnicodeUnescaperTest
57+
org.apache.commons.lang3.text.translate.UnicodeEscaperTest
58+
org.apache.commons.lang3.text.translate.NumericEntityEscaperTest
59+
org.apache.commons.lang3.text.translate.LookupTranslatorTest
60+
org.apache.commons.lang3.text.StrLookupTest
61+
org.apache.commons.lang3.text.ExtendedMessageFormatTest
62+
org.apache.commons.lang3.text.StrMatcherTest
63+
org.apache.commons.lang3.text.StrSubstitutorTest
64+
org.apache.commons.lang3.text.StrTokenizerTest
65+
org.apache.commons.lang3.CharEncodingTest
66+
org.apache.commons.lang3.builder.HashCodeBuilderTest
67+
org.apache.commons.lang3.builder.StandardToStringStyleTest
68+
org.apache.commons.lang3.builder.NoFieldNamesToStringStyleTest
69+
org.apache.commons.lang3.builder.ToStringBuilderTest
70+
org.apache.commons.lang3.builder.SimpleToStringStyleTest
71+
org.apache.commons.lang3.builder.CompareToBuilderTest
72+
org.apache.commons.lang3.builder.EqualsBuilderTest
73+
org.apache.commons.lang3.builder.DefaultToStringStyleTest
74+
org.apache.commons.lang3.builder.ShortPrefixToStringStyleTest
75+
org.apache.commons.lang3.builder.ReflectionToStringBuilderExcludeTest
76+
org.apache.commons.lang3.builder.ToStringStyleTest
77+
org.apache.commons.lang3.builder.HashCodeBuilderAndEqualsBuilderTest
78+
org.apache.commons.lang3.builder.MultiLineToStringStyleTest
79+
org.apache.commons.lang3.exception.DefaultExceptionContextTest
80+
org.apache.commons.lang3.exception.ContextedRuntimeExceptionTest
81+
org.apache.commons.lang3.exception.ExceptionUtilsTest
82+
org.apache.commons.lang3.exception.ContextedExceptionTest
83+
org.apache.commons.lang3.BooleanUtilsTest
84+
org.apache.commons.lang3.ArrayUtilsTest

gzoltar/run_gzoltar.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,13 +229,18 @@ java -Xmx4096M -jar $GZOLTAR_JAR \
229229
-Dmax_perm_size=1024 \
230230
-Dinclude_suspiciousness_value=true \
231231
-Dstatistics_backend=NONE \
232+
-Dfilter_spectra=NONE \
232233
-diagnose >> "$LOG_FILE" 2>&1
233234
#END=$(date +%s)
234235
#IN_SECONDS=$(echo "$END - $START" | bc)
235236
#SECONDS_IN_HUMAN_FORMAT=$(date -d@$IN_SECONDS -u +%H:%M:%S)
236237
#echo "[INFO] It tooks $SECONDS_IN_HUMAN_FORMAT to run GZoltar!" >> "$LOG_FILE" 2>&1
237238
echo "[INFO] End: $(date)" >> $LOG_FILE
238239

240+
java -Xmx4096M -jar $GZOLTAR_JAR -listTests \
241+
-Dproject_cp=$CP \
242+
-Dgzoltar_data_dir=$DATA_DIR \
243+
239244
popd > /dev/null 2>&1
240245

241246
##

0 commit comments

Comments
 (0)