mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-02-25 18:55:32 -06:00
Try to improve redundancy tests
This commit is contained in:
@@ -396,6 +396,8 @@ async function refreshVideoIfNeeded (options: {
|
||||
}
|
||||
await retryTransactionWrapper(updateVideoFromAP, updateOptions)
|
||||
await syncVideoExternalAttributes(video, videoObject, options.syncParam)
|
||||
|
||||
return video
|
||||
} catch (err) {
|
||||
logger.warn('Cannot refresh video %s.', options.video.url, { err })
|
||||
return video
|
||||
|
||||
@@ -157,6 +157,8 @@ export class VideosRedundancyScheduler extends AbstractScheduler {
|
||||
createdModel.VideoFile = file
|
||||
|
||||
await sendCreateCacheFile(serverActor, createdModel)
|
||||
|
||||
logger.info('Duplicated %s - %d -> %s.', video.url, file.resolution, createdModel.url)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ import {
|
||||
setAccessTokensToServers, unfollow,
|
||||
uploadVideo,
|
||||
viewVideo,
|
||||
wait
|
||||
wait,
|
||||
waitUntilLog
|
||||
} from '../../utils'
|
||||
import { waitJobs } from '../../utils/server/jobs'
|
||||
import * as magnetUtil from 'magnet-uri'
|
||||
@@ -225,7 +226,7 @@ describe('Test videos redundancy', function () {
|
||||
this.timeout(40000)
|
||||
|
||||
await waitJobs(servers)
|
||||
await wait(15000)
|
||||
await waitUntilLog(servers[0], 'Duplicated ', 4)
|
||||
await waitJobs(servers)
|
||||
|
||||
await check2Webseeds(strategy)
|
||||
@@ -270,7 +271,7 @@ describe('Test videos redundancy', function () {
|
||||
this.timeout(40000)
|
||||
|
||||
await waitJobs(servers)
|
||||
await wait(15000)
|
||||
await waitUntilLog(servers[0], 'Duplicated ', 4)
|
||||
await waitJobs(servers)
|
||||
|
||||
await check2Webseeds(strategy)
|
||||
@@ -336,7 +337,7 @@ describe('Test videos redundancy', function () {
|
||||
this.timeout(40000)
|
||||
|
||||
await waitJobs(servers)
|
||||
await wait(15000)
|
||||
await waitUntilLog(servers[0], 'Duplicated ', 4)
|
||||
await waitJobs(servers)
|
||||
|
||||
await check2Webseeds(strategy)
|
||||
@@ -423,7 +424,7 @@ describe('Test videos redundancy', function () {
|
||||
await enableRedundancyOnServer1()
|
||||
|
||||
await waitJobs(servers)
|
||||
await wait(5000)
|
||||
await waitUntilLog(servers[0], 'Duplicated ', 4)
|
||||
await waitJobs(servers)
|
||||
|
||||
await check2Webseeds(strategy)
|
||||
@@ -434,15 +435,21 @@ describe('Test videos redundancy', function () {
|
||||
})
|
||||
|
||||
it('Should cache video 2 webseed on the first video', async function () {
|
||||
this.timeout(40000)
|
||||
this.retries(3)
|
||||
this.timeout(50000)
|
||||
|
||||
await waitJobs(servers)
|
||||
|
||||
await wait(7000)
|
||||
|
||||
await check1WebSeed(strategy, video1Server2UUID)
|
||||
await check2Webseeds(strategy, video2Server2UUID)
|
||||
try {
|
||||
await check1WebSeed(strategy, video1Server2UUID)
|
||||
await check2Webseeds(strategy, video2Server2UUID)
|
||||
} catch {
|
||||
await wait(7000)
|
||||
|
||||
await check1WebSeed(strategy, video1Server2UUID)
|
||||
await check2Webseeds(strategy, video2Server2UUID)
|
||||
}
|
||||
})
|
||||
|
||||
after(function () {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import { ChildProcess, exec, fork } from 'child_process'
|
||||
import { join } from 'path'
|
||||
import { root, wait } from '../miscs/miscs'
|
||||
import { readFile } from 'fs-extra'
|
||||
|
||||
interface ServerInfo {
|
||||
app: ChildProcess,
|
||||
@@ -157,6 +159,19 @@ function killallServers (servers: ServerInfo[]) {
|
||||
}
|
||||
}
|
||||
|
||||
async function waitUntilLog (server: ServerInfo, str: string, count = 1) {
|
||||
const logfile = join(root(), 'test' + server.serverNumber, 'logs/peertube.log')
|
||||
|
||||
while (true) {
|
||||
const buf = await readFile(logfile)
|
||||
|
||||
const matches = buf.toString().match(new RegExp(str, 'g'))
|
||||
if (matches && matches.length === count) return
|
||||
|
||||
await wait(1000)
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export {
|
||||
@@ -165,5 +180,6 @@ export {
|
||||
flushTests,
|
||||
runServer,
|
||||
killallServers,
|
||||
reRunServer
|
||||
reRunServer,
|
||||
waitUntilLog
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user