1
0
Fork 0

Try to fix travis

This commit is contained in:
Chocobozzz 2019-04-24 12:02:04 +02:00
parent 86ebdf8c46
commit 42e1ec25ec
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
4 changed files with 63 additions and 40 deletions

View File

@ -6,9 +6,27 @@ import { join } from 'path'
import { UserRole, VideoImport, VideoImportState } from '../../../../shared'
import {
createUser, flushTests, getMyUserInformation, getMyUserVideoRating, getUsersList, immutableAssign, killallServers, makeGetRequest,
makePostBodyRequest, makeUploadRequest, makePutBodyRequest, registerUser, removeUser, flushAndRunServer, ServerInfo, setAccessTokensToServers,
updateUser, uploadVideo, userLogin, deleteMe, unblockUser, blockUser
blockUser,
createUser,
deleteMe,
flushAndRunServer,
getMyUserInformation,
getMyUserVideoRating,
getUsersList,
immutableAssign,
killallServers,
makeGetRequest,
makePostBodyRequest,
makePutBodyRequest,
makeUploadRequest,
registerUser,
removeUser,
ServerInfo,
setAccessTokensToServers,
unblockUser,
updateUser,
uploadVideo,
userLogin
} from '../../../../shared/extra-utils'
import {
checkBadCountPagination,

View File

@ -4,8 +4,15 @@ import * as chai from 'chai'
import 'mocha'
import {
createUser,
flushTests, killallServers, makeDeleteRequest, makeGetRequest, makePostBodyRequest, flushAndRunServer, ServerInfo, setAccessTokensToServers,
uploadVideo, userLogin
flushAndRunServer,
killallServers,
makeDeleteRequest,
makeGetRequest,
makePostBodyRequest,
ServerInfo,
setAccessTokensToServers,
uploadVideo,
userLogin
} from '../../../../shared/extra-utils'
import {
checkBadCountPagination,

View File

@ -2,7 +2,7 @@
import * as chai from 'chai'
import 'mocha'
import { flushTests, killallServers, flushAndRunServer, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils'
import { flushAndRunServer, killallServers, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils'
import { getVideosOverview } from '../../../../shared/extra-utils/overviews/overviews'
import { VideosOverview } from '../../../../shared/models/overviews'

View File

@ -87,12 +87,14 @@ function randomServer () {
return Math.floor(Math.random() * (high - low) + low)
}
function flushAndRunServer (serverNumber: number, configOverrideArg?: Object, args = []) {
async function flushAndRunServer (serverNumber: number, configOverrideArg?: Object, args = []) {
const parallel = process.env.MOCHA_PARALLEL === 'true'
const internalServerNumber = parallel ? randomServer() : serverNumber
const port = 9000 + internalServerNumber
await flushTests(serverNumber)
const server: ServerInfo = {
app: null,
port,
@ -175,45 +177,41 @@ function flushAndRunServer (serverNumber: number, configOverrideArg?: Object, ar
}
return new Promise<ServerInfo>(res => {
flushTests(internalServerNumber)
.then(() => {
server.app = fork(join(root(), 'dist', 'server.js'), args, options)
server.app.stdout.on('data', function onStdout (data) {
let dontContinue = false
server.app = fork(join(root(), 'dist', 'server.js'), args, options)
server.app.stdout.on('data', function onStdout (data) {
let dontContinue = false
// Capture things if we want to
for (const key of Object.keys(regexps)) {
const regexp = regexps[ key ]
const matches = data.toString().match(regexp)
if (matches !== null) {
if (key === 'client_id') server.client.id = matches[ 1 ]
else if (key === 'client_secret') server.client.secret = matches[ 1 ]
else if (key === 'user_username') server.user.username = matches[ 1 ]
else if (key === 'user_password') server.user.password = matches[ 1 ]
}
}
// Capture things if we want to
for (const key of Object.keys(regexps)) {
const regexp = regexps[ key ]
const matches = data.toString().match(regexp)
if (matches !== null) {
if (key === 'client_id') server.client.id = matches[ 1 ]
else if (key === 'client_secret') server.client.secret = matches[ 1 ]
else if (key === 'user_username') server.user.username = matches[ 1 ]
else if (key === 'user_password') server.user.password = matches[ 1 ]
}
}
// Check if all required sentences are here
for (const key of Object.keys(serverRunString)) {
if (data.toString().indexOf(key) !== -1) serverRunString[ key ] = true
if (serverRunString[ key ] === false) dontContinue = true
}
// Check if all required sentences are here
for (const key of Object.keys(serverRunString)) {
if (data.toString().indexOf(key) !== -1) serverRunString[ key ] = true
if (serverRunString[ key ] === false) dontContinue = true
}
// If no, there is maybe one thing not already initialized (client/user credentials generation...)
if (dontContinue === true) return
// If no, there is maybe one thing not already initialized (client/user credentials generation...)
if (dontContinue === true) return
server.app.stdout.removeListener('data', onStdout)
server.app.stdout.removeListener('data', onStdout)
process.on('exit', () => {
try {
process.kill(server.app.pid)
} catch { /* empty */ }
})
res(server)
})
process.on('exit', () => {
try {
process.kill(server.app.pid)
} catch { /* empty */ }
})
res(server)
})
})
}