Skip to content

Commit bcb28fb

Browse files
fix: failing UTs on main (webdriverio#14956)
Tentative fix suggested by AI Co-authored-by: Wim Selles <wim@wswebcreation.nl>
1 parent a855be2 commit bcb28fb

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

packages/wdio-appium-service/tests/launcher.test.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -942,13 +942,18 @@ describe('Appium launcher', () => {
942942
const mockLogError = vi.spyOn(log, 'error')
943943
const launcher = new AppiumLauncher({}, [], {} as any)
944944

945-
launcher['_startAppium']('node', [], 2000)
945+
const promise = launcher['_startAppium']('node', [], 2000)
946946

947947
const errorHandler = stderrListener.on.mock.calls
948948
.find((call: string[]) => call[0] === 'data')?.[1]
949949

950950
errorHandler(Buffer.from('Debugger attached'))
951951
expect(mockLogError).not.toHaveBeenCalled()
952+
953+
const stdoutHandler = stdoutListener.on.mock.calls
954+
.find((call: string[]) => call[0] === 'data')?.[1]
955+
stdoutHandler(Buffer.from('Appium REST http interface listener started'))
956+
await promise
952957
})
953958

954959
test('should filter out "For help, see: ..." message as an error', async () => {
@@ -966,13 +971,18 @@ describe('Appium launcher', () => {
966971
const mockLogError = vi.spyOn(log, 'error')
967972
const launcher = new AppiumLauncher({}, [], {} as any)
968973

969-
launcher['_startAppium']('node', [], 2000)
974+
const promise = launcher['_startAppium']('node', [], 2000)
970975

971976
const errorHandler = stderrListener.on.mock.calls
972977
.find((call: string[]) => call[0] === 'data')?.[1]
973978

974979
errorHandler(Buffer.from('For help, see: https://nodejs.org/en/docs/inspector'))
975980
expect(mockLogError).not.toHaveBeenCalled()
981+
982+
const stdoutHandler = stdoutListener.on.mock.calls
983+
.find((call: string[]) => call[0] === 'data')?.[1]
984+
stdoutHandler(Buffer.from('Appium REST http interface listener started'))
985+
await promise
976986
})
977987

978988
test('should not fail when Appium outputs WARN messages to stderr', async () => {
@@ -991,7 +1001,7 @@ describe('Appium launcher', () => {
9911001
const mockLogWarn = vi.spyOn(log, 'warn')
9921002
const launcher = new AppiumLauncher({}, [], {} as any)
9931003

994-
launcher['_startAppium']('node', [], 2000)
1004+
const promise = launcher['_startAppium']('node', [], 2000)
9951005

9961006
// Get the stderr handler
9971007
const stderrHandler = stderrListener.on.mock.calls
@@ -1003,6 +1013,11 @@ describe('Appium launcher', () => {
10031013
// The warning should be logged as a warning but not cause an error or rejection
10041014
expect(mockLogWarn).toHaveBeenCalled()
10051015
expect(mockLogError).not.toHaveBeenCalled()
1016+
1017+
const stdoutHandler = stdoutListener.on.mock.calls
1018+
.find((call: string[]) => call[0] === 'data')?.[1]
1019+
stdoutHandler(Buffer.from('Appium REST http interface listener started'))
1020+
await promise
10061021
})
10071022

10081023
test('should respect custom timeout from config', async () => {

0 commit comments

Comments
 (0)