Fix cutting too long logs
This commit is contained in:
parent
653bf3a568
commit
65254b70da
|
@ -154,8 +154,8 @@ Travis.OrderedLogEngineMixin = Ember.Mixin.create
|
||||||
|
|
||||||
this.$('#log')[0].appendChild fragment
|
this.$('#log')[0].appendChild fragment
|
||||||
if cut
|
if cut
|
||||||
url = Travis.Urls.plainTextLog(@get('log.id'))
|
url = Travis.Urls.plainTextLog(@get('log.job.id'))
|
||||||
this.$("#log").append $("<p class=\"cut\">Log was too long to display. Download the <a href=\"#{url}\">the raw version</a> to get the full log.</p>")
|
this.$("#log").append $("<div class=\"cut\">Log was too long to display. Download the <a href=\"#{url}\">the raw version</a> to get the full log.</div>")
|
||||||
|
|
||||||
Travis.reopen
|
Travis.reopen
|
||||||
LogView: Travis.View.extend
|
LogView: Travis.View.extend
|
||||||
|
|
|
@ -6,6 +6,7 @@ FOLDS = [
|
||||||
]
|
]
|
||||||
|
|
||||||
@Travis.OrderedLog = Em.Object.extend
|
@Travis.OrderedLog = Em.Object.extend
|
||||||
|
linesLimit: 5000
|
||||||
init: ->
|
init: ->
|
||||||
@set 'folds', []
|
@set 'folds', []
|
||||||
@set 'line', 1
|
@set 'line', 1
|
||||||
|
@ -17,7 +18,7 @@ FOLDS = [
|
||||||
|
|
||||||
append: (lines) ->
|
append: (lines) ->
|
||||||
return unless lines
|
return unless lines
|
||||||
return if @get('lineNumber') > 5000
|
return if @get('lineNumber') > @get('linesLimit')
|
||||||
|
|
||||||
log = @join lines
|
log = @join lines
|
||||||
log = @escape log
|
log = @escape log
|
||||||
|
@ -88,7 +89,7 @@ FOLDS = [
|
||||||
if currentFold
|
if currentFold
|
||||||
@set 'foldContinuation', true
|
@set 'foldContinuation', true
|
||||||
|
|
||||||
if @get('lineNumber') + index >= 5000
|
if @get('lineNumber') + index >= @get('linesLimit')
|
||||||
result.pushObject logWasCut: true
|
result.pushObject logWasCut: true
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
|
@ -43,3 +43,30 @@ describe 'on the "job" state', ->
|
||||||
displaysLog [
|
displaysLog [
|
||||||
'log 1'
|
'log 1'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
describe 'too long log', ->
|
||||||
|
beforeEach ->
|
||||||
|
$.mockjax
|
||||||
|
url: '/jobs/2/log?cors_hax=true'
|
||||||
|
responseTime: 0
|
||||||
|
responseText: '1\n2\n3\n4\n5\n6\n7\n8\n9\n10'
|
||||||
|
|
||||||
|
Travis.OrderedLog.reopen
|
||||||
|
linesLimit: 5
|
||||||
|
|
||||||
|
app 'travis-ci/travis-core/jobs/2'
|
||||||
|
waitFor logRendered
|
||||||
|
|
||||||
|
afterEach ->
|
||||||
|
Travis.OrderedLog.reopen
|
||||||
|
linesLimit: 5000
|
||||||
|
|
||||||
|
it 'is cut after given limit', ->
|
||||||
|
displaysLog [
|
||||||
|
'12345'
|
||||||
|
]
|
||||||
|
|
||||||
|
expect( $('#log .cut').text() ).toEqual 'Log was too long to display. Download the the raw version to get the full log.'
|
||||||
|
expect( $('#log .cut a').attr('href') ).toEqual '/jobs/2/log.txt?deansi=true'
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,4 +11,4 @@
|
||||||
@jobsRendered = notEmpty('#jobs .number')
|
@jobsRendered = notEmpty('#jobs .number')
|
||||||
@queuesRendered = notEmpty('#queue_linux li')
|
@queuesRendered = notEmpty('#queue_linux li')
|
||||||
@workersRendered = notEmpty('.worker')
|
@workersRendered = notEmpty('.worker')
|
||||||
|
@logRendered = notEmpty('#log p')
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
|
|
||||||
@displaysLog = (lines) ->
|
@displaysLog = (lines) ->
|
||||||
log = lines.join()
|
log = lines.join()
|
||||||
expect($('#log').text().trim()).toEqual log
|
expect($('#log p').text().trim()).toEqual log
|
||||||
|
|
||||||
@listsRepos = (items) ->
|
@listsRepos = (items) ->
|
||||||
listsItems('repo', items)
|
listsItems('repo', items)
|
||||||
|
|
|
@ -19,6 +19,9 @@ pre#log
|
||||||
overflow-x: scroll
|
overflow-x: scroll
|
||||||
counter-reset: line-numbering
|
counter-reset: line-numbering
|
||||||
|
|
||||||
|
.cut
|
||||||
|
padding: 20px 15px 0 55px
|
||||||
|
|
||||||
p
|
p
|
||||||
padding: 0 15px 0 55px
|
padding: 0 15px 0 55px
|
||||||
margin: 0
|
margin: 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user