[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 93/324: doc: Some tips on testing.
From: |
gnunet |
Subject: |
[gnunet-scheme] 93/324: doc: Some tips on testing. |
Date: |
Tue, 21 Sep 2021 13:22:13 +0200 |
This is an automated email from the git hooks/post-receive script.
maxime-devos pushed a commit to branch master
in repository gnunet-scheme.
commit 270f5f45b167638108973145b80e14b2a5ad5936
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Wed Mar 17 12:58:08 2021 +0100
doc: Some tips on testing.
* README.org (Convention)[Tests]: Recommend some kinds of tests.
---
README.org | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/README.org b/README.org
index 0df441e..2c10948 100644
--- a/README.org
+++ b/README.org
@@ -133,6 +133,27 @@
and ‘no-index’ should be ‘passed’ using SRFI-39 parameters,
and not with positional or keyword arguments,
as they are just passed through unchanged most of the time.
+** Tests
+ Read --> [[https://sqlite.org/testing.html][How SQLite Is Tested]]
(accessed: 2021)
+
+ This GNUnet implementation isn't quite that well-tested,
+ and most likely won't be for the foreseeable future. However,
+ when defining new code, try to define the following kind of
+ tests where reasonable (non-exhaustive);
+
+ + verify (iso-)morphisms and similar properties are upheld (e.g.
+ using guile-quickcheck for generating test cases). E.g. if there
+ is a conversion function f : X -> Y and g : Y -> X, verify
+ (compose f g) = id = (compose g f). Verify morphisms like
+ (length (append x y)) = length (x) + length (y).
+ + Run mutation tests! That is, replace < with <=, 0 by 1, a variable
+ reference ‘i’ by a variable reference ‘j’, swap destination and source
+ arguments ... and verify whether the tests catch these little mutations!
+ + Verify argument checking!
+ (basic non-dependent type checking, in-bounds, right capabilities ...,
+ appropriate exception). An &assertion is usually fine, though
+ occassionally a more informative condition may be in-place.
+
* Wishlist
+ Schemification
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 98/324: utils: Define module for defining platform-specifing enumerations., (continued)
- [gnunet-scheme] 98/324: utils: Define module for defining platform-specifing enumerations., gnunet, 2021/09/21
- [gnunet-scheme] 95/324: util: Allow splitting and constructing ancillary messages., gnunet, 2021/09/21
- [gnunet-scheme] 103/324: config: parser: parse ${variable} expansions., gnunet, 2021/09/21
- [gnunet-scheme] 105/324: config: value-parser: Parse values in configuration files., gnunet, 2021/09/21
- [gnunet-scheme] 107/324: tests: message-io: Unbreak., gnunet, 2021/09/21
- [gnunet-scheme] 106/324: doc: Classify modules., gnunet, 2021/09/21
- [gnunet-scheme] 120/324: netstruct syntactic: Fix error when field is constant., gnunet, 2021/09/21
- [gnunet-scheme] 121/324: netstruct: Correct argument order to slice-uN-set!., gnunet, 2021/09/21
- [gnunet-scheme] 113/324: hat-let: Avoid having to import '_' from (rnrs base)., gnunet, 2021/09/21
- [gnunet-scheme] 112/324: config: parser: Fix typo in documentation., gnunet, 2021/09/21
- [gnunet-scheme] 93/324: doc: Some tips on testing.,
gnunet <=
- [gnunet-scheme] 104/324: config: Implement variable expansion., gnunet, 2021/09/21
- [gnunet-scheme] 129/324: netstruct: New promised tests., gnunet, 2021/09/21
- [gnunet-scheme] 99/324: config: Parse configuration lines into one of several types., gnunet, 2021/09/21
- [gnunet-scheme] 115/324: hat-let: Drop incorrect copyright notices., gnunet, 2021/09/21
- [gnunet-scheme] 125/324: netstruct: Only select the relevant part for writing., gnunet, 2021/09/21
- [gnunet-scheme] 127/324: netstruct: Recurse in ‘part’; allow fields within fields., gnunet, 2021/09/21
- [gnunet-scheme] 109/324: doc: Update ROADMAP.org., gnunet, 2021/09/21
- [gnunet-scheme] 134/324: mq: Clarify how a message handlers are chosen., gnunet, 2021/09/21
- [gnunet-scheme] 135/324: mq: Fix typo in docstring of inject-message!., gnunet, 2021/09/21
- [gnunet-scheme] 136/324: mq: Verify message size during message injection., gnunet, 2021/09/21