public void GenerateCommandLineCommands_Basic() { var instance = new InstallTask(); var method = typeof(InstallTask).GetMethod("GenerateCommandLineCommands", BindingFlags.Instance | BindingFlags.NonPublic); // with no Packages set, we throw. Assert.ThrowsException <NullReferenceException>(() => { try { method.Invoke(instance, null); } catch (TargetInvocationException ex) { throw ex.InnerException; } }); instance.VcpkgRoot = "test"; instance.Packages = new string[] { "gtest" }; Assert.AreEqual("install gtest --vcpkg-root test", method.Invoke(instance, null)); instance.Packages = new string[] { "gtest", "angle:x86-pie" }; Assert.AreEqual("install gtest angle:x86-pie --vcpkg-root test", method.Invoke(instance, null)); }
public void Defaults() { var instance = new InstallTask(); Assert.AreEqual(10 * 60 * 1000, instance.Timeout); Assert.IsNotNull(instance.VcpkgExe); }
public void GenerateCommandLineCommands_DefaultTriplet() { var instance = new InstallTask(); instance.VcpkgRoot = "test"; instance.VcpkgTriplet = "x86-pie"; instance.Packages = new string[] { "gtest" }; var method = typeof(InstallTask).GetMethod("GenerateCommandLineCommands", BindingFlags.Instance | BindingFlags.NonPublic); Assert.AreEqual("install gtest:x86-pie --vcpkg-root test", method.Invoke(instance, null)); }
public void GenerateFullPathToTool() { var instance = new InstallTask(); var method = typeof(InstallTask).GetMethod("GenerateFullPathToTool", BindingFlags.Instance | BindingFlags.NonPublic); var defaultPath = instance.VcpkgExe; Assert.AreEqual(defaultPath, method.Invoke(instance, null)); var modifiedPath = "test123"; instance.VcpkgExe = modifiedPath; Assert.AreEqual(modifiedPath, method.Invoke(instance, null)); }
public void GenerateCommandLineCommands_InvalidTriplet() { var instance = new InstallTask(); var method = typeof(InstallTask).GetMethod("GenerateCommandLineCommands", BindingFlags.Instance | BindingFlags.NonPublic); var moqEngine = new Mock <IBuildEngine>(); moqEngine.Setup(m => m.LogErrorEvent(It.IsAny <BuildErrorEventArgs>())); instance.BuildEngine = moqEngine.Object; instance.Packages = new string[] { "gtest:invalid" }; method.Invoke(instance, null); moqEngine.Verify(m => m.LogErrorEvent(It.IsAny <BuildErrorEventArgs>()), Times.Once()); }
private void button_install_Click_1(object sender, EventArgs e) { button_install.Enabled = false; List <DeviceTask> tasks = new List <DeviceTask>(); string packgeName = ""; if (radioButton_install.Checked) { string apkFilePath = textBox_apk.Text; var installTask = new InstallTask(apkFilePath); tasks.Add(installTask); var info = APKInfo.ParseAPK(apkFilePath); packgeName = info.PackgeName; } else { packgeName = textBox_apk.Text; } WeTestTask wtTask = new WeTestTask(textBox_python.Text, textBox_wt.Text, packgeName); tasks.Add(wtTask); var devices = DeviceManager.Instance.Devices; int complateCount = 0; for (int i = 0; i < devices.Length; i++) { var device = devices[i]; device.TaskMgr.TaskEnd += (task, result) => { if (device.TaskMgr.RunningTaskIndex == device.TaskMgr.Tasks.Length - 1 || !result.ok) { complateCount++; if (complateCount == devices.Length) { LogWrapper.LogInfo("所有任务已完成"); RunInMainthread(() => { button_install.Enabled = true; }); } } }; device.TaskMgr.RunTasks(tasks.ToArray()); } }
public void Defaults() { var instance = new InstallTask(); Assert.IsNotNull(instance.VcpkgExe); }