Skip to content

Commit

Permalink
chore(obfuscator): a lot more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
terminalsin committed Aug 13, 2022
1 parent 0a5fa29 commit eb964be
Show file tree
Hide file tree
Showing 32 changed files with 662 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,10 @@ public void run() {
}
}
LOGGER.log("Finished dumping classes...");
EventBus.end();

_dump();

EventBus.end();

LOGGER.post("Goodbye!");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import dev.skidfuscator.obfuscator.util.MiscUtil;
import dev.skidfuscator.obfuscator.verifier.Verifier;
import dev.skidfuscator.testclasses.TestRun;
import org.junit.jupiter.api.AfterEach;
import org.mapleir.app.service.ApplicationClassSource;
import org.mapleir.app.service.ClassTree;
import org.mapleir.app.service.LibraryClassSource;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ifacmpne;
import dev.skidfuscator.testclasses.conditionals.Ifdcmp;

public class IfdcmpTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ifdcmp.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ifdcmp.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ifdcmp;
import dev.skidfuscator.testclasses.conditionals.Iffcmp;

public class IffcmpTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Iffcmp.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Iffcmp.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Iffcmp;
import dev.skidfuscator.testclasses.conditionals.Ificmpeq;

public class IficmpeqTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmpeq.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmpeq.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmpeq;
import dev.skidfuscator.testclasses.conditionals.Ificmpge;

public class IficmpgeTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmpge.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmpge.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmpge;
import dev.skidfuscator.testclasses.conditionals.Ificmpgt;

public class IficmpgtTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmpgt.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmpgt.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmpgt;
import dev.skidfuscator.testclasses.conditionals.Ificmple;

public class IficmpleTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmple.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmple.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmple;
import dev.skidfuscator.testclasses.conditionals.Ificmplt;

public class IficmpltTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmplt.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmplt.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmplt;
import dev.skidfuscator.testclasses.conditionals.Ificmpne;

public class IficmpneTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ificmpne.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ificmpne.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ificmpne;
import dev.skidfuscator.testclasses.conditionals.Iflcmp;

public class IflcmpTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Iflcmp.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Iflcmp.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Iflcmp;
import dev.skidfuscator.testclasses.conditionals.Ifnonnull;

public class IfnonnullTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ifnonnull.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ifnonnull.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ifnonnull;
import dev.skidfuscator.testclasses.conditionals.Ifnull;

public class IfnullTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Ifnull.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Ifnull.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Lookupswitch;
import dev.skidfuscator.testclasses.conditionals.LookupswitchNoDefault;

public class LookupswitchNoDefaultTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return LookupswitchNoDefault.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
LookupswitchNoDefault.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Ifnull;
import dev.skidfuscator.testclasses.conditionals.Lookupswitch;

public class LookupswitchTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Lookupswitch.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Lookupswitch.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.Tableswitch;
import dev.skidfuscator.testclasses.conditionals.TableswitchNoDefault;

public class TableswitchNoDefaultTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return TableswitchNoDefault.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
TableswitchNoDefault.class
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package dev.skidfuscator.test.conditionals;

import dev.skidfuscator.core.SkidTest;
import dev.skidfuscator.testclasses.TestRun;
import dev.skidfuscator.testclasses.conditionals.LookupswitchNoDefault;
import dev.skidfuscator.testclasses.conditionals.Tableswitch;

public class TableswitchTest extends SkidTest {
@Override
public Class<? extends TestRun> getMainClass() {
return Tableswitch.class;
}

@Override
public Class<?>[] getClasses() {
return new Class[]{
Tableswitch.class
};
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
package dev.skidfuscator.testclasses.conditionals;


public class Iffcmp {
public Iffcmp() {
import dev.skidfuscator.annotations.Exclude;
import dev.skidfuscator.testclasses.TestRun;

import java.util.Random;

public class Iffcmp implements TestRun {
@Override
public void run() {
final Random random = new Random();
for (int i = 0; i < 64; i++) {
final float randomF = random.nextFloat();
assert exec(randomF) == exec_real(randomF) : "Failed equality check";
}
}

public int exec(float value) {
Expand All @@ -24,4 +34,23 @@ public int exec(float value) {
return a + b + c + d + e + f;
}

@Exclude
public int exec_real(float value) {
int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
float compareme = 3.5f;
if (value == compareme)
a = 1;
if (value != compareme)
b = 10;
if (value < compareme)
c = 100;
if (value <= compareme)
d = 1000;
if (value > compareme)
e = 10000;
if (value >= compareme)
f = 100000;
return a + b + c + d + e + f;
}

}
Loading

0 comments on commit eb964be

Please sign in to comment.