Skip to content

Commit

Permalink
[tests] Add test for correct ndll path
Browse files Browse the repository at this point in the history
  • Loading branch information
tobil4sk committed Mar 7, 2023
1 parent 0e95089 commit 91fd1d4
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 0 deletions.
70 changes: 70 additions & 0 deletions tests/misc/neko/projects/Issue10937/Main.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import sys.io.Process;

using StringTools;

enum abstract Arch(String) {
final Arm64;
final Arm;
final X86;
final X86_64;

public function getNdllSuffix():String {
return switch abstract {
case Arm64: "Arm64";
case Arm: "Arm";
case X86_64: "64";
case X86: "";
};
}
}

function getArchWindows() {
return switch Sys.getEnv("PROCESSOR_ARCHITECTURE") {
case "x86": X86;
case "AMD64": X86_64;
case "ARM64": Arm64;
case other: throw 'Unknown CPU architecture: $other';
};
}

function getArchUnix() {
final uname = new Process("uname", ["-m"]);

final arch = try {
uname.stdout.readLine();
} catch (e:haxe.io.Eof) {
"";
};

uname.kill();
uname.close();

return switch arch {
case "x86_64" | "amd64": X86_64;
case "i386" | "x86": X86;
case "arm64" | "aarch64": Arm64;
case "arm": Arm;
case other: throw 'Unknown CPU architecture: "$other"';
};
}

function getArch() {
return switch Sys.systemName() {
case "Windows": getArchWindows();
default: getArchUnix();
};
}

function main() {
final arch = getArch();

final expectedNdllSubDir = Sys.systemName() + arch.getNdllSuffix() + "/";

final ndllPath = neko.vm.Loader.local().getPath()[0];

if (ndllPath.endsWith(expectedNdllSubDir)) {
Sys.println("Success");
} else {
Sys.println('Failure: Expected $ndllPath to end with $expectedNdllSubDir');
}
}
1 change: 1 addition & 0 deletions tests/misc/neko/projects/Issue10937/aaa-setup.hxml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--cmd haxelib dev dummy_ndll dummy_ndll
4 changes: 4 additions & 0 deletions tests/misc/neko/projects/Issue10937/compile.hxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
--main Main
--neko bin/main.n
-lib dummy_ndll
--cmd neko bin/main.n
1 change: 1 addition & 0 deletions tests/misc/neko/projects/Issue10937/compile.hxml.stdout
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Success
Empty file.
2 changes: 2 additions & 0 deletions tests/misc/neko/run.hxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-cp ../src
--run Main
3 changes: 3 additions & 0 deletions tests/runci/targets/Neko.hx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ class Neko {
runCommand("haxe", ["compile-neko.hxml", "-D", "dump", "-D", "dump_ignore_var_ids"].concat(args));
runCommand("neko", ["bin/unit.n"]);

changeDirectory(getMiscSubDir('neko'));
runCommand("haxe", ["run.hxml"].concat(args));

changeDirectory(sysDir);
runCommand("haxe", ["compile-neko.hxml"].concat(args));
runSysTest("neko", ["bin/neko/sys.n"]);
Expand Down

0 comments on commit 91fd1d4

Please sign in to comment.