From 5ca6b8394433ba963d4e6f2b5225eee5876fca3f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 3 Feb 2021 23:00:29 -0800 Subject: [PATCH] tests: Delete the now unused unittest/unittest.[cc|hh]. These files were originally used to provide a more gtest like mechanism for the UnitTest executables, many of which didn't actually test anything. With the definitions in those files, the tests could check whether their expectations were met, and either pass or fail without a human having to inspect the output and knowing what output to expect. Change-Id: Ie0601391b994859eb544b37201333838fa3ba02a Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40618 Tested-by: kokoro Reviewed-by: Daniel Carvalho Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- src/unittest/SConscript | 2 - src/unittest/unittest.cc | 92 ------------------------------- src/unittest/unittest.hh | 114 --------------------------------------- 3 files changed, 208 deletions(-) delete mode 100644 src/unittest/unittest.cc delete mode 100644 src/unittest/unittest.hh diff --git a/src/unittest/SConscript b/src/unittest/SConscript index b0e29ed3f..9ebe863eb 100644 --- a/src/unittest/SConscript +++ b/src/unittest/SConscript @@ -28,8 +28,6 @@ Import('*') -Source('unittest.cc') - UnitTest('nmtest', 'nmtest.cc') stattest_py = PySource('m5', 'stattestmain.py', tags='stattest') diff --git a/src/unittest/unittest.cc b/src/unittest/unittest.cc deleted file mode 100644 index 2f99eae98..000000000 --- a/src/unittest/unittest.cc +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2011 Advanced Micro Devices, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "unittest/unittest.hh" - -#include - -#include "base/cprintf.hh" - -namespace { - -bool _printOnPass = (getenv("PRINT_ON_PASS") != NULL); -unsigned _passes = 0; -unsigned _failures = 0; - -bool _casePrinted = false; -const char *_case = NULL; - -} // anonymous namespace - -namespace UnitTest { - -void -checkVal(const char *file, const unsigned line, - const char *test, const bool result) -{ - if (!result || _printOnPass) { - if (!_casePrinted && _case) { - cprintf("CASE %s:\n", _case); - _casePrinted = true; - } - cprintf(" CHECK %s: %s:%d %s\n", - result ? "PASSED" : "FAILED", file, line, test); - } - if (result) _passes++; - else _failures++; -} - -bool printOnPass() { return _printOnPass; } -void printOnPass(bool newPrintOnPass) { _printOnPass = newPrintOnPass; } - -unsigned passes() { return _passes; } -unsigned failures() { return _failures; } - -unsigned -printResults() -{ - cprintf("TEST %s: %d checks passed, %d checks failed.\n", - _failures ? "FAILED" : "PASSED", _passes, _failures); - return _failures; -} - -void -reset() -{ - _passes = 0; - _failures = 0; -} - -void -setCase(const char *newCase) -{ - _casePrinted = false; - _case = newCase; -} - -} //namespace UnitTest diff --git a/src/unittest/unittest.hh b/src/unittest/unittest.hh deleted file mode 100644 index 5e9c43289..000000000 --- a/src/unittest/unittest.hh +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2011 Advanced Micro Devices, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * @file This file defines functions and macros for use in unit tests. - */ - -#ifndef __UNITTEST_UNITTEST_HH__ -#define __UNITTEST_UNITTEST_HH__ - -namespace UnitTest { - -/** - * Function that actually handles checking whether an EXPECT_* passed. This - * should be used through the EXPECT macros below and not called directly. - * @param file The name of the file this check is in. - * @param line The line number this check is on. - * @param test Text specifying what check is being performed. - * @param result Whether the check passed. - */ -void checkVal(const char *file, const unsigned line, - const char *test, const bool result); - -/** - * Print on pass is a switch that specifies whether to print a message even - * when a check passes. It's default value is whether or not "PRINT_ON_PASS" - * is set in the calling environment. What it's actually set to is ignored. - */ - -/** - * Function for retrieving the current setting for print on pass. - * @return The current setting. - */ -bool printOnPass(); - -/** - * Function for setting print on pass. - * @param newVal The new setting. - */ -void printOnPass(bool newVal); - -/** - * Function that returns the current number of passed checks. - * @return Number of checks that have passed so far. - */ -unsigned passes(); - -/** - * Function that returns the current number of failed checks. - * @return Number of checks that have failed so far. - */ -unsigned failures(); - -/** - * Function to call at the end of a test that prints an overall result and a - * summary of how many checks passed and failed. main() should return the - * return value of this function which is the number of failed checks. - * @return Number of failed checks. - */ -unsigned printResults(); - -/// Zero the number of passes and failures so far. -void reset(); - -/** - * Sets the current test case. Test cases are used to group checks together and - * describe what that group is doing. Setting a new case defines the start of - * a new group and the end of the previous one. The case string is used in - * place and not copied, so don't modify or invalidate it until a new case - * label is installed. - * @param newCase The name of the new test case. - */ -void setCase(const char *newCase); - -} // namespace UnitTest - -/// A macro which verifies that expr evaluates to true. -#define EXPECT_TRUE(expr) \ - UnitTest::checkVal(__FILE__, __LINE__, "EXPECT_TRUE(" #expr ")", (expr)) -/// A macro which verifies that expr evaluates to false. -#define EXPECT_FALSE(expr) \ - UnitTest::checkVal(__FILE__, __LINE__, \ - "EXPECT_FALSE(" #expr ")", (expr) == false) -/// A macro which verifies that lhs and rhs are equal to each other. -#define EXPECT_EQ(lhs, rhs) \ - UnitTest::checkVal(__FILE__, __LINE__, \ - "EXPECT_EQ(" #lhs ", " #rhs ")", (lhs) == (rhs)); - -#endif -- 2.30.2