Skip to content

Commit 1b046f1

Browse files
authored
Add rpki-commons, update calcuation, and DockerFile (gousiosg#19)
* Ensure the results project name exists. * Add progress on Dockerfile * rpki-commons additional * Update scoring to only assign a score to red nodes. * Add try...catch * Update patch/yaml for jflex
1 parent d5fc177 commit 1b046f1

File tree

10 files changed

+593
-158
lines changed

10 files changed

+593
-158
lines changed

Dockerfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM maven:3.8.6-eclipse-temurin-11-alpine
2+
3+
# if work dir changed, the RUN sed line needs changes also
4+
WORKDIR /root
5+
6+
# add needing packages
7+
RUN apk add --no-cache git sed patch graphviz
8+
9+
RUN mkdir -p -m 700 artifact/
10+
RUN mkdir -p -m 700 git/
11+
12+
# copy java-callgraph and repos
13+
COPY git/java-callgraph artifact/
14+
COPY git/mph-table/ git/mph-table/
15+
16+
# custom prompt
17+
RUN echo PS1=\"[\\u@artifact-java-callgraph \\W]\\$ \" > .bashrc
18+
19+
# alter artifact files to point git locally instead
20+
RUN sed -i 's/https:\/\/github.com\/indeedeng\/mph-table.git/\/root\/git\/mph-table/g' "artifact/artifacts/configs/mph-table/mph-table.yaml"
21+
22+
23+
ENTRYPOINT ["/bin/bash"]

artifacts/configs/jflex-fixed/jflex-fixed.patch

Lines changed: 33 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -94,149 +94,57 @@ index 109146e2..4af8ce29 100644
9494
"//third_party/com/google/truth",
9595
"//third_party/com/pholser/quickcheck",
9696
diff --git a/jflex/src/test/java/jflex/core/unicode/CharClassesQuickcheck.java b/jflex/src/test/java/jflex/core/unicode/CharClassesQuickcheck.java
97-
index 876f0387..22be04d6 100644
97+
index 876f0387..5c80c0dc 100644
9898
--- a/jflex/src/test/java/jflex/core/unicode/CharClassesQuickcheck.java
9999
+++ b/jflex/src/test/java/jflex/core/unicode/CharClassesQuickcheck.java
100100
@@ -12,6 +12,7 @@ package jflex.core.unicode;
101101
import static com.google.common.truth.Truth.assertThat;
102102
import static org.junit.Assume.assumeTrue;
103-
103+
104104
+import com.pholser.junit.quickcheck.From;
105105
import com.pholser.junit.quickcheck.Property;
106106
import com.pholser.junit.quickcheck.generator.InRange;
107107
import com.pholser.junit.quickcheck.generator.Size;
108-
@@ -31,6 +32,7 @@ import org.junit.runner.RunWith;
109-
*/
110-
@RunWith(JUnitQuickcheck.class)
111-
public class CharClassesQuickcheck {
112-
+ UnicodeProperties unicodeProperties;
113-
114-
// TODO(lsf): add testing for caseless; needs UnicodeProperties
115-
116-
@@ -48,17 +50,24 @@ public class CharClassesQuickcheck {
108+
@@ -47,9 +48,7 @@ public class CharClassesQuickcheck {
109+
117110
@Property
118111
public void addSingle(
119-
CharClasses classes,
112+
- CharClasses classes,
120113
- @InRange(minInt = 0, maxInt = CharClasses.maxChar) int c1,
121114
- @InRange(minInt = 0, maxInt = CharClasses.maxChar) int c2) {
122-
+ @From(IntCharGen.class) int c1,
123-
+ @From(IntCharGen.class) int c2,
124-
+ boolean caseless)
125-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
126-
+
115+
+ CharClasses classes, @From(IntCharGen.class) int c1, @From(IntCharGen.class) int c2) {
127116
assumeTrue(c1 != c2);
128-
- classes.makeClass(c1, false);
129-
+
130-
+ if (caseless) {
131-
+ classesInit(classes);
132-
+ }
133-
+
134-
+ classes.makeClass(c1, caseless);
117+
classes.makeClass(c1, false);
135118
assertThat(classes.invariants()).isTrue();
136-
assertThat(classes.getClassCode(c1)).isNotEqualTo(classes.getClassCode(c2));
119+
@@ -57,8 +56,7 @@ public class CharClassesQuickcheck {
137120
}
138-
121+
139122
@Property
140123
- public void addSingleSingleton(
141124
- CharClasses classes, @InRange(minInt = 0, maxInt = CharClasses.maxChar) int c) {
142125
+ public void addSingleSingleton(CharClasses classes, @From(IntCharGen.class) int c) {
143126
classes.makeClass(c, false);
144127
IntCharSet set = classes.getCharClass(classes.getClassCode(c));
145128
assertThat(set).isEqualTo(IntCharSet.ofCharacter(c));
146-
@@ -68,11 +77,17 @@ public class CharClassesQuickcheck {
129+
@@ -68,7 +66,7 @@ public class CharClassesQuickcheck {
147130
public void addSet(
148131
CharClasses classes,
149132
@InRange(maxInt = CharClasses.maxChar) IntCharSet set,
150133
- @InRange(minInt = 0, maxInt = CharClasses.maxChar) int c) {
151-
+ @From(IntCharGen.class) int c,
152-
+ boolean caseless)
153-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
154-
134+
+ @From(IntCharGen.class) int c) {
135+
155136
assumeTrue(!set.contains(c));
156-
157-
- classes.makeClass(set, false);
158-
+ if (caseless) {
159-
+ classesInit(classes);
160-
+ }
161-
+
162-
+ classes.makeClass(set, caseless);
163-
assertThat(classes.invariants()).isTrue();
164-
165-
int[] classCodes = classes.getClassCodes(set, false);
166-
@@ -84,9 +99,15 @@ public class CharClassesQuickcheck {
167-
168-
@Property
169-
public void addSetParts(
170-
- CharClasses classes, @InRange(maxInt = CharClasses.maxChar) IntCharSet set) {
171-
+ CharClasses classes, @InRange(maxInt = CharClasses.maxChar) IntCharSet set, boolean caseless)
172-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
173-
174-
- classes.makeClass(set, false);
175-
+ if (caseless) {
176-
+ classesInit(classes);
177-
+ set = set.getCaseless(unicodeProperties);
178-
+ }
179-
+
180-
+ classes.makeClass(set, caseless);
181-
182-
int[] classCodes = classes.getClassCodes(set, false);
183-
IntCharSet allParts = new IntCharSet();
184-
@@ -98,9 +119,15 @@ public class CharClassesQuickcheck {
185-
186-
@Property
187-
public void addSetComplement(
188-
- CharClasses classes, @InRange(maxInt = CharClasses.maxChar) IntCharSet set) {
189-
+ CharClasses classes, @InRange(maxInt = CharClasses.maxChar) IntCharSet set, boolean caseless)
190-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
191-
+
192-
+ if (caseless) {
193-
+ classesInit(classes);
194-
+ set = set.getCaseless(unicodeProperties);
195-
+ }
196-
197-
- classes.makeClass(set, false);
198-
+ classes.makeClass(set, caseless);
199-
200-
int[] notCodes = classes.getClassCodes(set, true);
201-
IntCharSet others = new IntCharSet();
202-
@@ -112,11 +139,16 @@ public class CharClassesQuickcheck {
203-
137+
138+
@@ -111,8 +109,7 @@ public class CharClassesQuickcheck {
139+
}
140+
204141
@Property
205-
public void addString(
142+
- public void addString(
206143
- CharClasses classes, String s, @InRange(minInt = 0, maxInt = CharClasses.maxChar) int c) {
207-
+ CharClasses classes, String s, @From(IntCharGen.class) int c, boolean caseless)
208-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
209-
144+
+ public void addString(CharClasses classes, String s, @From(IntCharGen.class) int c) {
145+
210146
assumeTrue(s.indexOf(c) < 0);
211-
212-
- classes.makeClass(s, false);
213-
+ if (caseless) {
214-
+ classesInit(classes);
215-
+ }
216-
+
217-
+ classes.makeClass(s, caseless);
218-
assertThat(classes.invariants()).isTrue();
219-
220-
int cCode = classes.getClassCode(c);
221-
@@ -203,4 +235,18 @@ public class CharClassesQuickcheck {
222-
assertThat(intervals[i].end + 1).isEqualTo(intervals[i + 1].start);
223-
}
224-
}
225-
+
226-
+ private void classesInit(CharClasses classes)
227-
+ throws UnicodeProperties.UnsupportedUnicodeVersionException {
228-
+ // init classes
229-
+ unicodeProperties = new UnicodeProperties();
230-
+ classes.init(
231-
+ CharClasses.maxChar,
232-
+ new ILexScan() {
233-
+ @Override
234-
+ public UnicodeProperties getUnicodeProperties() {
235-
+ return unicodeProperties;
236-
+ }
237-
+ });
238-
+ }
239-
}
147+
240148
diff --git a/jflex/src/test/java/jflex/core/unicode/IntCharGen.java b/jflex/src/test/java/jflex/core/unicode/IntCharGen.java
241149
new file mode 100644
242150
index 00000000..45e47ee8
@@ -299,13 +207,13 @@ index 7ff19e45..9d80976a 100644
299207
import com.pholser.junit.quickcheck.random.SourceOfRandomness;
300208
import jflex.chars.IntervalGen;
301209
+import jflex.logging.Out;
302-
210+
303211
/**
304212
* Generator for random {@link IntCharSet} instances.
305213
@@ -48,6 +49,15 @@ public class IntCharSetGen extends Generator<IntCharSet> {
306214
result.add(intervals.generate(r, status));
307215
}
308-
216+
309217
+ // randomly add possible additional cased character
310218
+ if (numIntervals < maxSize && r.nextBoolean()) {
311219
+ try {
@@ -317,7 +225,7 @@ index 7ff19e45..9d80976a 100644
317225
+
318226
return result;
319227
}
320-
228+
321229
diff --git a/jflex/src/test/java/jflex/state/BUILD.bazel b/jflex/src/test/java/jflex/state/BUILD.bazel
322230
index 936249c8..7481ca43 100644
323231
--- a/jflex/src/test/java/jflex/state/BUILD.bazel
@@ -388,27 +296,27 @@ index e9962397..1f4d2443 100644
388296
@@ -50,6 +50,11 @@ public class StateSetGen extends Generator<StateSet> {
389297
result.addState(r.nextInt(minRange, maxRange));
390298
}
391-
299+
392300
+ // add large value 20% of the time
393301
+ if (r.nextInt(1, 5) == 5) {
394302
+ result.addState(r.nextInt(minRange + 100_000, maxRange + 100_000));
395303
+ }
396304
+
397305
return result;
398306
}
399-
307+
400308
diff --git a/jflex/src/test/java/jflex/state/StateSetQuickcheck.java b/jflex/src/test/java/jflex/state/StateSetQuickcheck.java
401309
index 2537700d..0ac0e12c 100644
402310
--- a/jflex/src/test/java/jflex/state/StateSetQuickcheck.java
403311
+++ b/jflex/src/test/java/jflex/state/StateSetQuickcheck.java
404312
@@ -11,9 +11,13 @@ package jflex.state;
405-
313+
406314
import static com.google.common.truth.Truth.assertThat;
407315
import static com.google.common.truth.Truth.assertWithMessage;
408316
+import static org.hamcrest.core.IsEqual.equalTo;
409317
+import static org.junit.Assume.assumeThat;
410318
import static org.junit.Assume.assumeTrue;
411-
319+
412320
+import com.pholser.junit.quickcheck.From;
413321
import com.pholser.junit.quickcheck.Property;
414322
+import com.pholser.junit.quickcheck.generator.Also;
@@ -441,11 +349,11 @@ index 2537700d..0ac0e12c 100644
441349
+ s.remove(largerState);
442350
+ assertThat(s).isEqualTo(sPre);
443351
}
444-
352+
445353
@Property
446354
@@ -181,10 +197,27 @@ public class StateSetQuickcheck {
447355
}
448-
356+
449357
@Property
450358
- public void addStateDoesNotRemove(StateSet set, @InRange(minInt = 0, maxInt = 34) int e) {
451359
+ public void addStateDoesNotRemove(
@@ -470,7 +378,7 @@ index 2537700d..0ac0e12c 100644
470378
+ assertThat(set.hasElement(newValue)).isTrue();
471379
+ assertThat(setPre.contains(set)).isFalse();
472380
}
473-
381+
474382
@Property
475383
@@ -208,6 +241,12 @@ public class StateSetQuickcheck {
476384
StateSet comp = s1.complement(s2);
@@ -483,7 +391,7 @@ index 2537700d..0ac0e12c 100644
483391
+ assertThat(comp.contains(s1)).isFalse();
484392
+ }
485393
}
486-
394+
487395
@Property
488396
@@ -228,6 +267,13 @@ public class StateSetQuickcheck {
489397
public void containsElements(StateSet s, @InRange(minInt = 0, maxInt = 34) int e) {
@@ -497,5 +405,5 @@ index 2537700d..0ac0e12c 100644
497405
+ }
498406
+ assertThat(s.containsElements()).isFalse();
499407
}
500-
501-
@Property
408+
409+
@Property

artifacts/configs/jflex-fixed/jflex-fixed.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@ properties:
7575
- name: CharClassesQuickcheck#maxCharCode
7676
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.maxCharCode(Ljflex/core/unicode/CharClasses;)V"
7777
- name: CharClassesQuickcheck#addSingle
78-
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSingle(Ljflex/core/unicode/CharClasses;IIZ)V"
78+
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSingle(Ljflex/core/unicode/CharClasses;II)V"
7979
- name: CharClassesQuickcheck#addSingleSingleton
8080
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSingleSingleton(Ljflex/core/unicode/CharClasses;I)V"
8181
- name: CharClassesQuickcheck#addSet
82-
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSet(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;IZ)V"
82+
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSet(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;I)V"
8383
- name: CharClassesQuickcheck#addSetParts
84-
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSetParts(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;Z)V"
84+
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSetParts(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;)V"
8585
- name: CharClassesQuickcheck#addSetComplement
86-
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSetComplement(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;Z)V"
86+
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addSetComplement(Ljflex/core/unicode/CharClasses;Ljflex/core/unicode/IntCharSet;)V"
8787
- name: CharClassesQuickcheck#addString
8888
entryPoint: "jflex.core.unicode.CharClassesQuickcheck.addString(Ljflex/core/unicode/CharClasses;Ljava/lang/String;IZ)V"
8989
- name: CharClassesQuickcheck#normaliseSingle

0 commit comments

Comments
 (0)