Browse Source

Added unit test info to README.md

Joseph Henry 9 years ago
parent
commit
21b158cc48

+ 1 - 1
netcon/Intercept.c

@@ -980,7 +980,7 @@ int poll(POLL_SIG)
 /* int fd */
 int close(CLOSE_SIG)
 {
-  checkpid(); // Required for httpd-2.4.17-3.x86_64 -- After clone, some symbols aren't initialized yet */
+  //checkpid(); // Required for httpd-2.4.17-3.x86_64 -- After clone, some symbols aren't initialized yet */
   if(realclose == NULL){
     dwr(MSG_ERROR, "close(): SYMBOL NOT FOUND.\n");
     return -1;

+ 31 - 0
netcon/README.md

@@ -106,3 +106,34 @@ Going to port 8080 on your machine won't work. Darkhttpd is listening, but only
     curl http://NETCON.INSTANCE.IP:8080/README.md
 
 Replace *NETCON.INSTANCE.IP* with the IP address that *zerotier-netcon-service* was assigned on the virtual network. (This is the same IP you pinged in your first test.) If everything works, you should get back a copy of ZeroTier One's main README.md file.
+
+# Unit Tests
+
+To run unit tests:
+
+1) Set up your own network, use its network id as follows:
+
+2) Place a blank network config file in the *netcon/docker-test* directory (e.g. "e5cd7a9e1c5311ab.conf")
+ - This will be used to inform test-specific scripts what network to use for testing
+
+After you've created your network and placed its blank config file in *netcon/docker-test* run the following to perform unit tests for httpd:
+
+	./build.sh httpd
+	./test.sh httpd
+
+It's useful to note that the keyword *httpd* in this example is merely a substring for a test name, this means that if we replaced it with *x86_64* or *fc23*, it would run all unit tests for *x86_64* systems or *Fedora 23* respectively.
+
+# Anatomy of a unit test
+
+A) Each unit test's will:
+ - temporarily copy all ZeroTier binaries files into local directory
+ - build test container
+ - build monitor container
+ - remove temporary files
+ - run each container and perform test and monitoring specified in *netcon_entrypoint.sh* and *monitor_entrypoint.sh*
+
+B) Results will be written to the *netcon/docker-test/_results/* directory
+ - Results will be a combination of raw and formatted dumps to files whose names reflect the test performed
+ - In the event of failure, *FAIL.* will be appended to the result file's name
+  - (e.g. FAIL.my_application_1.0.2.x86_64)
+ - In the event of success, *OK.* will be appended

+ 0 - 0
netcon/docker-test/nginx/nginx-1.8.0-ub14.x86_64/monitor_dockerfile → netcon/docker-test/nginx/nginx-1.4.6-1.ub14.x86_64/monitor_dockerfile


+ 0 - 0
netcon/docker-test/nginx/nginx-1.8.0-ub14.x86_64/monitor_entrypoint.sh → netcon/docker-test/nginx/nginx-1.4.6-1.ub14.x86_64/monitor_entrypoint.sh


+ 0 - 0
netcon/docker-test/nginx/nginx-1.8.0-ub14.x86_64/netcon_dockerfile → netcon/docker-test/nginx/nginx-1.4.6-1.ub14.x86_64/netcon_dockerfile


+ 0 - 0
netcon/docker-test/nginx/nginx-1.8.0-ub14.x86_64/netcon_entrypoint.sh → netcon/docker-test/nginx/nginx-1.4.6-1.ub14.x86_64/netcon_entrypoint.sh


+ 0 - 0
netcon/docker-test/nginx/nginx-1.8.0-ub14.x86_64/nginx.conf_ → netcon/docker-test/nginx/nginx-1.4.6-1.ub14.x86_64/nginx.conf_