Skip to content

Implement E2E Test Suite for System Pallet (esp. runtime upgrades!) #298

@rockbmb

Description

@rockbmb

Description

As the FRAME pallet source code says,

//! The System pallet provides dispatchable functions that, with the exception of `remark`, manage
//! low-level or privileged functionality of a Substrate-based runtime.

While other PET tests use system operations indirectly, there is no dedicated E2E test suite covering the critical runtime upgrade flows and system-level operations.

Objectives

Implement E2E tests covering key System pallet flows:

  • Runtime Upgrade Mechanisms: Test set_code() for direct upgrades, authorize_upgrade() + apply_authorized_upgrade() for two-phase upgrades, and set_code_without_checks() for emergency scenarios
  • Storage Management: Test set_storage(), kill_storage(), and kill_prefix() for administrative storage operations
  • System Operations: Test the remark functions, set_heap_pages(), and do_task() for utility functions and system configuration
  • Edge Cases: Test upgrade authorization conflicts, storage operation limits, multi-block migration interactions, and integration with governance for upgrade approvals

Sub-issues

Metadata

Metadata

Assignees

Labels

e2e testsRelated to end-to-end testsenhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions