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
|
||||
if cut
|
||||
url = Travis.Urls.plainTextLog(@get('log.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>")
|
||||
url = Travis.Urls.plainTextLog(@get('log.job.id'))
|
||||
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
|
||||
LogView: Travis.View.extend
|
||||
|
|
|
@ -6,6 +6,7 @@ FOLDS = [
|
|||
]
|
||||
|
||||
@Travis.OrderedLog = Em.Object.extend
|
||||
linesLimit: 5000
|
||||
init: ->
|
||||
@set 'folds', []
|
||||
@set 'line', 1
|
||||
|
@ -17,7 +18,7 @@ FOLDS = [
|
|||
|
||||
append: (lines) ->
|
||||
return unless lines
|
||||
return if @get('lineNumber') > 5000
|
||||
return if @get('lineNumber') > @get('linesLimit')
|
||||
|
||||
log = @join lines
|
||||
log = @escape log
|
||||
|
@ -88,7 +89,7 @@ FOLDS = [
|
|||
if currentFold
|
||||
@set 'foldContinuation', true
|
||||
|
||||
if @get('lineNumber') + index >= 5000
|
||||
if @get('lineNumber') + index >= @get('linesLimit')
|
||||
result.pushObject logWasCut: true
|
||||
break
|
||||
|
||||
|
|
|
@ -43,3 +43,30 @@ describe 'on the "job" state', ->
|
|||
displaysLog [
|
||||
'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')
|
||||
@queuesRendered = notEmpty('#queue_linux li')
|
||||
@workersRendered = notEmpty('.worker')
|
||||
|
||||
@logRendered = notEmpty('#log p')
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
@displaysLog = (lines) ->
|
||||
log = lines.join()
|
||||
expect($('#log').text().trim()).toEqual log
|
||||
expect($('#log p').text().trim()).toEqual log
|
||||
|
||||
@listsRepos = (items) ->
|
||||
listsItems('repo', items)
|
||||
|
|
|
@ -19,6 +19,9 @@ pre#log
|
|||
overflow-x: scroll
|
||||
counter-reset: line-numbering
|
||||
|
||||
.cut
|
||||
padding: 20px 15px 0 55px
|
||||
|
||||
p
|
||||
padding: 0 15px 0 55px
|
||||
margin: 0
|
||||
|
|
Loading…
Reference in New Issue
Block a user