mirror of
https://github.com/bspeice/dtparse
synced 2024-12-21 20:08:10 -05:00
Remove fuzzing, add CONTRIBUTING/CONTRIBUTORS
This commit is contained in:
parent
848f1b9249
commit
0d18eb524b
44
CONTRIBUTING.md
Normal file
44
CONTRIBUTING.md
Normal file
@ -0,0 +1,44 @@
|
||||
# Contributing
|
||||
|
||||
The `dtparse` crate is better for the contributions made by members of the open source community,
|
||||
and seeks to make it easy to contribute back to the community it comes from. The goals are
|
||||
fairly straight-forward, but here are the ways that would be most beneficial:
|
||||
|
||||
## Bug Reports
|
||||
|
||||
The testing suite for `dtparse` is built using tests derived from the [`dateutil`](https://github.com/dateutil/dateutil)
|
||||
package in Python. Some Rust-specific behavior may show up though, for example in how
|
||||
Rust handles nanoseconds where Python's standard library will only go to microseconds.
|
||||
|
||||
If you believe that behavior is improper, you are encouraged to file an issue; there are no dumb
|
||||
issues or suggestions, and the world is a better place for having your input.
|
||||
|
||||
## Testing/Fuzzing
|
||||
|
||||
`dtparse`'s history as a port of Python software has led to some behavior being shown in Rust
|
||||
that would not otherwise be an issue in Python. Testing for these issues to prevent panics
|
||||
is greatly appreciated, and some great work has already happened surrounding fuzzing.
|
||||
|
||||
New test cases built either by fuzzers or humans are welcome.
|
||||
|
||||
## Feature Requests
|
||||
|
||||
Handling weird date formats and quirks is the name of the game. Any ideas on how to improve that
|
||||
or utilities useful in handling the mapping of human time to computers is appreciated.
|
||||
|
||||
Writing code to implement the feature is never mandatory (though always appreciated); if there's
|
||||
something you believe `dtparse` should do that it doesn't currently support, let's make that happen.
|
||||
|
||||
# Development Setup
|
||||
|
||||
The setup requirements for `dtparse` should be fairly straightforward - the project can be built
|
||||
and deployed using only the `cargo` tool in Rust.
|
||||
|
||||
Much of the test coee is generated from Python code, and then the generated versions are stored
|
||||
in version control. Thi is to ensure that all users can run the tests even without
|
||||
installing Python or the other necessary packages.
|
||||
|
||||
To regenerate the tests, please use Python 3.6 with the `dateutil` package installed, and run:
|
||||
|
||||
- `python build_pycompat.py`
|
||||
- `python build_pycompat_tokenizer.py`
|
6
CONTRIBUTORS.md
Normal file
6
CONTRIBUTORS.md
Normal file
@ -0,0 +1,6 @@
|
||||
This project benefits from the Rust and open source communities, but most specifically from these people:
|
||||
|
||||
# Contributors:
|
||||
|
||||
- [@messense](https://github.com/messense)
|
||||
- [@mjmeehan](https://github.com/mjmeehan)
|
5
fuzz/.gitignore
vendored
5
fuzz/.gitignore
vendored
@ -1,5 +0,0 @@
|
||||
|
||||
target
|
||||
libfuzzer
|
||||
corpus
|
||||
artifacts
|
@ -1,22 +0,0 @@
|
||||
|
||||
[package]
|
||||
name = "dtparse-fuzz"
|
||||
version = "0.0.1"
|
||||
authors = ["Automatically generated"]
|
||||
publish = false
|
||||
|
||||
[package.metadata]
|
||||
cargo-fuzz = true
|
||||
|
||||
[dependencies.dtparse]
|
||||
path = ".."
|
||||
[dependencies.libfuzzer-sys]
|
||||
git = "https://github.com/rust-fuzz/libfuzzer-sys.git"
|
||||
|
||||
# Prevent this from interfering with workspaces
|
||||
[workspace]
|
||||
members = ["."]
|
||||
|
||||
[[bin]]
|
||||
name = "fuzzer_script_1"
|
||||
path = "fuzzers/fuzzer_script_1.rs"
|
@ -1,10 +0,0 @@
|
||||
#![no_main]
|
||||
extern crate libfuzzer_sys;
|
||||
extern crate dtparse;
|
||||
use dtparse::parse;
|
||||
#[export_name="rust_fuzzer_test_input"]
|
||||
pub extern fn go(data: &[u8]) {
|
||||
if let Ok(s) = std::str::from_utf8(data) {
|
||||
parse(s);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user