You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/07/11 22:22:00 UTC

[jira] [Work logged] (AVRO-3575) Rust: Add a module for fuzzy testing

     [ https://issues.apache.org/jira/browse/AVRO-3575?focusedWorklogId=789759&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-789759 ]

ASF GitHub Bot logged work on AVRO-3575:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Jul/22 22:21
            Start Date: 11/Jul/22 22:21
    Worklog Time Spent: 10m 
      Work Description: evanrichter commented on code in PR #1761:
URL: https://github.com/apache/avro/pull/1761#discussion_r918395005


##########
lang/rust/avro/fuzz/Cargo.toml:
##########
@@ -0,0 +1,32 @@
+[package]
+name = "apache-avro-fuzz"
+version = "0.0.0"
+publish = false
+edition = "2018"
+
+[package.metadata]
+cargo-fuzz = true
+
+[dependencies]
+libfuzzer-sys = "0.4"
+serde = { version = "1.0.100", features = ["derive"] }

Review Comment:
   Oops, I maybe should have matched the other crates!
   
   The other crates use 1.0.137, should I version bump those, or use 1.0.137?
   
   For now, I've changed it to version = "1" because that should allow cargo to pick the right version for fuzzing and not recompile needlessly. `cargo tree` shows that v1.0.139 was chosen even without bumping the other crates from 137 to 139.



##########
lang/rust/avro/fuzz/Cargo.toml:
##########
@@ -0,0 +1,32 @@
+[package]
+name = "apache-avro-fuzz"
+version = "0.0.0"
+publish = false
+edition = "2018"
+
+[package.metadata]
+cargo-fuzz = true
+
+[dependencies]
+libfuzzer-sys = "0.4"
+serde = { version = "1.0.100", features = ["derive"] }
+
+[dependencies.apache-avro]
+path = ".."
+features = ["derive"]
+
+# Prevent this from interfering with workspaces
+[workspace]
+members = ["."]

Review Comment:
   I have moved it up a level, but kept it separate from the workspace still. Fuzzing adds ASAN and coverage instrumentation to the intermediate objects, so sharing a target folder has no benefit for fuzzing, and would invalidate the build cache for normal build profiles.





Issue Time Tracking
-------------------

            Worklog Id:     (was: 789759)
    Remaining Estimate: 0h
            Time Spent: 10m

> Rust: Add a module for fuzzy testing
> ------------------------------------
>
>                 Key: AVRO-3575
>                 URL: https://issues.apache.org/jira/browse/AVRO-3575
>             Project: Apache Avro
>          Issue Type: Task
>          Components: rust
>            Reporter: Martin Tzvetanov Grigorov
>            Assignee: Martin Tzvetanov Grigorov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> It would be nice to fuzzy test the Rust module for memory handling issues.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)