Skip to content

Tests don't check for python websockets which are required #12

@lross2k

Description

@lross2k

Description

If the device doesn't have python websockets module installed for any reason, the tests will pass but the app will error out

Current behavior

$ pip3 show websockets
WARNING: Package(s) not found: websockets
$ npm test

> cdpilot@0.1.2 test
> node test/test.js


  cdpilot tests

  ✓ --version prints version
  ✓ -v prints version
  ✓ help shows usage
  ✓ --help shows usage
  ✓ no args shows help
  ✓ setup detects browser
  ✓ setup detects python
  ✓ cdpilot.py exists
  ✓ package.json has bin field
  ✓ package.json has correct name
  ✓ python script has version
  ✓ python script has shebang

  12 passed, 0 failed

$ npx cdpilot launch
Launching browser (isolated session, port 9223)...
CDP ready! (port 9223)
$ npx cdpilot go https://gnu.org
Traceback (most recent call last):
  File "cdpilot/src/cdpilot.py", line 3590, in <module>
    asyncio.run(_wrapped())
    ~~~~~~~~~~~^^^^^^^^^^^^
  File "/usr/lib/python3.14/asyncio/runners.py", line 204, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.14/asyncio/runners.py", line 127, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.14/asyncio/base_events.py", line 719, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "cdpilot/src/cdpilot.py", line 3581, in _wrapped
    await async_map[cmd]()
  File "cdpilot/src/cdpilot.py", line 1292, in cmd_go
    content, _ = await navigate_collect(ws, url)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "cdpilot/src/cdpilot.py", line 822, in navigate_collect
    import websockets
ModuleNotFoundError: No module named 'websockets'
$ 

Expected behavior

$ pip3 show websockets
WARNING: Package(s) not found: websockets
$ npm test

> cdpilot@0.1.2 test
> node test/test.js


  cdpilot tests

  ✓ --version prints version
  ✓ -v prints version
  ✓ help shows usage
  ✓ --help shows usage
  ✓ no args shows help
  ✓ setup detects browser
  ✓ setup detects python
  ✗ setup detects python websockets
    Command failed: node cdpilot/bin/cdpilot.js setup 2>&1
  ✓ cdpilot.py exists
  ✓ package.json has bin field
  ✓ package.json has correct name
  ✓ python script has version
  ✓ python script has shebang

  12 passed, 1 failed

$ 

Platform

Linux archdesk 6.19.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 04 Mar 2026 18:25:08 +0000 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions