Hi
This usually happens due to subtle causes that don't generate standard Python exceptions, especially in a --test-enable context. So the issue is Odoo.sh specific, and most likely tied to the test runner or non-standard return from an init/install function.
1-Missing installable: true or broken manifest field.
If installable is not set to true, or fields like depends, data, or license are malformed, the module silently fails during the scan.
2. Broken test function without assertion or return.
Odoo.sh runs modules with --test-enable, even if no explicit tests are defined. A missing assertion, or an invalid ORM call in a @api.model method marked as a test, might cause Odoo.sh to abort tests without logging anything.
Check for methods starting with test_ in your models and remove or disable them temporarily.
3-Database initialization failure.
If the module:
- Creates a view referencing a missing field,
- Adds a security record with invalid XML,
- Loads a bad CSV or misconfigured access rule,then Odoo.sh may fail silently, especially if noupdate=1.
Temporarily remove XML files (data, views, security) in the manifest and re-test.
4. Use the runbot or sh shell for debugging.
Use the Odoo.sh shell to manually trigger module install with debug logs.
Check with the above conditions.
Hope it helps