[PR #1745] Add comprehensive tests for machine/process models, orchestrator, and search backends #3008

Closed
opened 2026-03-01 18:01:23 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/ArchiveBox/ArchiveBox/pull/1745

State: closed
Merged: Yes


This adds new test coverage for previously untested areas:

Machine module (archivebox/machine/tests/):

  • Machine, NetworkInterface, Binary, Process model tests
  • BinaryMachine and ProcessMachine state machine tests
  • JSONL serialization/deserialization tests
  • Manager method tests

Workers module (archivebox/workers/tests/):

  • PID file utility tests (write, read, cleanup)
  • Orchestrator lifecycle and queue management tests
  • Worker spawning logic tests
  • Idle detection and exit condition tests

Search backends:

  • SQLite FTS5 search tests with real indexed content
  • Phrase search, stemming, and unicode support
  • Ripgrep search tests with archive directory structure
  • Environment variable configuration tests

Binary provider plugins:

  • pip provider hook tests
  • npm provider hook tests with PATH updates
  • apt provider hook tests

Summary by cubic

Adds comprehensive tests for machine/process models, orchestrator lifecycle, search backends, and core plugins (SEO, SSL, redirects) to improve reliability under the new Process model architecture. Includes real-data checks for ripgrep and SQLite FTS5 and Chrome-based plugin integration, plus verification of pip, npm, and apt provider hooks.

  • New Features
    • Machine: tests for Machine/NetworkInterface/Binary/Process, managers, JSONL, and BinaryMachine/ProcessMachine state machines.
    • Workers: orchestrator startup/shutdown, queue and worker spawning, idle/exit logic, and Process-based tracking replacing pid_utils.
    • Search: SQLite FTS5 indexing and queries (phrase, stemming, unicode) and ripgrep search over archive structure with env config and timeouts.
    • Plugins: Chrome integration tests for redirects, SEO, and SSL hooks using real URLs.
    • Binary providers: pip, npm (LIB_DIR and npm prefix handling), and apt hook behavior with overrides JSON.

Written for commit 08383c4d83. Summary will update on new commits.

**Original Pull Request:** https://github.com/ArchiveBox/ArchiveBox/pull/1745 **State:** closed **Merged:** Yes --- This adds new test coverage for previously untested areas: Machine module (archivebox/machine/tests/): - Machine, NetworkInterface, Binary, Process model tests - BinaryMachine and ProcessMachine state machine tests - JSONL serialization/deserialization tests - Manager method tests Workers module (archivebox/workers/tests/): - PID file utility tests (write, read, cleanup) - Orchestrator lifecycle and queue management tests - Worker spawning logic tests - Idle detection and exit condition tests Search backends: - SQLite FTS5 search tests with real indexed content - Phrase search, stemming, and unicode support - Ripgrep search tests with archive directory structure - Environment variable configuration tests Binary provider plugins: - pip provider hook tests - npm provider hook tests with PATH updates - apt provider hook tests <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds comprehensive tests for machine/process models, orchestrator lifecycle, search backends, and core plugins (SEO, SSL, redirects) to improve reliability under the new Process model architecture. Includes real-data checks for ripgrep and SQLite FTS5 and Chrome-based plugin integration, plus verification of pip, npm, and apt provider hooks. - **New Features** - Machine: tests for Machine/NetworkInterface/Binary/Process, managers, JSONL, and BinaryMachine/ProcessMachine state machines. - Workers: orchestrator startup/shutdown, queue and worker spawning, idle/exit logic, and Process-based tracking replacing pid_utils. - Search: SQLite FTS5 indexing and queries (phrase, stemming, unicode) and ripgrep search over archive structure with env config and timeouts. - Plugins: Chrome integration tests for redirects, SEO, and SSL hooks using real URLs. - Binary providers: pip, npm (LIB_DIR and npm prefix handling), and apt hook behavior with overrides JSON. <sup>Written for commit 08383c4d8322abda1b1ff23b32769b3ed89261cc. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
kerem 2026-03-01 18:01:23 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#3008
No description provided.