Skip to content

Conversation

eljonny
Copy link
Owner

@eljonny eljonny commented Feb 18, 2025

Added TXZ package to linux packing workflows.
Added 7z package to multi-platform packing workflows.

In static analysis workflow, ignore files in 3rdparty (Boost headers). Fix up cppcheck args for static analysis workflow with additional
suppressions and flags that enhance and hone what it is checking for.

Add WiX packing workflows (stacktrace-enabled and no-stacktraces) so
MSI packages will now be part of the distribution; they're pretty
rough right now, I need to do some design work on the BMPs, but they
do work.
With this comes a collection of image resources and an RTF-format
version of the license to conform to the Windows Installer guidelines.

Huge updates to the README.md:

  • Added badges for the WiX packing workflows
  • Formatting so the column width is always 72 characters or less
  • Added a section about building the project in Visual Studio 2022
  • Elaborated on the structure of the CMake meta-build after some significant changes in previous commits a while ago where the README was not updated.
  • Code block formatting.
  • Made a separate section for static analysis of the project, and expanded on what cppcheck arguments are suggested after some experimentation about what gives the most thorough results.
  • Added information about what is produced in the base cpack configurations for Linux and Windows.
  • Added information about the new CPack configuration for WiX on Windows and how to run it to generate the WiX package (MSI file).
  • Added a subsection to the Development section that informs people what GitHub Actions CI workflows are implemented and what they do.

Updated the CPack configurations in cmake/Packing.cmake:

  • Updated my email address because Google/GMail are not reliable as they are linked to space available in my Google Drive which can fluctuate wildly and sometimes is not available.
  • Added WIX configurations for MSI packaging:
    • Added product GUID
    • Added reference to the new LICENSE.rtf
    • Added reference to the new TestCPP icon
    • Added reference to the new Windows Installer progress banner
    • Added reference to the new Windows Installer Welcome/Goodbye image

Added icon image basis.

Added TXZ package to linux packing workflows.
Added 7z package to multi-platform packing workflows.

In static analysis workflow, ignore files in 3rdparty (Boost headers).
Fix up cppcheck args for static analysis workflow with additional
 suppressions and flags that enhance and hone what it is checking for.

Add WiX packing workflows (stacktrace-enabled and no-stacktraces) so
 MSI packages will now be part of the distribution; they're pretty
 rough right now, I need to do some design work on the BMPs, but they
 do work.
With this comes a collection of image resources and an RTF-format
 version of the license to conform to the Windows Installer guidelines.

Huge updates to the README.md:
 - Added badges for the WiX packing workflows
 - Formatting so the column width is always 72 characters or less
 - Added a section about building the project in Visual Studio 2022
 - Elaborated on the structure of the CMake meta-build after some
    significant changes in previous commits a while ago where the
    README was not updated.
 - Code block formatting.
 - Made a separate section for static analysis of the project, and
    expanded on what cppcheck arguments are suggested after some
    experimentation about what gives the most thorough results.
 - Added information about what is produced in the base cpack
    configurations for Linux and Windows.
 - Added information about the new CPack configuration for WiX on
    Windows and how to run it to generate the WiX package (MSI file).
 - Added a subsection to the Development section that informs people
    what GitHub Actions CI workflows are implemented and what they do.

Updated the CPack configurations in cmake/Packing.cmake:
 - Updated my email address because Google/GMail are not reliable as
    they are linked to space available in my Google Drive which can
    fluctuate wildly and sometimes is not available.
 - Added WIX configurations for MSI packaging:
  > Added product GUID
  > Added reference to the new LICENSE.rtf
  > Added reference to the new TestCPP icon
  > Added reference to the new Windows Installer progress banner
  > Added reference to the new Windows Installer Welcome/Goodbye image

Added icon image basis.
Copy link

github-actions bot commented Feb 18, 2025

⚡ Static analysis result ⚡

🔴 cppcheck found 20 issues! Click here to see details.

