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:
+18
-18
@@ -29,7 +29,7 @@ class TestMainModule(unittest.TestCase):
|
||||
def test_parse_arguments_defaults(self):
|
||||
"""Test argument parsing with defaults."""
|
||||
# Test with no arguments (model/engine/language will be None without defaults)
|
||||
with patch("sys.argv", ["vocalinux"]):
|
||||
with patch("sys.argv", ["voculinux"]):
|
||||
args = parse_arguments()
|
||||
self.assertFalse(args.debug)
|
||||
self.assertIsNone(args.model) # No default set, loaded from config instead
|
||||
@@ -45,7 +45,7 @@ class TestMainModule(unittest.TestCase):
|
||||
with patch(
|
||||
"sys.argv",
|
||||
[
|
||||
"vocalinux",
|
||||
"voculinux",
|
||||
"--debug",
|
||||
"--model",
|
||||
"large",
|
||||
@@ -67,33 +67,33 @@ class TestMainModule(unittest.TestCase):
|
||||
|
||||
def test_parse_arguments_model_values(self):
|
||||
"""Test model parsing for base and exact whisper.cpp model IDs."""
|
||||
with patch("sys.argv", ["vocalinux", "--model", "small"]):
|
||||
with patch("sys.argv", ["voculinux", "--model", "small"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.model, "small")
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--model", "medium"]):
|
||||
with patch("sys.argv", ["voculinux", "--model", "medium"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.model, "medium")
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--model", "large"]):
|
||||
with patch("sys.argv", ["voculinux", "--model", "large"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.model, "large")
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--model", "medium.en-q5_0"]):
|
||||
with patch("sys.argv", ["voculinux", "--model", "medium.en-q5_0"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.model, "medium.en-q5_0")
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--model", "large-v3-turbo"]):
|
||||
with patch("sys.argv", ["voculinux", "--model", "large-v3-turbo"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.model, "large-v3-turbo")
|
||||
|
||||
def test_parse_arguments_engine_choices(self):
|
||||
"""Test that engine only accepts valid choices."""
|
||||
with patch("sys.argv", ["vocalinux", "--engine", "vosk"]):
|
||||
with patch("sys.argv", ["voculinux", "--engine", "vosk"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.engine, "vosk")
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--engine", "whisper"]):
|
||||
with patch("sys.argv", ["voculinux", "--engine", "whisper"]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.engine, "whisper")
|
||||
|
||||
@@ -106,7 +106,7 @@ class TestMainModule(unittest.TestCase):
|
||||
# Spot-check newly exposed languages (issue #565 and catalog expansion).
|
||||
for lang in ["auto", "en-us", "hu", "ja", "ko", "ar", "nl", "pl", "sl", "uk"]:
|
||||
self.assertIn(lang, LANGUAGE_CHOICES)
|
||||
with patch("sys.argv", ["vocalinux", "--language", lang]):
|
||||
with patch("sys.argv", ["voculinux", "--language", lang]):
|
||||
args = parse_arguments()
|
||||
self.assertEqual(args.language, lang)
|
||||
|
||||
@@ -399,7 +399,7 @@ class TestMainModule(unittest.TestCase):
|
||||
mock_args.start_minimized = False
|
||||
mock_parse.return_value = mock_args
|
||||
|
||||
with patch("sys.argv", ["vocalinux", "--engine", engine]):
|
||||
with patch("sys.argv", ["voculinux", "--engine", engine]):
|
||||
main()
|
||||
|
||||
text_callback = mock_speech_instance.register_text_callback.call_args.args[0]
|
||||
@@ -923,7 +923,7 @@ class TestMainConfigPrecedence(unittest.TestCase):
|
||||
with patch(
|
||||
"sys.argv",
|
||||
[
|
||||
"vocalinux",
|
||||
"voculinux",
|
||||
"--engine",
|
||||
"whisper",
|
||||
"--model",
|
||||
@@ -989,7 +989,7 @@ class TestMainConfigPrecedence(unittest.TestCase):
|
||||
mock_action_handler.return_value = mock_action_instance
|
||||
|
||||
# No CLI args for engine/model/language
|
||||
with patch("sys.argv", ["vocalinux"]):
|
||||
with patch("sys.argv", ["voculinux"]):
|
||||
with patch("vocalinux.main.logger"):
|
||||
main()
|
||||
|
||||
@@ -1040,7 +1040,7 @@ class TestMainConfigPrecedence(unittest.TestCase):
|
||||
with patch(
|
||||
"sys.argv",
|
||||
[
|
||||
"vocalinux",
|
||||
"voculinux",
|
||||
"--engine",
|
||||
"parakeet",
|
||||
"--model",
|
||||
@@ -1094,7 +1094,7 @@ class TestMainConfigPrecedence(unittest.TestCase):
|
||||
mock_tray.return_value = MagicMock()
|
||||
mock_action_handler.return_value = MagicMock()
|
||||
|
||||
with patch("sys.argv", ["vocalinux"]):
|
||||
with patch("sys.argv", ["voculinux"]):
|
||||
with patch("vocalinux.main.logger"):
|
||||
main()
|
||||
|
||||
@@ -1151,7 +1151,7 @@ class TestMainConfigPrecedence(unittest.TestCase):
|
||||
mock_tray.return_value = MagicMock()
|
||||
mock_action_handler.return_value = MagicMock()
|
||||
|
||||
with patch("sys.argv", ["vocalinux"]):
|
||||
with patch("sys.argv", ["voculinux"]):
|
||||
with patch("vocalinux.main.logger"):
|
||||
main()
|
||||
|
||||
@@ -1368,7 +1368,7 @@ def _boot_main_callbacks(
|
||||
)
|
||||
)
|
||||
mock_parse = stack.enter_context(patch("vocalinux.main.parse_arguments"))
|
||||
stack.enter_context(patch("sys.argv", ["vocalinux"]))
|
||||
stack.enter_context(patch("sys.argv", ["voculinux"]))
|
||||
|
||||
mock_args = MagicMock()
|
||||
mock_args.debug = False
|
||||
@@ -2144,7 +2144,7 @@ class TestSessionHistoryRecording(unittest.TestCase):
|
||||
|
||||
stack.enter_context(patch("vocalinux.ui.logging_manager.initialize_logging"))
|
||||
mock_parse = stack.enter_context(patch("vocalinux.main.parse_arguments"))
|
||||
stack.enter_context(patch("sys.argv", ["vocalinux"]))
|
||||
stack.enter_context(patch("sys.argv", ["voculinux"]))
|
||||
|
||||
mock_args = MagicMock()
|
||||
mock_args.debug = False
|
||||
|
||||
Reference in New Issue
Block a user