Fix Travis-CI build
This commit is contained in:
parent
ae3180f919
commit
c0b432f7b4
24
.travis.yml
24
.travis.yml
@ -1,19 +1,25 @@
|
|||||||
language: ruby
|
language: ruby
|
||||||
rvm:
|
|
||||||
- "2.1.1"
|
|
||||||
|
|
||||||
before_script: |
|
install:
|
||||||
sudo apt-get install -y tmux libncurses-dev lib32ncurses5-dev
|
- sudo apt-get install -y libncurses-dev lib32ncurses5-dev
|
||||||
|
- sudo add-apt-repository -y ppa:pi-rho/dev
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get install -y tmux=1.9a-1~ppa1~p
|
||||||
|
|
||||||
|
script: |
|
||||||
export GOROOT=~/go1.4
|
export GOROOT=~/go1.4
|
||||||
export GOPATH=~/go
|
export GOPATH=~/go
|
||||||
|
export FZF_BASE=~/go/src/github.com/junegunn/fzf
|
||||||
|
|
||||||
mkdir -p ~/go/src/github.com/junegunn
|
mkdir -p ~/go/src/github.com/junegunn
|
||||||
ln -s $(pwd) ~/go/src/github.com/junegunn/fzf
|
ln -s $(pwd) $FZF_BASE
|
||||||
|
|
||||||
curl https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz | tar -xz
|
curl https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz | tar -xz
|
||||||
mv go $GOROOT
|
mv go $GOROOT
|
||||||
cd $GOROOT/src && GOARCH=386 ./make.bash
|
cd $GOROOT/src
|
||||||
|
GOARCH=386 ./make.bash
|
||||||
|
|
||||||
cd ~/go/src/github.com/junegunn/fzf/src && make install && cd .. &&
|
cd $FZF_BASE/src && make install &&
|
||||||
yes | ./install && tmux
|
cd $FZF_BASE/bin && ln -sf fzf-linux_amd64 fzf-$(./fzf --version)-linux_amd64 &&
|
||||||
|
cd $FZF_BASE && yes | ./install &&
|
||||||
|
tmux new "rake test > out && touch ok" && cat out && [ -e ok ]
|
||||||
|
@ -10,6 +10,7 @@ class Tmux
|
|||||||
|
|
||||||
def initialize shell = 'bash'
|
def initialize shell = 'bash'
|
||||||
@win = go("new-window -P -F '#I' 'bash --rcfile ~/.fzf.#{shell}'").first
|
@win = go("new-window -P -F '#I' 'bash --rcfile ~/.fzf.#{shell}'").first
|
||||||
|
@lines = `tput lines`.chomp.to_i
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.current
|
def self.current
|
||||||
@ -25,7 +26,7 @@ class Tmux
|
|||||||
end
|
end
|
||||||
|
|
||||||
def close timeout = 1
|
def close timeout = 1
|
||||||
send_keys 'C-c', 'C-u', 'C-d'
|
send_keys 'C-c', 'C-u', 'exit', :Enter
|
||||||
wait(timeout) { closed? }
|
wait(timeout) { closed? }
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -41,7 +42,7 @@ class Tmux
|
|||||||
def capture
|
def capture
|
||||||
go("capture-pane -t #{win} \\; save-buffer #{TEMPNAME}")
|
go("capture-pane -t #{win} \\; save-buffer #{TEMPNAME}")
|
||||||
raise "Window not found" if $?.exitstatus != 0
|
raise "Window not found" if $?.exitstatus != 0
|
||||||
File.read(TEMPNAME).split($/)
|
File.read(TEMPNAME).split($/)[0, @lines]
|
||||||
end
|
end
|
||||||
|
|
||||||
def until timeout = 1
|
def until timeout = 1
|
||||||
@ -54,7 +55,15 @@ private
|
|||||||
until yield
|
until yield
|
||||||
waited += 0.1
|
waited += 0.1
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
raise "timeout" if waited > timeout
|
if waited > timeout
|
||||||
|
hl = '=' * 10
|
||||||
|
puts hl
|
||||||
|
capture.each_with_index do |line, idx|
|
||||||
|
puts [idx.to_s.rjust(2), line].join(': ')
|
||||||
|
end
|
||||||
|
puts hl
|
||||||
|
raise "timeout"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -85,7 +94,7 @@ class TestGoFZF < MiniTest::Unit::TestCase
|
|||||||
|
|
||||||
def test_vanilla
|
def test_vanilla
|
||||||
tmux.send_keys "seq 1 100000 | fzf > #{tempname}", :Enter
|
tmux.send_keys "seq 1 100000 | fzf > #{tempname}", :Enter
|
||||||
tmux.until { |lines| lines.last =~ /^>/ && lines[-2] =~ /^ 100000/ }
|
tmux.until(10) { |lines| lines.last =~ /^>/ && lines[-2] =~ /^ 100000/ }
|
||||||
lines = tmux.capture
|
lines = tmux.capture
|
||||||
assert_equal ' 2', lines[-4]
|
assert_equal ' 2', lines[-4]
|
||||||
assert_equal '> 1', lines[-3]
|
assert_equal '> 1', lines[-3]
|
||||||
@ -94,7 +103,7 @@ class TestGoFZF < MiniTest::Unit::TestCase
|
|||||||
|
|
||||||
# Testing basic key bindings
|
# Testing basic key bindings
|
||||||
tmux.send_keys '99', 'C-a', '1', 'C-f', '3', 'C-b', 'C-h', 'C-u', 'C-e', 'C-y', 'C-k', 'Tab', 'BTab'
|
tmux.send_keys '99', 'C-a', '1', 'C-f', '3', 'C-b', 'C-h', 'C-u', 'C-e', 'C-y', 'C-k', 'Tab', 'BTab'
|
||||||
tmux.until { |lines| lines.last == '> 391' }
|
tmux.until { |lines| lines[-2] == ' 856/100000' }
|
||||||
lines = tmux.capture
|
lines = tmux.capture
|
||||||
assert_equal '> 1391', lines[-4]
|
assert_equal '> 1391', lines[-4]
|
||||||
assert_equal ' 391', lines[-3]
|
assert_equal ' 391', lines[-3]
|
||||||
@ -117,7 +126,7 @@ class TestGoFZF < MiniTest::Unit::TestCase
|
|||||||
|
|
||||||
def test_fzf_prompt
|
def test_fzf_prompt
|
||||||
tmux.send_keys "fzf -q 'foo bar foo-bar'", :Enter
|
tmux.send_keys "fzf -q 'foo bar foo-bar'", :Enter
|
||||||
tmux.until { |lines| lines.last =~ /foo-bar/ }
|
tmux.until { |lines| lines.last =~ /^>/ }
|
||||||
|
|
||||||
# CTRL-A
|
# CTRL-A
|
||||||
tmux.send_keys "C-A", "("
|
tmux.send_keys "C-A", "("
|
||||||
|
Loading…
x
Reference in New Issue
Block a user