Drop setuid from chrome-sandbox and keep Obsidian's tests in its package
Chromium sandboxes through unprivileged user namespaces on Arch-family kernels, so the setuid-root helper is unnecessary. The watcher tests now run from check() as checksummed package sources, leaving tests/ and the shared Tests workflow untouched.
This commit is contained in:
1 parent
94ce4e5a46
commit
2a47ad775b
6 files changed
+16
-8
No files matched your search
@@ -1,47 +0,0 @@
|
||||
#!/usr/bin/python3
|
||||
import importlib.util
|
||||
from pathlib import Path
|
||||
import unittest
|
||||
|
||||
path = Path(__file__).resolve().parents[1] / 'pkgbuilds/obsidian/.omarchy/upstream.py'
|
||||
spec = importlib.util.spec_from_file_location('obsidian_upstream', path)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module)
|
||||
|
||||
|
||||
def release(version, **extra):
|
||||
return dict(tag_name='v' + version, draft=False, prerelease=False,
|
||||
published_at='2026-09-23T00:00:00Z', assets=[{
|
||||
'name': f'obsidian-{version}-arm64.tar.gz',
|
||||
'digest': 'sha256:' + 'a' * 64,
|
||||
'browser_download_url': f'https://github.com/obsidianmd/obsidian-releases/releases/download/v{version}/obsidian-{version}-arm64.tar.gz'
|
||||
}], **extra)
|
||||
|
||||
|
||||
class DesktopReleaseTests(unittest.TestCase):
|
||||
def test_mobile_only_and_preview_ignored(self):
|
||||
mobile = release('2.0.0'); mobile['assets'] = [{'name': 'Obsidian.apk'}]
|
||||
preview = release('3.0.0'); preview['prerelease'] = True
|
||||
draft = release('4.0.0'); draft['draft'] = True
|
||||
self.assertEqual(module.select([mobile, preview, draft, release('1.13.7')])['pkgver'], '1.13.7')
|
||||
|
||||
def test_numeric_version_order(self):
|
||||
self.assertEqual(module.select([release('1.9.0'), release('1.13.7')])['pkgver'], '1.13.7')
|
||||
|
||||
def test_bad_newest_digest_fails_without_falling_back(self):
|
||||
newest = release('2.0.0'); newest['assets'][0]['digest'] = None
|
||||
with self.assertRaises(ValueError):
|
||||
module.select([release('1.13.7'), newest])
|
||||
|
||||
def test_changed_url_rejected(self):
|
||||
row = release('1.13.7'); row['assets'][0]['browser_download_url'] = 'https://example.org/foreign'
|
||||
with self.assertRaises(ValueError): module.select([row])
|
||||
|
||||
def test_missing_or_duplicate_installer_rejected(self):
|
||||
with self.assertRaises(ValueError): module.select([])
|
||||
row = release('1.13.7'); row['assets'] *= 2
|
||||
with self.assertRaises(ValueError): module.select([row])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user