summaryrefslogtreecommitdiff
path: root/doc/README.rts
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.rts')
-rwxr-xr-xdoc/README.rts78
1 files changed, 78 insertions, 0 deletions
diff --git a/doc/README.rts b/doc/README.rts
new file mode 100755
index 0000000..60ef73b
--- /dev/null
+++ b/doc/README.rts
@@ -0,0 +1,78 @@
+Rudimentary Test System (RTS)
+=============================
+
+History
+-------
+
+Starting with ucspi-tcp, DJB introduced a script called 'rts.test'
+to do some unit/system tests for the modules included in here.
+
+This piece of software was never documented nor its purpose was defined.
+William Baxter modified it to work with ucspi-ssl.
+DJB used it in the release of djbdns.
+
+
+Components
+----------
+
+Within (slash)package 'rts' consists of the following pieces:
+
+ a) package/rts [component] is a generic shell script.
+ b) src/rts.[it], src/rts.[component] are the scripts containing the specific unit tests.
+ src/rts.it is usually the supervising script,
+ while src/rts.base includes typically the 'basic' unit tests,
+ src/rts.[component] is optional.
+ c) src/exp.[it], src.[bases] and perhaps src/exp.[component]
+ include the expected results (adapted).
+
+While [it] and [base] are mandatory, any further [component] needs
+to be defined by the (slash)package installation.
+
+
+Defaults and Adjustments
+------------------------
+
+ 1. In order to use rts, the binaries are expected to be install
+ at their default directories.
+ 2. Since ucspi-ssl depends on *SSL libraries, the shared libs
+ shall be available in their default locations.
+ 3. If you use custom installed *SSL libs, you need to modify
+ the LD_LIBRARY_PATH. See the file rts.base to get the idea.
+
+
+Invocation
+----------
+
+'rts' is typically called after a successful compilation and installation.
+The $PATH variable includes the current directory of the executed rts.it (./compile).
+In order to test the included modules one calls:
+
+ package/rts --> all tests are done (including optional)
+ package/rts base --> basic unit tests
+ package/rts [component] --> optional component test
+
+
+Results
+-------
+
+The script rts.[component] is executed in
+
+ ./compile/rts-temp
+
+to be raised upon call. The results are written to
+
+ ./compile/out.[component]
+
+and then diff'ed against exp.[component], cleaned up for trivial
+run dependencies (like port numbers) and the difference is displayed.
+
+If there is no difference, nothing is displayed => working as expected.
+
+However, even if differences are given, they may be due to environment/call
+dependencies (like process ids) resulting in some mangled output.
+
+In case package/rts is called again, the previous results are overwritten.
+
+
+--eh (May, 2023).
+