如何在Windows上启动子进程并捕获其stderr?

时间:2018-02-05 21:23:42

标签: windows rust child-process stdio

我正在尝试编写一个集成测试来启动我的服务器,发痒它,并断言它记录到class User < ApplicationRecord has_many :job_applications, dependent: :destroy has_many :jobs, :through => :job_applications end 以通过或未通过测试。

我正在使用:

stderr

启动服务器,其中Command::new("stuff") .args(&[more, stuff]) .stderr(/* XXX */) .spawn() .unwrap() 依次为

  1. XXX

  2. std::process::Stdio::piped()个对象,

  3. std::fs::File对象中提取的原始内容(句柄或文件描述符),并将std::fs::File转换为unsafe

  4. 所有这些在Linux下运行良好(Ubuntu 16.04);它们都不能在Windows下运行。在Windows的每种情况下,当测试运行时,我会看到一个控制台窗口弹出并显示服务器std::process::Stdio流中的(正确)内容,但管道或文件仍为空,断言超时等待数据

    我想我的想法已经用完了。我应该怎么做才能在Windows下运行此测试?

0 个答案:

没有答案