1 import { ensureDir } from 'fs-extra'
2 import { isGithubCI } from '@shared/core-utils'
3 import { PeerTubeServer, RunServerOptions } from './server'
5 async function createSingleServer (serverNumber: number, configOverride?: Object, options: RunServerOptions = {}) {
6 const server = new PeerTubeServer({ serverNumber })
8 await server.flushAndRun(configOverride, options)
13 function createMultipleServers (totalServers: number, configOverride?: Object, options: RunServerOptions = {}) {
14 const serverPromises: Promise<PeerTubeServer>[] = []
16 for (let i = 1; i <= totalServers; i++) {
17 serverPromises.push(createSingleServer(i, configOverride, options))
20 return Promise.all(serverPromises)
23 async function killallServers (servers: PeerTubeServer[]) {
24 return Promise.all(servers.map(s => s.kill()))
27 async function cleanupTests (servers: PeerTubeServer[]) {
28 await killallServers(servers)
31 await ensureDir('artifacts')
34 let p: Promise<any>[] = []
35 for (const server of servers) {
36 p = p.concat(server.servers.cleanupTests())
42 // ---------------------------------------------------------------------------
46 createMultipleServers,