In karma 6, files matched by earlier patterns aren't overridden by later patterns. The sourceFiles patterns like `cms/**/!(*spec|djangojs).js` matched test entry files (e.g., `cms/js/spec/main.js`) because they don't end with "spec" or "djangojs". This prevented runFiles from setting `included: true` on these files, so tests never started. Split the sourceFiles patterns to precisely exclude spec/main*.js test entry points while still serving other source files: - Direct children of the js directory - Subdirectories except spec/ - spec/ subdirectory, excluding main* files This allows runFiles to control test entry point inclusion. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
CMS
===
This directory contains code relating to the Open edX Content Management System ("CMS"). It allows learning content to be created, edited, versioned, and eventually published to the `Open edX Learning Mangement System <../lms>`_ ("LMS"). The main user-facing application that CMS powers is the `Open edX Studio <https://docs.openedx.org/en/latest/educators/concepts/open_edx_platform/what_is_studio.html>`_
See also
--------
* `CMS vs Studio terminology <../docs/decisions/0013-cms-vs-studio.rst>`_
* `CMS vs LMS boundaries <../docs/decisions/0005-studio-lms-subdomain-boundaries.rst>`_