feat(identity): rename user-visible identity to voculinux with one-time legacy import

The fork takes its own name everywhere a user can see it: binaries
(voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus
namespace (com.voculinux.Voculinux, no alias for the old name),
config/data/cache dirs, single-instance lock, IBus engine identity,
tray icons, resource prefixes, VOCULINUX_* environment names, and the
update-checker user agent. The internal Python module stays vocalinux
and the distribution metadata keeps the upstream URLs as provenance.

On first run a previous Vocalinux install's config.json, custom
dictionary, and portal restore token are copied once into the new
locations (new config always wins, no merge, no write-back); models
re-resolve through the pinned-checksum download path. An offline
naming-sweep test proves no old-name strings remain on user-visible
surfaces outside the allowlist.

Refs #18
This commit is contained in:
soubarnak
2026-11-06 01:29:39 +05:30
parent c565e6d946
commit ea7be5f111
251 changed files with 2449 additions and 1991 deletions
+15 -15
View File
@@ -1,5 +1,5 @@
"""
Branch coverage tests for Vocalinux.
Branch coverage tests for Voculinux.
This module tests uncovered branches in:
- recognition_manager.py
@@ -533,7 +533,7 @@ class TestRecognitionManagerModelReady:
class TestParseArguments:
"""Test parse_arguments function."""
@patch("sys.argv", ["vocalinux", "--debug"])
@patch("sys.argv", ["voculinux", "--debug"])
def test_parse_arguments_debug(self):
"""Test parse_arguments with --debug flag."""
from vocalinux.main import parse_arguments
@@ -541,7 +541,7 @@ class TestParseArguments:
args = parse_arguments()
assert args.debug is True
@patch("sys.argv", ["vocalinux", "--engine", "whisper"])
@patch("sys.argv", ["voculinux", "--engine", "whisper"])
def test_parse_arguments_engine(self):
"""Test parse_arguments with --engine flag."""
from vocalinux.main import parse_arguments
@@ -549,7 +549,7 @@ class TestParseArguments:
args = parse_arguments()
assert args.engine == "whisper"
@patch("sys.argv", ["vocalinux", "--model", "large"])
@patch("sys.argv", ["voculinux", "--model", "large"])
def test_parse_arguments_model(self):
"""Test parse_arguments with --model flag."""
from vocalinux.main import parse_arguments
@@ -557,7 +557,7 @@ class TestParseArguments:
args = parse_arguments()
assert args.model == "large"
@patch("sys.argv", ["vocalinux", "--language", "en-us"])
@patch("sys.argv", ["voculinux", "--language", "en-us"])
def test_parse_arguments_language(self):
"""Test parse_arguments with --language flag."""
from vocalinux.main import parse_arguments
@@ -565,7 +565,7 @@ class TestParseArguments:
args = parse_arguments()
assert args.language == "en-us"
@patch("sys.argv", ["vocalinux", "--wayland"])
@patch("sys.argv", ["voculinux", "--wayland"])
def test_parse_arguments_wayland(self):
"""Test parse_arguments with --wayland flag."""
from vocalinux.main import parse_arguments
@@ -573,7 +573,7 @@ class TestParseArguments:
args = parse_arguments()
assert args.wayland is True
@patch("sys.argv", ["vocalinux", "--start-minimized"])
@patch("sys.argv", ["voculinux", "--start-minimized"])
def test_parse_arguments_start_minimized(self):
"""Test parse_arguments with --start-minimized flag."""
from vocalinux.main import parse_arguments
@@ -898,7 +898,7 @@ class TestRecognitionManagerUpdateState:
class TestParseArgumentsCombinations:
"""Test parse_arguments with various flag combinations."""
@patch("sys.argv", ["vocalinux", "--debug", "--engine", "vosk", "--wayland"])
@patch("sys.argv", ["voculinux", "--debug", "--engine", "vosk", "--wayland"])
def test_parse_arguments_multiple_flags(self):
"""Test parse_arguments with multiple flags."""
from vocalinux.main import parse_arguments
@@ -908,7 +908,7 @@ class TestParseArgumentsCombinations:
assert args.engine == "vosk"
assert args.wayland is True
@patch("sys.argv", ["vocalinux"])
@patch("sys.argv", ["voculinux"])
def test_parse_arguments_no_flags(self):
"""Test parse_arguments with no flags."""
from vocalinux.main import parse_arguments
@@ -1306,7 +1306,7 @@ class TestCallbackManagement:
class TestParseArgumentsAllCombos:
"""Test all argument combinations."""
@patch("sys.argv", ["vocalinux", "--model", "small"])
@patch("sys.argv", ["voculinux", "--model", "small"])
def test_parse_arguments_model_small(self):
"""Test parse_arguments with small model."""
from vocalinux.main import parse_arguments
@@ -1314,7 +1314,7 @@ class TestParseArgumentsAllCombos:
args = parse_arguments()
assert args.model == "small"
@patch("sys.argv", ["vocalinux", "--model", "medium"])
@patch("sys.argv", ["voculinux", "--model", "medium"])
def test_parse_arguments_model_medium(self):
"""Test parse_arguments with medium model."""
from vocalinux.main import parse_arguments
@@ -1322,7 +1322,7 @@ class TestParseArgumentsAllCombos:
args = parse_arguments()
assert args.model == "medium"
@patch("sys.argv", ["vocalinux", "--language", "hi"])
@patch("sys.argv", ["voculinux", "--language", "hi"])
def test_parse_arguments_language_hi(self):
"""Test parse_arguments with Hindi language."""
from vocalinux.main import parse_arguments
@@ -1330,7 +1330,7 @@ class TestParseArgumentsAllCombos:
args = parse_arguments()
assert args.language == "hi"
@patch("sys.argv", ["vocalinux", "--language", "es"])
@patch("sys.argv", ["voculinux", "--language", "es"])
def test_parse_arguments_language_es(self):
"""Test parse_arguments with Spanish language."""
from vocalinux.main import parse_arguments
@@ -1338,7 +1338,7 @@ class TestParseArgumentsAllCombos:
args = parse_arguments()
assert args.language == "es"
@patch("sys.argv", ["vocalinux", "--engine", "vosk"])
@patch("sys.argv", ["voculinux", "--engine", "vosk"])
def test_parse_arguments_engine_vosk(self):
"""Test parse_arguments with vosk engine."""
from vocalinux.main import parse_arguments
@@ -1346,7 +1346,7 @@ class TestParseArgumentsAllCombos:
args = parse_arguments()
assert args.engine == "vosk"
@patch("sys.argv", ["vocalinux", "--engine", "whisper_cpp"])
@patch("sys.argv", ["voculinux", "--engine", "whisper_cpp"])
def test_parse_arguments_engine_whisper_cpp(self):
"""Test parse_arguments with whisper_cpp engine."""
from vocalinux.main import parse_arguments