From 792e5b8e5b731e15228dd5938bc2f99bb2e1070a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 2 Oct 2018 09:04:19 +0200 Subject: Try to improve redundancy tests --- server/tests/api/server/redundancy.ts | 25 ++++++++++++++++--------- server/tests/utils/server/servers.ts | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 10 deletions(-) (limited to 'server/tests') diff --git a/server/tests/api/server/redundancy.ts b/server/tests/api/server/redundancy.ts index e1709891d..fcf1eacd3 100644 --- a/server/tests/api/server/redundancy.ts +++ b/server/tests/api/server/redundancy.ts @@ -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 () { diff --git a/server/tests/utils/server/servers.ts b/server/tests/utils/server/servers.ts index fbfc83ca1..3c946db27 100644 --- a/server/tests/utils/server/servers.ts +++ b/server/tests/utils/server/servers.ts @@ -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 } -- cgit v1.2.3