2012-07-05 20 views
2

我試圖運行一個運行tmux的Ruby程序來創建一個新的會話。我正在用黃瓜測試這個。 Ruby程序本身工作正常,並啓動tmux會話,但是當代碼從Cucumber場景運行時,我在Cucumber輸出中出現錯誤 - 「不是終端」。Tmux將不會從黃瓜場景中運行 - 產生錯誤'不是終端'

我知道這是由於tmux認爲它沒有在終端中運行,因爲啓動時tmux會調用isatty()的返回值。爲什麼在通過Cucumber運行時發生這種情況,並且無論如何都會出現這種情況,因爲我真的很想用這些場景來測試我的程序。

+1

你可以在[僞終端](http://www.ruby-doc.org/stdlib-1.9.3/libdoc/pty/rdoc/PTY.html)中啓動tmux。 – Stefan 2012-07-05 22:13:19

+0

@Stefan感謝您的建議 - 我真的希望tmux能夠在當前的真實終端中啓動,即使是用於測試。我可以使用真正的終端進行Cucumber測試,因爲我想看到它真的調用了tmux。 – 2012-07-06 18:46:56

回答

0

看來我可以解決這個問題,如果我用-d選項啓動tmux會話'分離'。我寧願留在tmux會話中,但這是下一個最好的解決方案,這意味着我可以繼續我的開發工作測試!

我仍然不知道爲什麼我得到「不是終端」運行時「TMUX新會話」通過黃瓜而不是消息時,我使用Ruby腳本直接在命令行上...