diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 10b6cc9c..30aafff7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -5,7 +5,8 @@ Describe the change and motivation. ## Checklist - [ ] Tests added/updated -- [ ] `cargo test` passes locally +- [ ] Regular tests pass locally (`cargo nt`) +- [ ] Doc tests pass locally (`cargo test --doc --all-features`) - [ ] Docs updated - [ ] Existing docs updated where behavior changed - [ ] New doc added under `docs/` if introducing a new area diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..686e5e7a --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,10 @@ +# Microsoft Open Source Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns +- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 459bb110..15f3b40e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,10 +2,28 @@ Thanks for your interest in improving duroxide! -Before submitting changes, please review this checklist: +This project welcomes contributions and suggestions. Most contributions require you to +agree to a Contributor License Agreement (CLA) declaring that you have the right to, +and actually do, grant us the rights to use your contribution. For details, visit +https://cla.microsoft.com. + +When you submit a pull request, a CLA-bot will automatically determine whether you need +to provide a CLA and decorate the PR appropriately (for example, label or comment). +Simply follow the instructions provided by the bot. You will only need to do this once +across all repositories using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +## Reporting security issues + +Please do not report security vulnerabilities through public GitHub issues. Follow the instructions in [SECURITY.md](SECURITY.md). + +## Before submitting changes - Code - - [ ] Build passes locally (`cargo test`) + - [ ] Regular tests pass locally (`cargo nt`) - [ ] Lints/clippy (if applicable) are clean - [ ] Tests added or updated for behavior changes - Documentation @@ -20,13 +38,23 @@ Before submitting changes, please review this checklist: - Write or update tests first (happy path + 1-2 edge cases). - Keep public APIs stable where possible; note breakages clearly. - Prefer small, focused commits with descriptive messages. +- For non-trivial changes, include a short design rationale in the pull request description with code pointers. +- Update documentation when a change affects existing docs, introduces a new surface area, or changes behavior users rely on. -## Running tests +Before opening a pull request, run the checks relevant to your change: +```bash +cargo nt +cargo clippy --all-targets --all-features +cargo test --doc --all-features ``` -cargo test + +For broader runtime changes, also run the comprehensive two-pass suite: + +```bash +./run-tests.sh ``` -## Filing PRs +## Filing pull requests -Use the PR template in `.github/pull_request_template.md`. Fill in the docs checkboxes. +Use the pull request template in [.github/pull_request_template.md](.github/pull_request_template.md) and fill in the docs checkboxes. diff --git a/README.md b/README.md index d2f2c9fe..bca0297e 100644 --- a/README.md +++ b/README.md @@ -224,10 +224,36 @@ that fits how you want to author and host your workflows: ## Development ```bash -cargo build # Build -cargo test --all -- --nocapture # Run all tests +cargo build --all-features # Build +cargo nt # Run regular tests with nextest +cargo test --doc --all-features # Run doctests +./run-tests.sh # Full two-pass CI test suite ./run-stress-tests.sh # Stress tests (see STRESS_TEST_MONITORING.md) ``` See [CHANGELOG.md](CHANGELOG.md) for release notes and [CONTRIBUTING.md](CONTRIBUTING.md) to get involved. + +## Support + +Use GitHub Issues for bug reports and feature requests. Do not report security vulnerabilities through public GitHub issues; follow the instructions in [SECURITY.md](SECURITY.md) instead. + +## Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or comments. + +## Security + +Microsoft takes the security of our software products and services seriously. Please do not report security vulnerabilities through public GitHub issues. See [SECURITY.md](SECURITY.md) for security reporting instructions. + +## Privacy and Telemetry + +Duroxide does not send telemetry to Microsoft. Applications may configure their own logging or metrics exporters; those signals are controlled by the application owner. + +## Trademarks + +This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third-party policies. + +## License + +MIT License - see [LICENSE](LICENSE) for details. diff --git a/examples/delays_and_timeouts.rs b/examples/delays_and_timeouts.rs index 824eea00..66b95b10 100644 --- a/examples/delays_and_timeouts.rs +++ b/examples/delays_and_timeouts.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/examples/fan_out_fan_in.rs b/examples/fan_out_fan_in.rs index 1a023778..99ed6a1b 100644 --- a/examples/fan_out_fan_in.rs +++ b/examples/fan_out_fan_in.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Fan-Out/Fan-In Pattern Example //! //! This example demonstrates parallel execution of multiple activities diff --git a/examples/hello_world.rs b/examples/hello_world.rs index f11a7615..ea3ac2d4 100644 --- a/examples/hello_world.rs +++ b/examples/hello_world.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Hello World Example - Start here to learn Duroxide basics //! //! This example demonstrates: diff --git a/examples/metrics_cli.rs b/examples/metrics_cli.rs index 98849f35..5350d15f 100644 --- a/examples/metrics_cli.rs +++ b/examples/metrics_cli.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Interactive observability dashboard for duroxide. //! //! This CLI tool demonstrates how to consume and display duroxide metrics diff --git a/examples/timers_and_events.rs b/examples/timers_and_events.rs index 28ee5f98..0dcd20ed 100644 --- a/examples/timers_and_events.rs +++ b/examples/timers_and_events.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Timers and External Events Example //! //! This example demonstrates: diff --git a/examples/with_observability.rs b/examples/with_observability.rs index 432c6763..49fdd8cf 100644 --- a/examples/with_observability.rs +++ b/examples/with_observability.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Example demonstrating duroxide with observability enabled. //! //! This example shows how to configure structured logging and metrics diff --git a/run-stress-tests.sh b/run-stress-tests.sh index 8660825c..8c5bc860 100755 --- a/run-stress-tests.sh +++ b/run-stress-tests.sh @@ -1,4 +1,7 @@ #!/bin/bash +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + # Run Duroxide stress tests # # This script runs the stress test suite including: diff --git a/run-tests.sh b/run-tests.sh index d4ddbc2e..f91f3e59 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -1,4 +1,7 @@ #!/usr/bin/env bash +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + # Run the full duroxide test suite in two passes: # Pass 1: --all-features (enables replay-version-test, runs v2 acceptance tests) # Pass 2: no features (runs v1 serde rejection tests — proves v2 events are rejected) diff --git a/sqlite-stress/src/bin/large-payload-stress.rs b/sqlite-stress/src/bin/large-payload-stress.rs index 05a14ac4..1a2fddba 100644 --- a/sqlite-stress/src/bin/large-payload-stress.rs +++ b/sqlite-stress/src/bin/large-payload-stress.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Large Payload SQLite Stress Test Binary //! //! This binary runs the large payload stress test with SQLite provider. diff --git a/sqlite-stress/src/bin/sqlite-stress.rs b/sqlite-stress/src/bin/sqlite-stress.rs index dbdebaa1..1ae7467c 100644 --- a/sqlite-stress/src/bin/sqlite-stress.rs +++ b/sqlite-stress/src/bin/sqlite-stress.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! SQLite Stress Test Binary //! //! This binary runs the SQLite stress test suite across multiple configurations. diff --git a/sqlite-stress/src/lib.rs b/sqlite-stress/src/lib.rs index ca0d9812..d2745e24 100644 --- a/sqlite-stress/src/lib.rs +++ b/sqlite-stress/src/lib.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! SQLite Stress Tests for Duroxide //! //! This library provides SQLite-specific stress test implementations for Duroxide, diff --git a/sqlite-stress/track-results.sh b/sqlite-stress/track-results.sh index a04ce496..dd42e796 100755 --- a/sqlite-stress/track-results.sh +++ b/sqlite-stress/track-results.sh @@ -1,4 +1,7 @@ #!/bin/bash +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + # Track stress test results with git history and rolling averages set -e diff --git a/src/client/mod.rs b/src/client/mod.rs index d24ebce0..0daa3b2e 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use std::sync::Arc; use tracing::info; diff --git a/src/combinators.rs b/src/combinators.rs index 3d2357ca..568b3d5e 100644 --- a/src/combinators.rs +++ b/src/combinators.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::{Either2, Either3}; use std::future::Future; use std::pin::Pin; diff --git a/src/lib.rs b/src/lib.rs index 2c39f776..e4653528 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! # Duroxide: Durable execution framework in Rust //! //! Duroxide is a framework for building reliable, long-running code based workflows that can survive diff --git a/src/provider_stress_test/core.rs b/src/provider_stress_test/core.rs index 1e96fbbe..f5577833 100644 --- a/src/provider_stress_test/core.rs +++ b/src/provider_stress_test/core.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Core stress test infrastructure - types, runner, and utilities. use crate::providers::Provider; diff --git a/src/provider_stress_test/large_payload.rs b/src/provider_stress_test/large_payload.rs index 247e85be..135f9ad5 100644 --- a/src/provider_stress_test/large_payload.rs +++ b/src/provider_stress_test/large_payload.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Large payload stress test scenario. //! //! Tests memory consumption and history management with large event payloads. diff --git a/src/provider_stress_test/mod.rs b/src/provider_stress_test/mod.rs index f34f0915..5d92534b 100644 --- a/src/provider_stress_test/mod.rs +++ b/src/provider_stress_test/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider stress test infrastructure implementation modules. pub mod core; diff --git a/src/provider_stress_test/parallel_orchestrations.rs b/src/provider_stress_test/parallel_orchestrations.rs index 6365deff..df2f8005 100644 --- a/src/provider_stress_test/parallel_orchestrations.rs +++ b/src/provider_stress_test/parallel_orchestrations.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Parallel orchestrations stress test scenario. //! //! Tests fan-out/fan-in orchestration patterns with concurrent instance execution. diff --git a/src/provider_stress_tests.rs b/src/provider_stress_tests.rs index 25d9c14c..11091ceb 100644 --- a/src/provider_stress_tests.rs +++ b/src/provider_stress_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider Stress Test Infrastructure //! //! This module provides reusable stress test infrastructure for validating custom Provider implementations diff --git a/src/provider_validation/atomicity.rs b/src/provider_validation/atomicity.rs index 794e0ad0..c74ace3f 100644 --- a/src/provider_validation/atomicity.rs +++ b/src/provider_validation/atomicity.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::{TagFilter, WorkItem}; diff --git a/src/provider_validation/bulk_deletion.rs b/src/provider_validation/bulk_deletion.rs index e092ee24..13630771 100644 --- a/src/provider_validation/bulk_deletion.rs +++ b/src/provider_validation/bulk_deletion.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for bulk delete instance operations. //! //! These tests verify that providers correctly implement the delete_instance_bulk API, diff --git a/src/provider_validation/cancellation.rs b/src/provider_validation/cancellation.rs index 86a98668..c209d255 100644 --- a/src/provider_validation/cancellation.rs +++ b/src/provider_validation/cancellation.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::{ScheduledActivityIdentifier, TagFilter, WorkItem}; diff --git a/src/provider_validation/capability_filtering.rs b/src/provider_validation/capability_filtering.rs index f7a1ce59..b304a378 100644 --- a/src/provider_validation/capability_filtering.rs +++ b/src/provider_validation/capability_filtering.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Capability filtering provider validation tests. //! //! These tests validate that providers correctly implement the capability filtering diff --git a/src/provider_validation/custom_status.rs b/src/provider_validation/custom_status.rs index 9147b131..eb13b794 100644 --- a/src/provider_validation/custom_status.rs +++ b/src/provider_validation/custom_status.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for custom status. //! //! These tests validate that a Provider implementation correctly handles diff --git a/src/provider_validation/deletion.rs b/src/provider_validation/deletion.rs index 312edc15..c432910b 100644 --- a/src/provider_validation/deletion.rs +++ b/src/provider_validation/deletion.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for deletion operations. //! //! These tests verify that providers correctly implement the deletion API, diff --git a/src/provider_validation/error_handling.rs b/src/provider_validation/error_handling.rs index c14623fc..041208e2 100644 --- a/src/provider_validation/error_handling.rs +++ b/src/provider_validation/error_handling.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::INITIAL_EXECUTION_ID; use crate::provider_validation::{Event, EventKind, ExecutionMetadata, create_instance, start_item}; use crate::provider_validations::ProviderFactory; diff --git a/src/provider_validation/instance_creation.rs b/src/provider_validation/instance_creation.rs index 367b4476..79a62ac4 100644 --- a/src/provider_validation/instance_creation.rs +++ b/src/provider_validation/instance_creation.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::WorkItem; diff --git a/src/provider_validation/instance_locking.rs b/src/provider_validation/instance_locking.rs index 6ec0cc46..72903ef9 100644 --- a/src/provider_validation/instance_locking.rs +++ b/src/provider_validation/instance_locking.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{ExecutionMetadata, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::WorkItem; diff --git a/src/provider_validation/kv_store.rs b/src/provider_validation/kv_store.rs index 7fec4cce..09d31514 100644 --- a/src/provider_validation/kv_store.rs +++ b/src/provider_validation/kv_store.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for the KV store. //! //! These tests validate that a Provider implementation correctly handles diff --git a/src/provider_validation/lock_expiration.rs b/src/provider_validation/lock_expiration.rs index f3c6ec3e..39526743 100644 --- a/src/provider_validation/lock_expiration.rs +++ b/src/provider_validation/lock_expiration.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, WorkItem, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::TagFilter; diff --git a/src/provider_validation/long_polling.rs b/src/provider_validation/long_polling.rs index 49907f28..c1f92281 100644 --- a/src/provider_validation/long_polling.rs +++ b/src/provider_validation/long_polling.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Long polling validation tests for providers. //! //! These tests verify correct polling behavior. Providers that don't support long polling diff --git a/src/provider_validation/management.rs b/src/provider_validation/management.rs index 9a42b628..aa39d6be 100644 --- a/src/provider_validation/management.rs +++ b/src/provider_validation/management.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::WorkItem; diff --git a/src/provider_validation/mod.rs b/src/provider_validation/mod.rs index 72a11823..ee6266c8 100644 --- a/src/provider_validation/mod.rs +++ b/src/provider_validation/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider Validation Tests //! //! Comprehensive test suite for validating provider implementations. diff --git a/src/provider_validation/multi_execution.rs b/src/provider_validation/multi_execution.rs index b3bdc4e3..ddeb8f36 100644 --- a/src/provider_validation/multi_execution.rs +++ b/src/provider_validation/multi_execution.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata}; use crate::provider_validations::ProviderFactory; use crate::providers::WorkItem; diff --git a/src/provider_validation/poison_message.rs b/src/provider_validation/poison_message.rs index 1a1d0e7c..242a56df 100644 --- a/src/provider_validation/poison_message.rs +++ b/src/provider_validation/poison_message.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Poison Message Detection Validation Tests //! //! These tests validate that providers correctly track attempt counts diff --git a/src/provider_validation/prune.rs b/src/provider_validation/prune.rs index af4e8bd6..a8280a52 100644 --- a/src/provider_validation/prune.rs +++ b/src/provider_validation/prune.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for execution pruning operations. //! //! These tests verify that providers correctly implement the prune API, diff --git a/src/provider_validation/queue_semantics.rs b/src/provider_validation/queue_semantics.rs index c69acbc6..172d692d 100644 --- a/src/provider_validation/queue_semantics.rs +++ b/src/provider_validation/queue_semantics.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::provider_validation::{Event, EventKind, ExecutionMetadata, create_instance, start_item}; use crate::provider_validations::ProviderFactory; use crate::providers::{TagFilter, WorkItem}; diff --git a/src/provider_validation/sessions.rs b/src/provider_validation/sessions.rs index bef83555..cd3f7233 100644 --- a/src/provider_validation/sessions.rs +++ b/src/provider_validation/sessions.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Session Routing Provider Validation Tests //! //! Tests that validate the implicit session routing contract for providers. diff --git a/src/provider_validation/tag_filtering.rs b/src/provider_validation/tag_filtering.rs index a72d6950..23f86046 100644 --- a/src/provider_validation/tag_filtering.rs +++ b/src/provider_validation/tag_filtering.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tag filtering validation tests for providers. //! //! These tests verify that `fetch_work_item` correctly filters activities by tag diff --git a/src/provider_validations.rs b/src/provider_validations.rs index 138d42fb..d1276a93 100644 --- a/src/provider_validations.rs +++ b/src/provider_validations.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider Validation Infrastructure //! //! This module provides reusable test infrastructure for validating custom Provider implementations. diff --git a/src/providers/error.rs b/src/providers/error.rs index e8fd6c4a..255f9a8d 100644 --- a/src/providers/error.rs +++ b/src/providers/error.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + /// Provider-specific error with retry classification /// /// Providers return this error type to indicate whether an error should be retried. diff --git a/src/providers/instrumented.rs b/src/providers/instrumented.rs index 6e24029e..459ad934 100644 --- a/src/providers/instrumented.rs +++ b/src/providers/instrumented.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Instrumented provider wrapper that adds metrics to any provider implementation. use async_trait::async_trait; diff --git a/src/providers/management.rs b/src/providers/management.rs index 1973742e..4c175326 100644 --- a/src/providers/management.rs +++ b/src/providers/management.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Management and observability provider interface. //! //! Separate from the core Provider trait, this interface provides diff --git a/src/providers/mod.rs b/src/providers/mod.rs index f1315cde..6ec684c4 100644 --- a/src/providers/mod.rs +++ b/src/providers/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::Event; use std::any::Any; use std::collections::HashSet; diff --git a/src/providers/sqlite.rs b/src/providers/sqlite.rs index eda3c3a7..e7632f6f 100644 --- a/src/providers/sqlite.rs +++ b/src/providers/sqlite.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // SQLite provider: Mutex/lock operations should panic on poison #![allow(clippy::expect_used)] #![allow(clippy::unwrap_used)] diff --git a/src/runtime/dispatchers/mod.rs b/src/runtime/dispatchers/mod.rs index 255ec28c..9a62d316 100644 --- a/src/runtime/dispatchers/mod.rs +++ b/src/runtime/dispatchers/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Dispatcher implementations for Runtime //! //! This module contains the dispatcher logic split into separate concerns: diff --git a/src/runtime/dispatchers/orchestration.rs b/src/runtime/dispatchers/orchestration.rs index 72488abc..99ef7fe9 100644 --- a/src/runtime/dispatchers/orchestration.rs +++ b/src/runtime/dispatchers/orchestration.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Orchestration dispatcher implementation for Runtime //! //! This module contains the orchestration dispatcher logic that: diff --git a/src/runtime/dispatchers/worker.rs b/src/runtime/dispatchers/worker.rs index 157729dc..8a2cdb51 100644 --- a/src/runtime/dispatchers/worker.rs +++ b/src/runtime/dispatchers/worker.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Worker (activity) dispatcher implementation for Runtime //! //! This module contains the worker dispatcher logic that: diff --git a/src/runtime/execution.rs b/src/runtime/execution.rs index 3d70804b..c5801c53 100644 --- a/src/runtime/execution.rs +++ b/src/runtime/execution.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // Execution module uses Mutex locks - poison indicates a panic and should propagate #![allow(clippy::expect_used)] #![allow(clippy::unwrap_used)] diff --git a/src/runtime/limits.rs b/src/runtime/limits.rs index 4faf121a..301d9573 100644 --- a/src/runtime/limits.rs +++ b/src/runtime/limits.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Runtime limits and constants. //! //! Collect all hard limits in one place so they're easy to find, document, diff --git a/src/runtime/mod.rs b/src/runtime/mod.rs index fef0b093..52f5d582 100644 --- a/src/runtime/mod.rs +++ b/src/runtime/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // Runtime module: Mutex poisoning indicates a panic - all lock().unwrap()/expect() are intentional. #![allow(clippy::expect_used)] #![allow(clippy::unwrap_used)] diff --git a/src/runtime/observability.rs b/src/runtime/observability.rs index 090ae347..dcea2f8e 100644 --- a/src/runtime/observability.rs +++ b/src/runtime/observability.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Observability infrastructure for metrics and structured logging. //! //! This module provides metrics via the `metrics` facade crate and structured logging diff --git a/src/runtime/registry.rs b/src/runtime/registry.rs index 94ff1603..2d0f9051 100644 --- a/src/runtime/registry.rs +++ b/src/runtime/registry.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Generic versioned registry for orchestrations and activities //! //! This module provides a unified `Registry` type that can store both orchestration diff --git a/src/runtime/replay_engine.rs b/src/runtime/replay_engine.rs index 7dc67e9b..f6441955 100644 --- a/src/runtime/replay_engine.rs +++ b/src/runtime/replay_engine.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // Replay engine uses Mutex locks - poison indicates a panic and should propagate #![allow(clippy::expect_used)] #![allow(clippy::unwrap_used)] diff --git a/src/runtime/replay_engine_tests.rs b/src/runtime/replay_engine_tests.rs index dec034d0..5efe7af9 100644 --- a/src/runtime/replay_engine_tests.rs +++ b/src/runtime/replay_engine_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #[cfg(test)] mod tests { use crate::providers::WorkItem; diff --git a/src/runtime/state_helpers.rs b/src/runtime/state_helpers.rs index 0d2e210f..5c4c45c6 100644 --- a/src/runtime/state_helpers.rs +++ b/src/runtime/state_helpers.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use crate::{ Event, EventKind, providers::{ScheduledActivityIdentifier, WorkItem}, diff --git a/src/runtime/test_hooks.rs b/src/runtime/test_hooks.rs index 9698307a..777ef271 100644 --- a/src/runtime/test_hooks.rs +++ b/src/runtime/test_hooks.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Test hooks for simulating various conditions during testing. //! //! This module provides test-only hooks that allow tests to inject delays diff --git a/tests/activity_routing_tests.rs b/tests/activity_routing_tests.rs index ddf0202b..754bb0eb 100644 --- a/tests/activity_routing_tests.rs +++ b/tests/activity_routing_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/async_block_tests.rs b/tests/async_block_tests.rs index b4915142..1cc62dbc 100644 --- a/tests/async_block_tests.rs +++ b/tests/async_block_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Async block pattern tests for simplified replay mode. //! //! These tests validate complex async block patterns including: diff --git a/tests/bulk_deletion_integration_tests.rs b/tests/bulk_deletion_integration_tests.rs index 6c6220f4..07db33db 100644 --- a/tests/bulk_deletion_integration_tests.rs +++ b/tests/bulk_deletion_integration_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Integration tests for bulk delete instances operations via Client API. #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/cancellation_tests.rs b/tests/cancellation_tests.rs index 67539240..65efeef1 100644 --- a/tests/cancellation_tests.rs +++ b/tests/cancellation_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/capability_filtering_tests.rs b/tests/capability_filtering_tests.rs index 4b5a4aec..d930a309 100644 --- a/tests/capability_filtering_tests.rs +++ b/tests/capability_filtering_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Capability filtering scenario tests (Category C, D, E, G, H) //! //! End-to-end tests with real Runtime + Client + SQLite provider that validate: diff --git a/tests/common/fault_injection.rs b/tests/common/fault_injection.rs index 2fd60cf8..49e52446 100644 --- a/tests/common/fault_injection.rs +++ b/tests/common/fault_injection.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Fault Injection Providers for Testing //! //! Provides wrapper providers that can inject faults for testing error handling, diff --git a/tests/common/mod.rs b/tests/common/mod.rs index 112c381d..2c6ea9ff 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/common/tracing_capture.rs b/tests/common/tracing_capture.rs index 82ef98ed..78ccdd44 100644 --- a/tests/common/tracing_capture.rs +++ b/tests/common/tracing_capture.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Shared tracing capture helper for tests that need to assert on log output. use std::collections::BTreeMap; diff --git a/tests/concurrency_tests.rs b/tests/concurrency_tests.rs index bbcbe6ca..343f8817 100644 --- a/tests/concurrency_tests.rs +++ b/tests/concurrency_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/continue_as_new_tests.rs b/tests/continue_as_new_tests.rs index 4059b70c..e486576c 100644 --- a/tests/continue_as_new_tests.rs +++ b/tests/continue_as_new_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/custom_status_tests.rs b/tests/custom_status_tests.rs index 241c09d3..a62158d7 100644 --- a/tests/custom_status_tests.rs +++ b/tests/custom_status_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // Custom status e2e tests // // Validates set_custom_status(), reset_custom_status(), and the custom_status diff --git a/tests/deletion_integration_tests.rs b/tests/deletion_integration_tests.rs index 2017b94d..b19b0d05 100644 --- a/tests/deletion_integration_tests.rs +++ b/tests/deletion_integration_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Integration tests for deletion operations via Client API. //! //! These tests verify end-to-end deletion behavior with real orchestration execution. diff --git a/tests/dispatcher_queues_fs.rs b/tests/dispatcher_queues_fs.rs index fae7af49..86f8033b 100644 --- a/tests/dispatcher_queues_fs.rs +++ b/tests/dispatcher_queues_fs.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/e2e_samples.rs b/tests/e2e_samples.rs index 03cb60bc..d206e247 100644 --- a/tests/e2e_samples.rs +++ b/tests/e2e_samples.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! End-to-end samples: start here to learn the API by example. //! //! Each test demonstrates a common orchestration pattern using diff --git a/tests/errors_tests.rs b/tests/errors_tests.rs index 6df1b36d..24db414a 100644 --- a/tests/errors_tests.rs +++ b/tests/errors_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/futures_tests.rs b/tests/futures_tests.rs index 99b0004b..9b1c3a84 100644 --- a/tests/futures_tests.rs +++ b/tests/futures_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // Use SQLite via common helper #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/kv_store_tests.rs b/tests/kv_store_tests.rs index b192cf46..b57c86a8 100644 --- a/tests/kv_store_tests.rs +++ b/tests/kv_store_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + // KV store e2e tests // // Validates set_value(), get_value(), clear_value(), clear_all_values(), diff --git a/tests/lock_timeout_tests.rs b/tests/lock_timeout_tests.rs index 9885f891..06ec3522 100644 --- a/tests/lock_timeout_tests.rs +++ b/tests/lock_timeout_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/long_poll_tests.rs b/tests/long_poll_tests.rs index f418475c..0327fc1e 100644 --- a/tests/long_poll_tests.rs +++ b/tests/long_poll_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/management_interface_test.rs b/tests/management_interface_test.rs index 791f1156..8b7b6e6d 100644 --- a/tests/management_interface_test.rs +++ b/tests/management_interface_test.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Comprehensive tests for the management interface including metrics #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/nondeterminism_tests.rs b/tests/nondeterminism_tests.rs index beb5d9b0..20930181 100644 --- a/tests/nondeterminism_tests.rs +++ b/tests/nondeterminism_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/observability_tests.rs b/tests/observability_tests.rs index 6b552793..58753b49 100644 --- a/tests/observability_tests.rs +++ b/tests/observability_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Observability-focused tests covering tracing for activities and orchestrations. #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/orchestration_status_tests.rs b/tests/orchestration_status_tests.rs index fc7627d1..e85eba59 100644 --- a/tests/orchestration_status_tests.rs +++ b/tests/orchestration_status_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tests for OrchestrationStatus determination across all scenarios #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/poison_message_tests.rs b/tests/poison_message_tests.rs index bbde348d..950b057f 100644 --- a/tests/poison_message_tests.rs +++ b/tests/poison_message_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Poison Message Handling Tests //! //! These tests validate the runtime behavior when messages exceed max_attempts. diff --git a/tests/property_tests.rs b/tests/property_tests.rs index 2785fba8..1a47a25c 100644 --- a/tests/property_tests.rs +++ b/tests/property_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Property-based tests using proptest to verify invariants #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/provider_atomic_tests.rs b/tests/provider_atomic_tests.rs index 5073d4c9..422a6f90 100644 --- a/tests/provider_atomic_tests.rs +++ b/tests/provider_atomic_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/provider_stress_test_validation.rs b/tests/provider_stress_test_validation.rs index 34d9241a..165b9119 100644 --- a/tests/provider_stress_test_validation.rs +++ b/tests/provider_stress_test_validation.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Minimal validation test for the provider stress test infrastructure. //! //! This test just ensures the stress test infrastructure doesn't break. diff --git a/tests/prune_integration_tests.rs b/tests/prune_integration_tests.rs index 3dd19fa2..fba0fd2d 100644 --- a/tests/prune_integration_tests.rs +++ b/tests/prune_integration_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Integration tests for execution pruning operations via Client API. #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/queue_event_tests.rs b/tests/queue_event_tests.rs index 83f5aed5..8d01925f 100644 --- a/tests/queue_event_tests.rs +++ b/tests/queue_event_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/races_tests.rs b/tests/races_tests.rs index d70c94a1..3cab85e8 100644 --- a/tests/races_tests.rs +++ b/tests/races_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/recovery_tests.rs b/tests/recovery_tests.rs index 9a9f5ed8..676cf5e3 100644 --- a/tests/recovery_tests.rs +++ b/tests/recovery_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/registry_tests.rs b/tests/registry_tests.rs index 6aee946a..79497435 100644 --- a/tests/registry_tests.rs +++ b/tests/registry_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tests for registry composition features (merge, builder_from, register_all) #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/reliability_tests.rs b/tests/reliability_tests.rs index 84559d36..7094c7d1 100644 --- a/tests/reliability_tests.rs +++ b/tests/reliability_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/replay_engine/action_to_event.rs b/tests/replay_engine/action_to_event.rs index 059f9b11..196a647d 100644 --- a/tests/replay_engine/action_to_event.rs +++ b/tests/replay_engine/action_to_event.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Action to Event Recording Tests //! //! Tests verifying that each orchestration action type correctly diff --git a/tests/replay_engine/cancellation.rs b/tests/replay_engine/cancellation.rs index 8e76e4ba..5f07bc2a 100644 --- a/tests/replay_engine/cancellation.rs +++ b/tests/replay_engine/cancellation.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Cancellation Tests //! //! Tests for OrchestrationCancelRequested handling. diff --git a/tests/replay_engine/completion_messages.rs b/tests/replay_engine/completion_messages.rs index d2bb8fc7..a09bc3da 100644 --- a/tests/replay_engine/completion_messages.rs +++ b/tests/replay_engine/completion_messages.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Completion Message Processing Tests //! //! Tests for WorkItem → Event conversion and filtering via prep_completions. diff --git a/tests/replay_engine/composition.rs b/tests/replay_engine/composition.rs index 1092b8c0..3d74dba3 100644 --- a/tests/replay_engine/composition.rs +++ b/tests/replay_engine/composition.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Select/Join Composition Tests //! //! Tests for aggregate future behavior (select, join). diff --git a/tests/replay_engine/edge_cases.rs b/tests/replay_engine/edge_cases.rs index dccd9496..34ac13e1 100644 --- a/tests/replay_engine/edge_cases.rs +++ b/tests/replay_engine/edge_cases.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Edge Case Tests //! //! Various edge cases and boundary conditions. diff --git a/tests/replay_engine/event_allocation.rs b/tests/replay_engine/event_allocation.rs index 1032fcfb..1134c2b8 100644 --- a/tests/replay_engine/event_allocation.rs +++ b/tests/replay_engine/event_allocation.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Event ID Allocation Tests //! //! Tests verifying correct event ID assignment for new events. diff --git a/tests/replay_engine/failure_handling.rs b/tests/replay_engine/failure_handling.rs index 773161ce..263a5297 100644 --- a/tests/replay_engine/failure_handling.rs +++ b/tests/replay_engine/failure_handling.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Activity Failure Handling Tests //! //! Tests for different error categories in activity failures. diff --git a/tests/replay_engine/fresh_execution.rs b/tests/replay_engine/fresh_execution.rs index afd66091..6f65b9fb 100644 --- a/tests/replay_engine/fresh_execution.rs +++ b/tests/replay_engine/fresh_execution.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Fresh Execution Tests //! //! Tests where the orchestration starts from OrchestrationStarted with no prior schedule events. diff --git a/tests/replay_engine/helpers.rs b/tests/replay_engine/helpers.rs index 7d64148a..21fa39b6 100644 --- a/tests/replay_engine/helpers.rs +++ b/tests/replay_engine/helpers.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Test helpers for replay engine tests //! //! Provides utilities for constructing test histories, mock handlers, diff --git a/tests/replay_engine/history_corruption.rs b/tests/replay_engine/history_corruption.rs index 52839c2f..67540b26 100644 --- a/tests/replay_engine/history_corruption.rs +++ b/tests/replay_engine/history_corruption.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! History Corruption Tests //! //! Tests for invalid history detection and graceful handling. diff --git a/tests/replay_engine/is_replaying.rs b/tests/replay_engine/is_replaying.rs index 89fc06fd..ca3ffd02 100644 --- a/tests/replay_engine/is_replaying.rs +++ b/tests/replay_engine/is_replaying.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! is_replaying State Tests //! //! Tests verifying the context's replay state tracking. diff --git a/tests/replay_engine/kv.rs b/tests/replay_engine/kv.rs index 82f27bad..8140dc88 100644 --- a/tests/replay_engine/kv.rs +++ b/tests/replay_engine/kv.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! KV Store Replay Engine Tests //! //! Tests verifying: diff --git a/tests/replay_engine/mod.rs b/tests/replay_engine/mod.rs index 9a055b76..8e8212a2 100644 --- a/tests/replay_engine/mod.rs +++ b/tests/replay_engine/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Replay Engine Tests //! //! This module contains comprehensive tests for the ReplayEngine, diff --git a/tests/replay_engine/nondeterminism.rs b/tests/replay_engine/nondeterminism.rs index 61626e8b..6fe79f47 100644 --- a/tests/replay_engine/nondeterminism.rs +++ b/tests/replay_engine/nondeterminism.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Nondeterminism Detection Tests //! //! Tests verifying the engine detects replay mismatches. diff --git a/tests/replay_engine/panic_handling.rs b/tests/replay_engine/panic_handling.rs index d0948db2..7fdb41cc 100644 --- a/tests/replay_engine/panic_handling.rs +++ b/tests/replay_engine/panic_handling.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Handler Panic Handling Tests //! //! Tests for orchestration panics. diff --git a/tests/replay_engine/partial_completion.rs b/tests/replay_engine/partial_completion.rs index 964ea6bf..7b5c2eac 100644 --- a/tests/replay_engine/partial_completion.rs +++ b/tests/replay_engine/partial_completion.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Partial Completion Tests //! //! Tests where history has schedule events but completions haven't arrived yet. diff --git a/tests/replay_engine/replay_with_completions.rs b/tests/replay_engine/replay_with_completions.rs index eeb8039f..5a47d58e 100644 --- a/tests/replay_engine/replay_with_completions.rs +++ b/tests/replay_engine/replay_with_completions.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Replay with Completions Tests //! //! Tests where the baseline history contains both schedule AND completion events. diff --git a/tests/replay_engine/sequential_progress.rs b/tests/replay_engine/sequential_progress.rs index acde980e..ed7c9c5e 100644 --- a/tests/replay_engine/sequential_progress.rs +++ b/tests/replay_engine/sequential_progress.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Sequential Progress Tests //! //! Tests verifying multi-step orchestration replay. diff --git a/tests/replay_engine/sub_orchestration.rs b/tests/replay_engine/sub_orchestration.rs index c4ae809f..f48ef004 100644 --- a/tests/replay_engine/sub_orchestration.rs +++ b/tests/replay_engine/sub_orchestration.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Sub-orchestration Instance ID Generation Tests //! //! Tests for deterministic child instance ID generation. diff --git a/tests/replay_engine/unobserved_futures.rs b/tests/replay_engine/unobserved_futures.rs index fec4031a..9b589c13 100644 --- a/tests/replay_engine/unobserved_futures.rs +++ b/tests/replay_engine/unobserved_futures.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Unobserved Future Cancellation Tests //! //! Tests for cancellation of DurableFuture when dropped without completion. diff --git a/tests/replay_engine_tests.rs b/tests/replay_engine_tests.rs index 1a51a726..1a983ad3 100644 --- a/tests/replay_engine_tests.rs +++ b/tests/replay_engine_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Replay Engine Test Suite //! //! This test file pulls in the replay_engine module which contains diff --git a/tests/runtime_options_test.rs b/tests/runtime_options_test.rs index ce4984e0..157a54b1 100644 --- a/tests/runtime_options_test.rs +++ b/tests/runtime_options_test.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tests for RuntimeOptions configuration #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] diff --git a/tests/scenarios.rs b/tests/scenarios.rs index 86437cea..55bf4aba 100644 --- a/tests/scenarios.rs +++ b/tests/scenarios.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Scenario tests derived from real-world usage patterns //! //! This module contains regression tests that model specific scenarios found in actual diff --git a/tests/scenarios/copilot_chat.rs b/tests/scenarios/copilot_chat.rs index 5f7703a7..95cc04d6 100644 --- a/tests/scenarios/copilot_chat.rs +++ b/tests/scenarios/copilot_chat.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Scenario test: "Chat with your orchestration" //! //! Demonstrates a conversational pattern where an external client sends typed diff --git a/tests/scenarios/replay_versioning.rs b/tests/scenarios/replay_versioning.rs index ca9c67ed..90d82c18 100644 --- a/tests/scenarios/replay_versioning.rs +++ b/tests/scenarios/replay_versioning.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Replay engine extensibility verification via topic-based external events. //! //! This test proves that the replay engine can be extended with new EventKind variants diff --git a/tests/scenarios/rolling_deployment.rs b/tests/scenarios/rolling_deployment.rs index 8ac1998f..4a709af5 100644 --- a/tests/scenarios/rolling_deployment.rs +++ b/tests/scenarios/rolling_deployment.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Rolling deployment scenario tests //! //! These tests simulate real-world rolling deployment scenarios where: diff --git a/tests/scenarios/sessions.rs b/tests/scenarios/sessions.rs index e5029710..007e0848 100644 --- a/tests/scenarios/sessions.rs +++ b/tests/scenarios/sessions.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Session Scenario Test — Durable-Copilot-SDK Pattern //! //! This test faithfully models the durable-copilot-sdk's architecture, the primary diff --git a/tests/scenarios/single_thread.rs b/tests/scenarios/single_thread.rs index 732ec7d5..241e88b0 100644 --- a/tests/scenarios/single_thread.rs +++ b/tests/scenarios/single_thread.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Single-thread runtime scenario tests //! //! These tests validate duroxide's behavior when running in tokio's diff --git a/tests/scenarios/toygres.rs b/tests/scenarios/toygres.rs index 6aca4b25..99421067 100644 --- a/tests/scenarios/toygres.rs +++ b/tests/scenarios/toygres.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + use duroxide::Either2; use duroxide::runtime; use duroxide::runtime::registry::ActivityRegistry; diff --git a/tests/scenarios/version_replay_bug.rs b/tests/scenarios/version_replay_bug.rs index 7236dad2..f8d06013 100644 --- a/tests/scenarios/version_replay_bug.rs +++ b/tests/scenarios/version_replay_bug.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Bug reproduction test for issue #49: WorkItemReader doesn't extract version from history during replay //! //! This test reproduces the exact scenario where: diff --git a/tests/schedule_with_retry_tests.rs b/tests/schedule_with_retry_tests.rs index 1d06c106..2f541558 100644 --- a/tests/schedule_with_retry_tests.rs +++ b/tests/schedule_with_retry_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tests for schedule_activity_with_retry functionality //! //! This file contains: diff --git a/tests/session_e2e_tests.rs b/tests/session_e2e_tests.rs index d215ad90..938ee6df 100644 --- a/tests/session_e2e_tests.rs +++ b/tests/session_e2e_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! End-to-end tests for the activity session (implicit sessions v2) feature. //! //! Tests verify session routing works correctly through the full runtime stack: diff --git a/tests/sqlite_provider_validations.rs b/tests/sqlite_provider_validations.rs index 649fd29a..e93c41fc 100644 --- a/tests/sqlite_provider_validations.rs +++ b/tests/sqlite_provider_validations.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Provider validation tests for SQLite //! //! This test file validates the SQLite provider using the reusable diff --git a/tests/sqlite_tests.rs b/tests/sqlite_tests.rs index b9ef01a8..42b15b59 100644 --- a/tests/sqlite_tests.rs +++ b/tests/sqlite_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/system_calls_test.rs b/tests/system_calls_test.rs index 3806b73d..d85b6f4c 100644 --- a/tests/system_calls_test.rs +++ b/tests/system_calls_test.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/tag_serde_tests.rs b/tests/tag_serde_tests.rs index 236bdcd1..96f3f781 100644 --- a/tests/tag_serde_tests.rs +++ b/tests/tag_serde_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/timer_tests.rs b/tests/timer_tests.rs index 1a7f49ff..767d50a5 100644 --- a/tests/timer_tests.rs +++ b/tests/timer_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/typed_composability_tests.rs b/tests/typed_composability_tests.rs index 0f706cfc..c63bc0cd 100644 --- a/tests/typed_composability_tests.rs +++ b/tests/typed_composability_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + //! Tests verifying that `_typed()` schedule methods return `DurableFuture` and //! compose correctly with `ctx.join()`, `ctx.select2()`, and `DurableFuture::map()`. //! diff --git a/tests/unit_tests.rs b/tests/unit_tests.rs index 3e724b29..7e639b5e 100644 --- a/tests/unit_tests.rs +++ b/tests/unit_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/unregistered_backoff_tests.rs b/tests/unregistered_backoff_tests.rs index d2d755be..b472820e 100644 --- a/tests/unregistered_backoff_tests.rs +++ b/tests/unregistered_backoff_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/versioning_tests.rs b/tests/versioning_tests.rs index 56e66db4..3dd4ae0d 100644 --- a/tests/versioning_tests.rs +++ b/tests/versioning_tests.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)] diff --git a/tests/worker_reliability_test.rs b/tests/worker_reliability_test.rs index e814d7a0..b04dc909 100644 --- a/tests/worker_reliability_test.rs +++ b/tests/worker_reliability_test.rs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + #![allow(clippy::unwrap_used)] #![allow(clippy::clone_on_ref_ptr)] #![allow(clippy::expect_used)]