summaryrefslogtreecommitdiffstats
path: root/docs/HACKING.md
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-12-16 12:47:45 -0500
committerTavian Barnes <tavianator@tavianator.com>2023-12-16 12:48:38 -0500
commitfd91097055f095fdd827ef8751d9534f59a89404 (patch)
tree39db52d99b17b746f905dd28c5dbde7437c95501 /docs/HACKING.md
parentaa8344e04bfe950cc9f5e45352cd8202295e0cdf (diff)
downloadbfs-fd91097055f095fdd827ef8751d9534f59a89404.tar.xz
docs: Rename HACKING to CONTRIBUTING
So that GitHub recognizes it.
Diffstat (limited to 'docs/HACKING.md')
-rw-r--r--docs/HACKING.md61
1 files changed, 0 insertions, 61 deletions
diff --git a/docs/HACKING.md b/docs/HACKING.md
deleted file mode 100644
index 0763fda..0000000
--- a/docs/HACKING.md
+++ /dev/null
@@ -1,61 +0,0 @@
-Hacking on `bfs`
-================
-
-License
--------
-
-`bfs` is licensed under the [Zero-Clause BSD License](https://opensource.org/licenses/0BSD), a maximally permissive license.
-Contributions must use the same license.
-
-Individual files contain the following tag instead of the full license text:
-
- SPDX-License-Identifier: 0BSD
-
-This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/
-
-
-Implementation
---------------
-
-`bfs` is written in [C](https://en.wikipedia.org/wiki/C_(programming_language)), specifically [C17](https://en.wikipedia.org/wiki/C17_(C_standard_revision)).
-You can get a feel for the coding style by skimming the source code.
-[`main.c`](/src/main.c) contains an overview of the rest of source files.
-A quick summary:
-
-- Tabs for indentation, spaces for alignment.
-- Most types and functions should be namespaced with `bfs_`.
- Exceptions are made for things that could be generally useful outside of `bfs`.
-- Error handling follows the C standard library conventions: return a nonzero `int` or a `NULL` pointer, with the error code in `errno`.
- All failure cases should be handled, including `malloc()` failures.
-- `goto` is not considered harmful for cleaning up in error paths.
-
-
-Tests
------
-
-`bfs` includes an extensive test suite.
-See the [build documentation](BUILDING.md#testing) for details on running the tests.
-
-Test cases are grouped by the standard or `find` implementation that supports the tested feature(s):
-
-| Group | Description |
-|---------------------------------|---------------------------------------|
-| [`tests/posix`](/tests/posix) | POSIX compatibility tests |
-| [`tests/bsd`](/tests/bsd) | BSD `find` features |
-| [`tests/gnu`](/tests/gnu) | GNU `find` features |
-| [`tests/common`](/tests/common) | Features common to BSD and GNU `find` |
-| [`tests/bfs`](/tests/bfs) | `bfs`-specific tests |
-
-Both new features and bug fixes should have associated tests.
-To add a test, create a new `*.sh` file in the appropriate group.
-Snapshot tests use the `bfs_diff` function to automatically compare the generated and expected outputs.
-For example,
-
-```bash
-# posix/something.sh
-bfs_diff basic -name something
-```
-
-`basic` is one of the directory trees generated for test cases; others include `links`, `loops`, `deep`, and `rainbow`.
-
-Run `./tests/tests.sh posix/something --update` to generate the reference snapshot (and don't forget to `git add` it).