decaffeinate: Rename loadTest.coffee from .coffee to .js
This commit is contained in:
71
test/load/coffee/loadTest.js
Normal file
71
test/load/coffee/loadTest.js
Normal file
@@ -0,0 +1,71 @@
|
||||
request = require "request"
|
||||
Settings = require "settings-sharelatex"
|
||||
async = require("async")
|
||||
fs = require("fs")
|
||||
_ = require("underscore")
|
||||
concurentCompiles = 5
|
||||
totalCompiles = 50
|
||||
|
||||
buildUrl = (path) -> "http://#{Settings.internal.clsi.host}:#{Settings.internal.clsi.port}/#{path}"
|
||||
|
||||
mainTexContent = fs.readFileSync("./bulk.tex", "utf-8")
|
||||
|
||||
compileTimes = []
|
||||
failedCount = 0
|
||||
|
||||
getAverageCompileTime = ->
|
||||
totalTime = _.reduce compileTimes, (sum, time)->
|
||||
sum + time
|
||||
, 0
|
||||
return totalTime / compileTimes.length
|
||||
|
||||
makeRequest = (compileNumber, callback)->
|
||||
bulkBodyCount = 7
|
||||
bodyContent = ""
|
||||
while --bulkBodyCount
|
||||
bodyContent = bodyContent+=mainTexContent
|
||||
|
||||
|
||||
startTime = new Date()
|
||||
request.post {
|
||||
url: buildUrl("project/loadcompile-#{compileNumber}/compile")
|
||||
json:
|
||||
compile:
|
||||
resources: [
|
||||
path: "main.tex"
|
||||
content: """
|
||||
\\documentclass{article}
|
||||
\\begin{document}
|
||||
#{bodyContent}
|
||||
\\end{document}
|
||||
"""
|
||||
]
|
||||
}, (err, response, body)->
|
||||
if response.statusCode != 200
|
||||
failedCount++
|
||||
return callback("compile #{compileNumber} failed")
|
||||
if err?
|
||||
failedCount++
|
||||
return callback("failed")
|
||||
totalTime = new Date() - startTime
|
||||
console.log totalTime+"ms"
|
||||
compileTimes.push(totalTime)
|
||||
callback(err)
|
||||
|
||||
|
||||
jobs = _.map [1..totalCompiles], (i)->
|
||||
return (cb)->
|
||||
makeRequest(i, cb)
|
||||
|
||||
startTime = new Date()
|
||||
async.parallelLimit jobs, concurentCompiles, (err)->
|
||||
if err?
|
||||
console.error err
|
||||
console.log("total time taken = #{(new Date() - startTime)/1000}s")
|
||||
console.log("total compiles = #{totalCompiles}")
|
||||
console.log("concurent compiles = #{concurentCompiles}")
|
||||
console.log("average time = #{getAverageCompileTime()/1000}s")
|
||||
console.log("max time = #{_.max(compileTimes)/1000}s")
|
||||
console.log("min time = #{_.min(compileTimes)/1000}s")
|
||||
console.log("total failures = #{failedCount}")
|
||||
|
||||
Reference in New Issue
Block a user