β¨ Initial setup for oi4-dnp-encoding project π#1
Merged
Conversation
- Added `rust-toolchain.toml` to specify Rust toolchain and components. - Updated `.gitignore` to exclude IDE files and project-specific files. - Created `Cargo.toml` for package metadata and dependencies. - Implemented fuzzing targets in `validate.rs` and `decode.rs` for testing. - Added CI workflows in `ci.yml` and `coverage.yml` for automated testing and coverage reporting. - Introduced `CHANGELOG.md` to document project changes. - Created initial implementation files: `encode.rs`, `decode.rs`, `validate.rs`, and others for core functionality. - Added examples and tests for encoding, decoding, and validation in `test_encode.rs`, `test_decode.rs`, and `test_validate.rs`. - Included `README.md` for project overview and usage instructions. - Established `LICENSE` file for MIT licensing. - Added `compare_go.sh` for differential testing against Go implementation. Let's get this project rolling! π
- Updated `.gitignore` to include IntelliJ and Mac specific files. - Refactored `all_in_one.rs`, `basic.rs`, and other source files for improved readability and consistency. - Updated `Cargo.toml` and `Cargo.lock` to reflect new dependency versions. - Enhanced error handling in `decode.rs` and `encode.rs`. - Improved CLI usage messages in `main.rs` for better user experience. - Added tests for stricter validation in `test_validate.rs`. These changes aim to streamline the codebase and enhance maintainability! πͺ
- Updated `decode.rs` to use new hex helper functions for better readability and maintainability. - Introduced `hex.rs` with internal helpers for hexadecimal digit handling. - Removed redundant inline functions from `validate.rs` to streamline the codebase.
- Updated `decode.rs` to conditionally import hex utilities based on the "strict" feature flag. - Improved flexibility in decoding by allowing different hex validation methods.
- Updated `decode.rs` to conditionally import hex utilities based on the "strict" feature flag. - Improved flexibility in decoding by allowing different hex validation methods.
- Updated `decode.rs` to conditionally import hex utilities based on the "strict" feature flag. - Improved flexibility in decoding by allowing different hex validation methods.
Co-authored-by: Weinschenk <2759891+Weinschenk@users.noreply.github.com>
Fix CI formatting failures and improve code quality
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rust-toolchain.tomlto specify Rust toolchain and components..gitignoreto exclude IDE files and project-specific files.Cargo.tomlfor package metadata and dependencies.validate.rsanddecode.rsfor testing.ci.ymlandcoverage.ymlfor automated testing and coverage reporting.CHANGELOG.mdto document project changes.encode.rs,decode.rs,validate.rs, and others for core functionality.test_encode.rs,test_decode.rs, andtest_validate.rs.README.mdfor project overview and usage instructions.LICENSEfile for MIT licensing.compare_go.shfor differential testing against Go implementation.Let's get this project rolling! π