內容

名稱

TAP::Parser::Iterator::Process - 處理基於 TAP 來源的迭代器

版本

版本 3.44

語法

use TAP::Parser::Iterator::Process;
my %args = (
 command  => ['python', 'setup.py', 'test'],
 merge    => 1,
 setup    => sub { ... },
 teardown => sub { ... },
);
my $it   = TAP::Parser::Iterator::Process->new(\%args);
my $line = $it->next;

說明

這是執行外部程序的簡單迭代器封裝,由 TAP::Parser 使用。除非您正在撰寫外掛程式或子類別,否則您可能不需要直接使用此模組。

方法

類別方法

new

建立一個迭代器。預期一個參數包含以下形式的雜湊

command  => \@command_to_execute
merge    => $attempt_merge_stderr_and_stdout?
setup    => $callback_to_setup_command
teardown => $callback_to_teardown_command

嘗試使用 IPC::Open3IO::Select 與產生的程序進行通訊(如果可用)。退回到 open()

實例方法

next

當然,遍歷程序輸出。

next_raw

遍歷原始輸入,不套用任何古怪輸入語法的修正。

wait

取得此迭代器的程序的等待狀態。

exit

取得此迭代器的程序的結束狀態。

handle_unicode

升級輸入串流以處理 UTF8。

get_select_handles

傳回一個檔案句柄清單,可以在 select() 呼叫中上游使用,以表示此迭代器已準備好。非基於句柄的迭代器應傳回一個空清單。

歸屬

最初從 Test::Harness 擷取。

另請參閱

TAP::ObjectTAP::ParserTAP::Parser::Iterator