2016年9月7日水曜日

[ruby] Open3.popen3

標準入出力管理可能な子プロセス作成処理
ただし、バッファに難有
$instructions.each{|insn|
  printf("--- TEST: %s", insn)
  Tempfile.open(['xxx', '.s']){|fp|
    fp.puts("\torg\t100h")
    fp.puts("\t" + insn)
    fp.puts("\tend")
    fp.flush
   
    # system($assembler + " " + fp.path)
    Open3.capture3($assembler, fp.path)
    hexname = fp.path.sub(%r{\.s$}, ".hex")
    File.open(hexname){|hexfile|
      $results << TestResult.new(insn.chop, hexfile.read)
    }
    File.unlink(hexname)
  }
}

0 件のコメント:

コメントを投稿