string failureMessage = "Arguments are not equivalent!"
)
{
if (expected != actual) {
stringstream err;

!Line: 78 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

string failureMessage = "Arguments are equivalent!"
)
{
if (expected == actual) {
stringstream err;

!Line: 109 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

string failureMessage = "Object is not null!"
)
{
bool null = ptr == nullptr;
if (!null) {

!Line: 136 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

string failureMessage = "Object is null!"
)
{
bool notNull = ptr != nullptr;
if (!notNull) {

!Line: 163 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

string failureMessage
)
{
if (!condition) {
stringstream err;

!Line: 92 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

string failureMessage
)
{
if (condition) {
stringstream err;

!Line: 107 - performance: Function parameter 'failureMessage' should be passed by const reference. [passedByValue]

this->outCompareOption(std::move(o.option));
this->setNotifyPassed(std::move(o.notifyTestPassed));
this->pass = std::move(o.pass);
this->lastRunTime = std::move(o.lastRunTime);

!Line: 171 - error: Exception thrown in function declared not to throw exceptions. [throwInNoexceptFunction]

this->outCompareOption(std::move(rhs.option));
this->setNotifyPassed(std::move(rhs.notifyTestPassed));
this->pass = std::move(rhs.pass);
this->lastRunTime = std::move(rhs.lastRunTime);

!Line: 262 - error: Exception thrown in function declared not to throw exceptions. [throwInNoexceptFunction]

bool TestCase::checkStdout (string against) {
return checkOutput(TestCase::stdoutBuffer.get()->str(),
against);
}
bool TestCase::checkLog (string against) {

!Line: 479 - performance: Function parameter 'against' should be passed by const reference. [passedByValue]

bool TestCase::checkLog (string against) {
return checkOutput(TestCase::clogBuffer.get()->str(),
against);
}
bool TestCase::checkStderr (string against) {

!Line: 484 - performance: Function parameter 'against' should be passed by const reference. [passedByValue]

bool TestCase::checkStderr (string against) {
return checkOutput(TestCase::stderrBuffer.get()->str(),
against);
}
bool TestCase::checkOutput (string source, string against)

!Line: 489 - performance: Function parameter 'against' should be passed by const reference. [passedByValue]

bool TestCase::checkOutput (string source, string against)
{
switch (this->option) {
case EXACT:
if (source == against) {
return true;

!Line: 494 - performance: Function parameter 'source' should be passed by const reference. [passedByValue]

bool TestCase::checkOutput (string source, string against)
{
switch (this->option) {
case EXACT:
if (source == against) {
return true;

!Line: 494 - performance: Function parameter 'against' should be passed by const reference. [passedByValue]

TestCase::TestCase (TestCase& o) {
this->outCompareOption(o.option);
this->setNotifyPassed(o.notifyTestPassed);
this->pass = o.pass;
this->lastRunTime = o.lastRunTime;

!Line: 145 - style: Parameter 'o' can be declared as reference to const [constParameterReference]

TestCase& TestCase::operator= (TestCase& rhs) {
this->outCompareOption(rhs.option);
this->setNotifyPassed(rhs.notifyTestPassed);
this->pass = rhs.pass;
this->lastRunTime = rhs.lastRunTime;

!Line: 234 - style: Parameter 'rhs' can be declared as reference to const [constParameterReference]

void TestCase::logFailure(ostream& out, string& reason) {
out << fixed;
out << setprecision(TCPPNum::TIME_PRECISION);
out << TCPPStr::TEST << this->testName << TCPPStr::FAIL
<< TCPPStr::PARENL
<< static_cast<double>(this->lastRunTime)/

!Line: 292 - style: Parameter 'reason' can be declared as reference to const [constParameterReference]

TestSuite (TestObjName&& suiteName,
typename enable_if<sizeof...(TestType) == 0>::type)
{
this->testSuitePassedMessage = true;
this->setSuiteName(std::move(suiteName));
this->tests = vector<TestCase>();

!Line: 80 - warning: Member variable 'TestSuite::lastRunSucceeded' is not initialized in the constructor. [uninitMemberVar]

TestSuite (TestObjName&& suiteName,
typename enable_if<sizeof...(TestType) == 0>::type)
{
this->testSuitePassedMessage = true;
this->setSuiteName(std::move(suiteName));
this->tests = vector<TestCase>();

!Line: 80 - warning: Member variable 'TestSuite::lastRunSuccessCount' is not initialized in the constructor. [uninitMemberVar]

TestSuite (TestObjName&& suiteName,
typename enable_if<sizeof...(TestType) == 0>::type)
{
this->testSuitePassedMessage = true;
this->setSuiteName(std::move(suiteName));
this->tests = vector<TestCase>();

!Line: 80 - warning: Member variable 'TestSuite::lastRunFailCount' is not initialized in the constructor. [uninitMemberVar]

TestSuite (TestObjName&& suiteName,
typename enable_if<sizeof...(TestType) == 0>::type)
{
this->testSuitePassedMessage = true;
this->setSuiteName(std::move(suiteName));
this->tests = vector<TestCase>();

!Line: 80 - warning: Member variable 'TestSuite::totalRuntime' is not initialized in the constructor. [uninitMemberVar]


🔴 clang-tidy found 1 issue! Click here to see details.

TestCPP/.clang-tidy

Lines 4 to 9 in 047f26e

"ExcludeHeaderFilterRegex": "boost/.*",
"WarningsAsErrors": "*",
"FormatStyle": "none",
"SystemHeaders": false,
"ExtraArgs": [
"-Iinclude",

!Line: 4 - error: unknown key 'ExcludeHeaderFilterRegex'


@eljonny eljonny self-assigned this Feb 18, 2025
@eljonny eljonny merged commit 9107222 into main Feb 18, 2025
39 of 40 checks passed
@eljonny eljonny deleted the add-cpack-wix-update-readme branch February 18, 2025 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant