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());
        }
Beispiel #6
0
        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);
        }