Skip to content

Commit 711b39f

Browse files
authored
remove test jars from the repository, generate them instead (#294)
* remove test jars from the repository, generate them instead script now generates cpgs from sources, by compiling them and creating jars, rather than having the jars checked into the repository it also allows for 'pregenerated' jars like helloshiftleft, since we don't want to invoke the full maven build * regenerate cpgs
1 parent ffc6cdc commit 711b39f

File tree

44 files changed

+67
-68
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+67
-68
lines changed

.gitattributes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
resources/cpgs/** filter=lfs diff=lfs merge=lfs -text
1+
resources/testcode/** filter=lfs diff=lfs merge=lfs -text

cpgqueryingtests/src/main/scala/io/shiftleft/cpgqueryingtests/codepropertygraph/CpgTestFixture.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import io.shiftleft.layers.{DataFlowRunner, EnhancementRunner}
77
import io.shiftleft.semanticsloader.SemanticsLoader
88

99
class CpgTestFixture(projectName: String) {
10-
lazy val cpg = CpgLoader.load(s"resources/cpgs/$projectName/cpg.bin.zip",
10+
lazy val cpg = CpgLoader.load(s"resources/testcode/cpgs/$projectName/cpg.bin.zip",
1111
CpgLoaderConfig().withOverflowConfig(OverflowDbConfig.disabled))
1212
new EnhancementRunner().run(cpg, new SerializedCpg())
1313
new DataFlowRunner(SemanticsLoader.emptySemantics).run(cpg, new SerializedCpg());

regenerate-test-cpgs.sh

+34-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,47 @@
11
#!/usr/bin/env sh
22

3-
export CPG_HOME=`pwd`
3+
# stop on errors
4+
set -e
5+
set -o pipefail
6+
7+
CPG_HOME=`pwd`
8+
TESTCODE_ROOT="$CPG_HOME/resources/testcode"
9+
SRC_ROOT="$TESTCODE_ROOT/sources"
10+
JARS_ROOT="$TESTCODE_ROOT/jars"
11+
PREGENERATED_JARS_ROOT="$TESTCODE_ROOT/jars-pregenerated"
12+
CPGS_ROOT="$TESTCODE_ROOT/cpgs"
413

514
DEFAULT_JAVA2CPG_HOME=`readlink -f ../java2cpg`
615
if [ -z "$JAVA2CPG_HOME" ]; then
716
JAVA2CPG_HOME=$DEFAULT_JAVA2CPG_HOME
817
fi
9-
1018
echo "java2cpg home directory: $JAVA2CPG_HOME"
1119

20+
# start fresh
21+
find "$SRC_ROOT" -name '*.class' -exec rm -rf {} \;
22+
rm -rf "$JARS_ROOT"
23+
cp -rp "$PREGENERATED_JARS_ROOT" "$JARS_ROOT"
24+
rm -rf "$CPGS_ROOT"
25+
mkdir -p "$CPGS_ROOT"
26+
27+
# create jars
28+
cd "$SRC_ROOT"
29+
for TESTCASE in `ls`; do
30+
cd "$SRC_ROOT/$TESTCASE"
31+
echo "creating jar for `pwd`"
32+
javac -g *
33+
jar -cvf "$JARS_ROOT/$TESTCASE.jar" .
34+
done;
35+
1236
cd $JAVA2CPG_HOME
1337
sbt stage
1438

15-
for jar in `find $CPG_HOME/resources/cpgs -name '*.jar'`; do
16-
OUT_DIR=`dirname $jar`
17-
./java2cpg.sh $jar -o $OUT_DIR/cpg.bin.zip
39+
for jar in `find "$JARS_ROOT" -name '*.jar'`; do
40+
TESTCASE=`basename "$jar" | sed s/\.jar//`
41+
mkdir -p "$CPGS_ROOT/$TESTCASE"
42+
./java2cpg.sh "$jar" -o "$CPGS_ROOT/$TESTCASE/cpg.bin.zip"
1843
done;
44+
45+
# cleanup
46+
find "$SRC_ROOT" -name '*.class' -exec rm -rf {} \;
47+
rm -rf "$JARS_ROOT"

resources/cpgs/expression/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/expression/expression.jar

-3
This file was deleted.

resources/cpgs/file/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/file/file.jar

-3
This file was deleted.

resources/cpgs/helloshiftleft/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/memberaccesslinker/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/memberaccesslinker/memberaccesslinker.jar

-3
This file was deleted.

resources/cpgs/method/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/method/method.jar

-3
This file was deleted.

resources/cpgs/methodparameter/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/methodparameter/methodparameter.jar

-3
This file was deleted.

resources/cpgs/namespace/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/namespace/namespace.jar

-3
This file was deleted.

resources/cpgs/splitmeup/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/splitmeup/splitmeup.jar

-3
This file was deleted.

resources/cpgs/sqlinjectionservlet/SqlInjectionServlet.java

-3
This file was deleted.

resources/cpgs/sqlinjectionservlet/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/sqlinjectionservlet/sqlinj.jar

-3
This file was deleted.

resources/cpgs/type/cpg.bin.zip

-3
This file was deleted.

resources/cpgs/type/type.jar

-3
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:855b48ae931b2a1edec475b82a0c99aca8a2579db0ecbbf348d9bafb1b987f9b
3+
size 17827
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:3ff72c9b2237ce536c97c3d769bb09d8fbeab21d60146442e79a72a9728094d2
3+
size 17497
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:6da53f44619b8c959102faf3081cf51b15761d785671f01906f7fdae14572de2
3+
size 601600
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:7f343b8714136b564e623388996b581fca27a6a85a868fdfbdecbde5e54235ab
3+
size 19823
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:eba78b92b7dab475d85b2070dfc093354197af2b4ee01878c5bd5d65e79a91ae
3+
size 22581
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:99f3feb90d21d42499ae85fe202bd5f6f06b8c445235d30b8ce243cd9801d024
3+
size 17808
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:0d8a41b7438464e22e683caf41b819a5d9e0c6b45ff0db5ed1b528c1e655b87b
3+
size 16845
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:d00f710c4395d22c2bd4708041969bcf25d3f290573edf3a5a5f89ef218cd5a1
3+
size 26621
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:4833e39f0a40642e976a30eab76b7a324b3fd91970c9dcf65b404fc031a62694
3+
size 22241
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:637856006e87ba06ca594960e733e0d86bcc9d049704002d78476e1be030aa47
3+
size 32496494

semanticcpg/src/test/scala/io/shiftleft/semanticcpg/Fixture.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import io.shiftleft.layers.{DataFlowRunner, EnhancementRunner}
77
import io.shiftleft.semanticsloader.SemanticsLoader
88

99
class Fixture(projectName: String) {
10-
val cpg = CpgLoader.load(s"resources/cpgs/$projectName/cpg.bin.zip",
10+
val cpg = CpgLoader.load(s"resources/testcode/cpgs/$projectName/cpg.bin.zip",
1111
CpgLoaderConfig().withOverflowConfig(OverflowDbConfig.disabled))
1212
new EnhancementRunner().run(cpg, new SerializedCpg())
1313
new DataFlowRunner(SemanticsLoader.emptySemantics)

0 commit comments

Comments
 (0)