test(e2e): drop 79 no-op serial markers from six more suites

serial_test's `#[serial]` is an in-process mutex. cargo-nextest, this repo's authoritative runner, gives every test its own process, so the mutex is never contended; cross-process serialization comes only from a `[test-groups]` entry with `max-threads = 1`. This continues #6209 and #6213.

Six more suites, none of them bound to a test group:

  object_lambda_test                  16
  special_chars_test                  14
  quota_test                          14
  archive_download_integrity_test     13
  list_objects_v2_pagination_test     12
  version_id_regression_test          10

Five of these do appear in `.config/nextest.toml`, but only in a lane's `default-filter` or a `slow-timeout` override — neither confers serialization. `inline_fast_path_cluster_test` is left alone precisely because it *is* bound to a group.

Each suite self-isolates: every test builds its own server through `RustFSTestEnvironment::new()` (UUID temp dir, allocated port), quota_test wrapping it in `QuotaTestEnv::new()` with a UUID bucket per test. No test mutates process env — quota_test passes its variables to the child server via `start_rustfs_server_with_env` — and the only literal addresses are `127.0.0.1:0`, which asks the kernel for a free port.

All 79 markers were bare `#[serial]`, no named groups, so the `use serial_test::serial;` import goes with the last marker in each of the six files and stays untouched in the 266 markers still spread across the crate.

Pure deletion, no test renamed and no behaviour changed.

Refs backlog#1846 (T1)
This commit is contained in:
overtrue
2026-08-19 10:07:21 +08:00
parent 612a5927b6
commit 83bf7649b1
6 changed files with 0 additions and 85 deletions
@@ -27,7 +27,6 @@ mod tests {
use aws_sdk_s3::Client;
use aws_sdk_s3::primitives::ByteStream;
use aws_sdk_s3::types::{BucketVersioningStatus, CompletedMultipartUpload, CompletedPart, VersioningConfiguration};
use serial_test::serial;
use tracing::info;
fn create_s3_client(env: &RustFSTestEnvironment) -> Client {
@@ -86,7 +85,6 @@ mod tests {
/// Test 1: PutObject should return version_id when versioning is enabled
/// This directly addresses the Veeam issue from #1066
#[tokio::test]
#[serial]
async fn test_put_object_returns_version_id_with_versioning() {
init_logging();
info!("🧪 TEST: PutObject returns version_id with versioning enabled");
@@ -130,7 +128,6 @@ mod tests {
/// Test 2: CopyObject should return version_id when versioning is enabled
#[tokio::test]
#[serial]
async fn test_copy_object_returns_version_id_with_versioning() {
init_logging();
info!("🧪 TEST: CopyObject returns version_id with versioning enabled");
@@ -185,7 +182,6 @@ mod tests {
/// Test 3: CompleteMultipartUpload should return version_id when versioning is enabled
#[tokio::test]
#[serial]
async fn test_multipart_upload_returns_version_id_with_versioning() {
init_logging();
info!("🧪 TEST: CompleteMultipartUpload returns version_id with versioning enabled");
@@ -260,7 +256,6 @@ mod tests {
/// Test 4: PutObject should NOT return version_id when versioning is NOT enabled
/// This ensures we didn't break non-versioned buckets
#[tokio::test]
#[serial]
async fn test_put_object_without_versioning() {
init_logging();
info!("🧪 TEST: PutObject behavior without versioning (no regression)");
@@ -296,7 +291,6 @@ mod tests {
/// Test 5: Basic S3 operations still work correctly (no regression)
#[tokio::test]
#[serial]
async fn test_basic_s3_operations_no_regression() {
init_logging();
info!("🧪 TEST: Basic S3 operations work correctly (no regression)");
@@ -363,7 +357,6 @@ mod tests {
/// Test 6: Veeam-specific scenario simulation
/// Simulates the exact workflow that Veeam uses when backing up data
#[tokio::test]
#[serial]
async fn test_veeam_backup_workflow_simulation() {
init_logging();
info!("🧪 TEST: Veeam VBR backup workflow simulation (Issue #1066)");
@@ -413,7 +406,6 @@ mod tests {
}
#[tokio::test]
#[serial]
async fn test_terraform_put_after_delete() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
init_logging();
@@ -456,7 +448,6 @@ mod tests {
/// Test 7: PutObject should omit version_id when versioning is Suspended
#[tokio::test]
#[serial]
async fn test_put_object_omits_version_id_with_suspended_versioning() {
init_logging();
info!("🧪 TEST: PutObject omits version_id with versioning suspended");
@@ -500,7 +491,6 @@ mod tests {
/// Test 8: CopyObject should omit version_id when versioning is Suspended
#[tokio::test]
#[serial]
async fn test_copy_object_omits_version_id_with_suspended_versioning() {
init_logging();
info!("🧪 TEST: CopyObject omits version_id with versioning suspended");
@@ -551,7 +541,6 @@ mod tests {
/// Test 9: CompleteMultipartUpload should omit version_id when versioning is Suspended
#[tokio::test]
#[serial]
async fn test_multipart_upload_omits_version_id_with_suspended_versioning() {
init_logging();
info!("🧪 TEST: CompleteMultipartUpload omits version_id with versioning suspended");