From d4ded2dd1931373a608df708aec0baa68900bc55 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Wed, 18 May 2022 18:35:12 +0800 Subject: [PATCH] =?UTF-8?q?perf[protocol]:=20=E4=BD=BF=E7=94=A8=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=94=9F=E6=88=90=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generate/GenerateProtocolFile.java | 4 +- .../serializer/lua/GenerateLuaUtils.java | 186 +++++------------- ...anager.lua => ProtocolManagerTemplate.lua} | 7 + .../main/resources/lua/ProtocolTemplate.lua | 33 ++++ protocol/src/test/csharp/Main.cs | 4 +- .../LuaProtocol/Buffer/ByteBuffer.lua | 0 .../LuaProtocol/Buffer/Long.lua | 0 .../LuaProtocol/Packet/ComplexObject.lua | 0 .../LuaProtocol/Packet/NormalObject.lua | 0 .../LuaProtocol/Packet/ObjectA.lua | 0 .../LuaProtocol/Packet/ObjectB.lua | 0 .../LuaProtocol/Packet/SimpleObject.lua | 0 .../LuaProtocol/ProtocolManager.lua | 0 .../LuaProtocolTest.cs => lua/Main.cs} | 9 +- .../LuaProtocolTest.lua => lua/main.lua} | 0 15 files changed, 99 insertions(+), 144 deletions(-) rename protocol/src/main/resources/lua/{ProtocolManager.lua => ProtocolManagerTemplate.lua} (88%) create mode 100644 protocol/src/main/resources/lua/ProtocolTemplate.lua rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Buffer/ByteBuffer.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Buffer/Long.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Packet/ComplexObject.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Packet/NormalObject.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Packet/ObjectA.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Packet/ObjectB.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/Packet/SimpleObject.lua (100%) rename protocol/src/test/{resources/luaTest => lua}/LuaProtocol/ProtocolManager.lua (100%) rename protocol/src/test/{resources/luaTest/LuaProtocolTest.cs => lua/Main.cs} (86%) rename protocol/src/test/{resources/luaTest/LuaProtocolTest.lua => lua/main.lua} (100%) diff --git a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolFile.java b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolFile.java index 3ae433df..b4522154 100644 --- a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolFile.java +++ b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolFile.java @@ -128,7 +128,9 @@ public abstract class GenerateProtocolFile { if (generateLanguages.contains(CodeLanguage.Lua)) { GenerateLuaUtils.init(generateOperation); GenerateLuaUtils.createProtocolManager(allSortedGenerateProtocols); - allSortedGenerateProtocols.forEach(it -> GenerateLuaUtils.createLuaProtocolFile((ProtocolRegistration) it)); + for (var protocolRegistration : allSortedGenerateProtocols) { + GenerateLuaUtils.createLuaProtocolFile((ProtocolRegistration) protocolRegistration); + } } // 生成GdScript协议 diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/lua/GenerateLuaUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/lua/GenerateLuaUtils.java index 3de09c97..245c7799 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/lua/GenerateLuaUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/lua/GenerateLuaUtils.java @@ -17,9 +17,9 @@ import com.zfoo.protocol.generate.GenerateOperation; import com.zfoo.protocol.generate.GenerateProtocolDocument; import com.zfoo.protocol.generate.GenerateProtocolFile; import com.zfoo.protocol.generate.GenerateProtocolPath; +import com.zfoo.protocol.model.Pair; import com.zfoo.protocol.registration.IProtocolRegistration; import com.zfoo.protocol.registration.ProtocolRegistration; -import com.zfoo.protocol.registration.field.IFieldRegistration; import com.zfoo.protocol.serializer.reflect.*; import com.zfoo.protocol.util.ClassUtils; import com.zfoo.protocol.util.FileUtils; @@ -28,8 +28,10 @@ import com.zfoo.protocol.util.StringUtils; import java.io.File; import java.io.IOException; -import java.lang.reflect.Field; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static com.zfoo.protocol.util.FileUtils.LS; @@ -79,7 +81,6 @@ public abstract class GenerateLuaUtils { public static void createProtocolManager(List protocolList) throws IOException { var list = List.of("lua/Buffer/ByteBuffer.lua", "lua/Buffer/Long.lua"); - for (var fileName : list) { var fileInputStream = ClassUtils.getFileFromClassPath(fileName); var createFile = new File(StringUtils.format("{}/{}", protocolOutputRootPath, StringUtils.substringAfterFirst(fileName, "lua/"))); @@ -87,110 +88,71 @@ public abstract class GenerateLuaUtils { } // 生成Protocol.lua文件 - var luaBuilder = new StringBuilder(); + var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("lua/ProtocolManagerTemplate.lua"))); + var fieldBuilder = new StringBuilder(); + var protocolBuilder = new StringBuilder(); + for (var protocol : protocolList) { + var protocolId = protocol.protocolId(); + var name = protocol.protocolConstructor().getDeclaringClass().getSimpleName(); + var path = GenerateProtocolPath.getCapitalizeProtocolPath(protocolId); + if (StringUtils.isBlank(path)) { + fieldBuilder.append(TAB).append(StringUtils.format("local {} = require(\"LuaProtocol.{}\")", name, name)).append(LS); + } else { + fieldBuilder.append(TAB).append(StringUtils.format("local {} = require(\"LuaProtocol.{}.{}\")" + , name, path.replaceAll(StringUtils.SLASH, StringUtils.PERIOD), name)).append(LS); + } - var protocolManagerStr = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("lua/ProtocolManager.lua"))); - luaBuilder.append(protocolManagerStr); - - luaBuilder.append("function initProtocol()").append(LS); - protocolList.stream() - .filter(it -> Objects.nonNull(it)) - .forEach(it -> { - var name = it.protocolConstructor().getDeclaringClass().getSimpleName(); - var path = GenerateProtocolPath.getCapitalizeProtocolPath(it.protocolId()); - - if (StringUtils.isBlank(path)) { - luaBuilder.append(TAB).append(StringUtils.format("local {} = require(\"LuaProtocol.{}\")", name, name)).append(LS); - } else { - luaBuilder.append(TAB).append(StringUtils.format("local {} = require(\"LuaProtocol.{}.{}\")" - , name, path.replaceAll(StringUtils.SLASH, StringUtils.PERIOD), name)).append(LS); - } - }); - - protocolList.stream().filter(it -> Objects.nonNull(it)) - .forEach(it -> luaBuilder.append(TAB).append(StringUtils.format("protocols[{}] = {}", it.protocolId(), it.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS)); - - luaBuilder.append("end").append(LS + LS); - luaBuilder.append("ProtocolManager.initProtocol = initProtocol").append(LS); - luaBuilder.append("return ProtocolManager").append(LS); - - FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua")), luaBuilder.toString()); + protocolBuilder.append(TAB).append(StringUtils.format("protocols[{}] = {}", protocolId, name)).append(LS); + } + protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, "{}", "{}", fieldBuilder.toString().trim(), protocolBuilder.toString().trim()); + FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua")), protocolManagerTemplate); } - public static void createLuaProtocolFile(ProtocolRegistration registration) { + public static void createLuaProtocolFile(ProtocolRegistration registration) throws IOException { // 初始化index GenerateProtocolFile.index.set(0); var protocolId = registration.protocolId(); var registrationConstructor = registration.getConstructor(); - var fieldRegistrations = registration.getFieldRegistrations(); - var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); + var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("lua/ProtocolTemplate.lua"))); - var luaBuilder = new StringBuilder(); - - // document - luaBuilder.append(documentTitle(registration)); - - // new object - luaBuilder.append(newFunction(registration)); - - // protocolId method - luaBuilder.append(protocolIdFunction(registration)); - - // writeObject method - luaBuilder.append(writePacket(registration)); - - // readObject method - luaBuilder.append(readPacket(registration)).append(LS); - - - luaBuilder.append(StringUtils.format("return {}", protocolClazzName)).append(LS); + var docTitle = docTitle(registration); + var valueOfMethod = valueOfMethod(registration); + var writePacket = writePacket(registration); + var readPacket = readPacket(registration); + protocolTemplate = StringUtils.format(protocolTemplate, docTitle, protocolClazzName, "{}", protocolClazzName + , valueOfMethod.getKey().trim(), valueOfMethod.getValue().trim(), protocolClazzName, protocolId + , protocolClazzName, writePacket.trim(), protocolClazzName, protocolClazzName, readPacket.trim(), protocolClazzName); var protocolOutputPath = StringUtils.format("{}/{}/{}.lua" - , protocolOutputRootPath - , GenerateProtocolPath.getCapitalizeProtocolPath(protocolId) - , protocolClazzName); - FileUtils.writeStringToFile(new File(protocolOutputPath), luaBuilder.toString()); + , protocolOutputRootPath, GenerateProtocolPath.getCapitalizeProtocolPath(protocolId), protocolClazzName); + FileUtils.writeStringToFile(new File(protocolOutputPath), protocolTemplate); } - private static String documentTitle(ProtocolRegistration registration) { + private static String docTitle(ProtocolRegistration registration) { var protocolId = registration.protocolId(); - var registrationConstructor = registration.getConstructor(); - var fieldRegistrations = registration.getFieldRegistrations(); var luaBuilder = new StringBuilder(); - var protocolDocument = GenerateProtocolDocument.getProtocolDocument(protocolId); var docTitle = protocolDocument.getKey(); - if (StringUtils.isNotBlank(docTitle)) { Arrays.stream(docTitle.split(LS)).forEach(it -> luaBuilder.append(docToLuaDoc(it)).append(LS)); - luaBuilder.append(LS); } - return luaBuilder.toString(); } - private static String newFunction(ProtocolRegistration registration) { - short protocolId = registration.getId(); + private static Pair valueOfMethod(ProtocolRegistration registration) { + var protocolId = registration.getId(); var fields = registration.getFields(); - var protocolClazzName = registration.getConstructor().getDeclaringClass().getSimpleName(); var protocolDocument = GenerateProtocolDocument.getProtocolDocument(protocolId); var docFieldMap = protocolDocument.getValue(); + var valueOfParams = StringUtils.joinWith(", ", Arrays.stream(fields).map(it -> it.getName()).collect(Collectors.toList()).toArray()); var luaBuilder = new StringBuilder(); - luaBuilder.append(StringUtils.format("local {} = {}", protocolClazzName)).append(LS + LS); - - luaBuilder.append(StringUtils.format("function {}:new(", protocolClazzName)); - luaBuilder.append(StringUtils.joinWith(", ", Arrays.stream(fields).map(it -> it.getName()).collect(Collectors.toList()).toArray())) - .append(")") - .append(LS); - luaBuilder.append(TAB).append("local obj = {").append(LS); - - for (int i = 0; i < fields.length; i++) { + for (var i = 0; i < fields.length; i++) { var field = fields[i]; var propertyName = field.getName(); @@ -201,92 +163,42 @@ public abstract class GenerateLuaUtils { } if (i == fields.length - 1) { - luaBuilder.append(TAB + TAB) - .append(StringUtils.format("{} = {}", propertyName, propertyName)); + luaBuilder.append(TAB + TAB).append(StringUtils.format("{} = {}", propertyName, propertyName)); } else { - luaBuilder.append(TAB + TAB) - .append(StringUtils.format("{} = {},", propertyName, propertyName)); + luaBuilder.append(TAB + TAB).append(StringUtils.format("{} = {},", propertyName, propertyName)); } - // 生成类型的注释 luaBuilder.append(" -- ").append(field.getGenericType().getTypeName()).append(LS); } - luaBuilder.append(TAB).append("}").append(LS); - luaBuilder.append(TAB).append("setmetatable(obj, self)").append(LS); - luaBuilder.append(TAB).append("self.__index = self").append(LS); - luaBuilder.append(TAB).append("return obj").append(LS); - luaBuilder.append("end").append(LS).append(LS); - return luaBuilder.toString(); + return new Pair<>(valueOfParams, luaBuilder.toString()); } - private static String protocolIdFunction(ProtocolRegistration registration) { - short protocolId = registration.getId(); - var protocolClazzName = registration.getConstructor().getDeclaringClass().getSimpleName(); - - var luaBuilder = new StringBuilder(); - luaBuilder.append(StringUtils.format("function {}:protocolId()", protocolClazzName)).append(LS); - luaBuilder.append(TAB).append(StringUtils.format("return {}", protocolId)).append(LS); - luaBuilder.append("end").append(LS).append(LS); - - return luaBuilder.toString(); - } - - private static String writePacket(ProtocolRegistration registration) { var fields = registration.getFields(); var fieldRegistrations = registration.getFieldRegistrations(); - var protocolClazzName = registration.getConstructor().getDeclaringClass().getSimpleName(); - var luaBuilder = new StringBuilder(); - luaBuilder.append(StringUtils.format("function {}:write(buffer, packet)", protocolClazzName)).append(LS); - - luaBuilder.append(TAB).append("if buffer:writePacketFlag(packet) then").append(LS); - luaBuilder.append(TAB + TAB).append("return").append(LS); - luaBuilder.append(TAB).append("end").append(LS); - for (var i = 0; i < fields.length; i++) { var field = fields[i]; var fieldRegistration = fieldRegistrations[i]; luaSerializer(fieldRegistration.serializer()).writeObject(luaBuilder, "packet." + field.getName(), 1, field, fieldRegistration); } - - luaBuilder.append("end").append(LS).append(LS); return luaBuilder.toString(); } - private static String readPacket(ProtocolRegistration registration) { - Field[] fields = registration.getFields(); - IFieldRegistration[] fieldRegistrations = registration.getFieldRegistrations(); - var protocolClazzName = registration.getConstructor().getDeclaringClass().getSimpleName(); - - var jsBuilder = new StringBuilder(); - jsBuilder.append(StringUtils.format("function {}:read(buffer)", protocolClazzName)).append(LS); - jsBuilder.append(TAB).append("if not(buffer:readBoolean()) then").append(LS); - jsBuilder.append(TAB + TAB).append("return nil").append(LS); - jsBuilder.append(TAB).append("end").append(LS); - - - jsBuilder.append(TAB).append(StringUtils.format("local packet = {}:new()", protocolClazzName)).append(LS); - - + var fields = registration.getFields(); + var fieldRegistrations = registration.getFieldRegistrations(); + var luaBuilder = new StringBuilder(); for (int i = 0; i < fields.length; i++) { - Field field = fields[i]; - IFieldRegistration fieldRegistration = fieldRegistrations[i]; - - String readObject = luaSerializer(fieldRegistration.serializer()).readObject(jsBuilder, 1, field, fieldRegistration); - jsBuilder.append(TAB).append(StringUtils.format("packet.{} = {}", field.getName(), readObject)).append(LS); + var field = fields[i]; + var fieldRegistration = fieldRegistrations[i]; + var readObject = luaSerializer(fieldRegistration.serializer()).readObject(luaBuilder, 1, field, fieldRegistration); + luaBuilder.append(TAB).append(StringUtils.format("packet.{} = {}", field.getName(), readObject)).append(LS); } - - jsBuilder.append(TAB).append("return packet").append(LS); - - jsBuilder.append("end").append(LS); - - return jsBuilder.toString(); + return luaBuilder.toString(); } - private static String docToLuaDoc(String doc) { return doc.replaceFirst("//", "--"); } diff --git a/protocol/src/main/resources/lua/ProtocolManager.lua b/protocol/src/main/resources/lua/ProtocolManagerTemplate.lua similarity index 88% rename from protocol/src/main/resources/lua/ProtocolManager.lua rename to protocol/src/main/resources/lua/ProtocolManagerTemplate.lua index eb7ded78..4ee35a47 100644 --- a/protocol/src/main/resources/lua/ProtocolManager.lua +++ b/protocol/src/main/resources/lua/ProtocolManagerTemplate.lua @@ -32,3 +32,10 @@ function ProtocolManager.read(buffer) return ProtocolManager.getProtocol(protocolId):read(buffer) end +function initProtocol() + {} + {} +end + +ProtocolManager.initProtocol = initProtocol +return ProtocolManager diff --git a/protocol/src/main/resources/lua/ProtocolTemplate.lua b/protocol/src/main/resources/lua/ProtocolTemplate.lua new file mode 100644 index 00000000..b7b5ed76 --- /dev/null +++ b/protocol/src/main/resources/lua/ProtocolTemplate.lua @@ -0,0 +1,33 @@ +{} +local {} = {} + +function {}:new({}) + local obj = { + {} + } + setmetatable(obj, self) + self.__index = self + return obj +end + +function {}:protocolId() + return {} +end + +function {}:write(buffer, packet) + if buffer:writePacketFlag(packet) then + return + end + {} +end + +function {}:read(buffer) + if not(buffer:readBoolean()) then + return nil + end + local packet = {}:new() + {} + return packet +end + +return {} diff --git a/protocol/src/test/csharp/Main.cs b/protocol/src/test/csharp/Main.cs index d566218f..75ea4545 100644 --- a/protocol/src/test/csharp/Main.cs +++ b/protocol/src/test/csharp/Main.cs @@ -13,7 +13,7 @@ namespace csharp ProtocolManager.InitProtocol(); // 获取复杂对象的字节流 - var complexObjectBytes = File.ReadAllBytes("C:\\zfoo\\protocol\\src\\test\\resources\\ComplexObject.bytes"); + var complexObjectBytes = File.ReadAllBytes("../resources/ComplexObject.bytes"); var buffer = ByteBuffer.ValueOf(); buffer.WriteBytes(complexObjectBytes); var packet = ProtocolManager.Read(buffer); @@ -187,4 +187,4 @@ namespace csharp throw new Exception("a is not equals b"); } } -} \ No newline at end of file +} diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Buffer/ByteBuffer.lua b/protocol/src/test/lua/LuaProtocol/Buffer/ByteBuffer.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Buffer/ByteBuffer.lua rename to protocol/src/test/lua/LuaProtocol/Buffer/ByteBuffer.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Buffer/Long.lua b/protocol/src/test/lua/LuaProtocol/Buffer/Long.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Buffer/Long.lua rename to protocol/src/test/lua/LuaProtocol/Buffer/Long.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Packet/ComplexObject.lua b/protocol/src/test/lua/LuaProtocol/Packet/ComplexObject.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Packet/ComplexObject.lua rename to protocol/src/test/lua/LuaProtocol/Packet/ComplexObject.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Packet/NormalObject.lua b/protocol/src/test/lua/LuaProtocol/Packet/NormalObject.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Packet/NormalObject.lua rename to protocol/src/test/lua/LuaProtocol/Packet/NormalObject.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Packet/ObjectA.lua b/protocol/src/test/lua/LuaProtocol/Packet/ObjectA.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Packet/ObjectA.lua rename to protocol/src/test/lua/LuaProtocol/Packet/ObjectA.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Packet/ObjectB.lua b/protocol/src/test/lua/LuaProtocol/Packet/ObjectB.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Packet/ObjectB.lua rename to protocol/src/test/lua/LuaProtocol/Packet/ObjectB.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/Packet/SimpleObject.lua b/protocol/src/test/lua/LuaProtocol/Packet/SimpleObject.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/Packet/SimpleObject.lua rename to protocol/src/test/lua/LuaProtocol/Packet/SimpleObject.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocol/ProtocolManager.lua b/protocol/src/test/lua/LuaProtocol/ProtocolManager.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocol/ProtocolManager.lua rename to protocol/src/test/lua/LuaProtocol/ProtocolManager.lua diff --git a/protocol/src/test/resources/luaTest/LuaProtocolTest.cs b/protocol/src/test/lua/Main.cs similarity index 86% rename from protocol/src/test/resources/luaTest/LuaProtocolTest.cs rename to protocol/src/test/lua/Main.cs index 31dc6a1c..0bddc31f 100644 --- a/protocol/src/test/resources/luaTest/LuaProtocolTest.cs +++ b/protocol/src/test/lua/Main.cs @@ -1,6 +1,7 @@ using System.IO; using System.Text; using NUnit.Framework; +using Spring.Util; using XLua; namespace Test.Editor.LuaTest @@ -18,7 +19,7 @@ namespace Test.Editor.LuaTest var luaEnv = new LuaEnv(); var luaDebugBuilder = new StringBuilder(); // Rider的断点调试 - // luaDebugBuilder.Append("package.cpath = package.cpath .. ';C:/Users/jm/AppData/Roaming/JetBrains/Rider2020.1/plugins/intellij-emmylua/classes/debugger/emmy/windows/x64/?.dll'").Append(FileUtils.LS); + // luaDebugBuilder.Append("package.cpath = package.cpath .. ';C:/Users/jaysunxiao/AppData/Roaming/JetBrains/Rider2021.1/plugins/EmmyLua/classes/debugger/emmy/windows/x64/?.dll'").Append(FileUtils.LS); // luaDebugBuilder.Append("local dbg = require('emmy_core')").Append(FileUtils.LS); // luaDebugBuilder.Append("dbg.tcpListen('localhost', 9966)").Append(FileUtils.LS); // luaDebugBuilder.Append("dbg.waitIDE()").Append(FileUtils.LS); @@ -27,8 +28,8 @@ namespace Test.Editor.LuaTest luaEnv.AddLoader(CustomLoader); - var luaProtocolTestStr = File.ReadAllText(TEST_PATH + "LuaProtocolTest.lua"); - luaEnv.DoString(luaProtocolTestStr, "LuaProtocolTest"); + var luaProtocolTestStr = File.ReadAllText(TEST_PATH + "main.lua"); + luaEnv.DoString(luaProtocolTestStr, "main"); LuaFunction byteBufferTestFunction = luaEnv.Global.Get("byteBufferTest"); byteBufferTestFunction.Call(); @@ -44,4 +45,4 @@ namespace Test.Editor.LuaTest return File.ReadAllBytes(TEST_PATH + filepath); } } -} \ No newline at end of file +} diff --git a/protocol/src/test/resources/luaTest/LuaProtocolTest.lua b/protocol/src/test/lua/main.lua similarity index 100% rename from protocol/src/test/resources/luaTest/LuaProtocolTest.lua rename to protocol/src/test/lua/main.lua