From 37de060663114ab173f8f82a034f16edb2eda649 Mon Sep 17 00:00:00 2001 From: richsposato Date: Sun, 19 Nov 2017 00:01:26 -0800 Subject: [PATCH] Update release notes and readme file. --- BuildChecker/Release_Notes_2_0.txt | 2 +- CppUnitTest/Release_Notes_2_2.txt | 2 +- Dump/Release_Notes_2_0.txt | 4 +- README.md | 95 ++++++++++++++++++++++++++++++ 4 files changed, 99 insertions(+), 4 deletions(-) diff --git a/BuildChecker/Release_Notes_2_0.txt b/BuildChecker/Release_Notes_2_0.txt index 31d02d4..f3e100e 100644 --- a/BuildChecker/Release_Notes_2_0.txt +++ b/BuildChecker/Release_Notes_2_0.txt @@ -4,7 +4,7 @@ Copyright (c) 2009 by Rich Sposato Release Date: 2009-Jan-5 -Home Page: http://sourceforge.net/projects/Hestia/ +Home Page: https://github.com/richsposato/Hestia Release Contents: 12 files diff --git a/CppUnitTest/Release_Notes_2_2.txt b/CppUnitTest/Release_Notes_2_2.txt index 01a2c06..5400452 100644 --- a/CppUnitTest/Release_Notes_2_2.txt +++ b/CppUnitTest/Release_Notes_2_2.txt @@ -4,7 +4,7 @@ by Rich Sposato Release Date: 2008-May-9 -Home Page: http://sourceforge.net/projects/Hestia/ +Home Page: https://github.com/richsposato/Hestia diff --git a/Dump/Release_Notes_2_0.txt b/Dump/Release_Notes_2_0.txt index 856b440..a782d5e 100644 --- a/Dump/Release_Notes_2_0.txt +++ b/Dump/Release_Notes_2_0.txt @@ -4,7 +4,7 @@ by Rich Sposato Release Date: 2009-Sept-22 -Home Page: http://sourceforge.net/projects/Hestia/ +Home Page: https://github.com/richsposato/Hestia @@ -19,7 +19,7 @@ Release Contents: 5 files -Design Considerations for C++ Unit Test library: +Design Considerations for C++ Dump library: 1. Simple Library should be easy to compile, and easy to setup within a host program. New users should be able to learn how to use library quickly. 2. Small Library should have as tiny a memory footprint as possible. diff --git a/README.md b/README.md index f49b5e8..c018a66 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,97 @@ # Hestia + Hestia provides utilities and tools for improving software development process. Auto Build Checker (ABC) parses build results and makes HTML pages summarizing the build attempt. C++ Unit Test which allows people to easily make unit tests. + +by Rich Sposato + +Home Page: https://github.com/richsposato/Hestia + +## CppUnitTest + +### Design Considerations for C++ Unit Test Library + +1. Simple Library should be easy to compile, easy to setup within a host program, + easy to add new tests, and easy to parse test results. New users should + be able to learn how to use library quickly. +2. Robust Library should not crash, should provide strong exception-safety, and + internal objects within library should never break class invariants. + Also, library should provide accurate output even when host program + crashes. It also protects itself against reentrant calls from the host + program. +3. Portable Source code should compile as cleanly as possible with at least 2 + different compilers, and behave the same no matter which compiler is used. +4. Small Library should have as tiny a memory footprint as possible. +5. Efficient Big-O complexity of each function should be as small as possible. The + unit-test library should not degrade runtime performance of host program. +6. Exit-Time Host program should be able to exercise unit tests even at exit time. +7. Detailed Output should provide as many details as possible. +8. Configurable Library should allow user to decide which details go into output. + Library should provide multiple forms of output - standard out, text, + html, xml, or to any type of output the host program wants. +9. Long-Term Library should allow for long-term tracking of test results. (It does + this by adding overall test result totals to a "main" html page as well as + to the html page for the current test results.) +10. Stoppable User should be able to skip remaining tests if a required test fails. +11. Independent Library should not rely on other libraries, only functions and classes + mentioned in the C++ Standard. + +### Design Considerations for Embedded C++ Unit Test Library + +The embedded version of the unit test library has all the above design considerations +except that ... +1. It allows only limited Configurable output options. +2. It does not send output to any standard error, standard output, or any text or html files. Instead it sends output only to single listener provided by the host program, which may then send output to an html webpage or through a socket. +3. The embedded version of this program has a much small memory footprint than the normal version of the library. + +### Important Features + +1. Configurable output options for output types provided by library. Also allow host + program to receive notices about test results so it can send results to other output + formats. +2. Handles exceptions that occur in unit tests - and even allow host program to test + functions where exceptions are expected for some input. +3. Provides strong exception safety safety for all internal operations, and protects itself + from exceptions thrown within host program.. +4. Has 3 levels of test severity (warning, checked, required). If a required test fails, + the program ends. If a warning fails, the failure is logged, but the unit test still + passes. +5. Can send output to stdout, stderr, text file, xml file, and html files simultaneously. +6. Can send text messages directly into output. +7. Host program can group tests together. +8. Provides summary page of all tests. +9. Can exercise unit tests even as program exits. +10. Allows host program to add observers to receive test result events. +11. Created a separate unit-test library for embedded software. +12. Allows host program to make summary table on demand instead of just at exit time. +13. Allows host program to run multiple sets of unit tests. +14. Protection against re-entrancy in case observer calls function in UnitTest library. +15. Efficient functions. +16. Guarantees that internal objects do not violate class invariants. + + +## Auto Build Checker + +### Intent of Automated Build Checker. + +ABC was designed to parse the output files from Visual Studio and summarize the results of the build process +in an HTML file. It maintains records of previous build results in an HTML table so programmers can see how +well the build process has done in the past. The intent is so programmers can display build results online +or at least in an internal webpage so everyone can see if any project failed and why. + +### Features + +1. Recognizes results from more compilers. +2. You can now specify options in a config file. +3. You can now specify custom rules for matching result files. +4. Comes with Code::Blocks project file. +5. You can now specify more options (colors, title, etc...). + + +## Dump + +### Design Considerations for C++ Dump Library + +1. Simple Library should be easy to compile, and easy to setup within a host program. New users should be able to learn how to use library quickly. +2. Small Library should have as tiny a memory footprint as possible. +3. Efficient Big-O complexity of each function should be as small as possible. +4. Polite Imposes as few as possible requirements on host program.