blob: 4ae0a8ada7dd39cc81bdbf5f4f9064492f439804 [file] [log] [blame]
//
// Copyright (c) 2010 Linaro Limited
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the MIT License which accompanies
// this distribution, and is available at
// http://www.opensource.org/licenses/mit-license.php
//
// Contributors:
// Jesse Barker - original implementation.
//
#ifndef LIBMATRIX_TEST_H_
#define LIBMATRIX_TEST_H_
class Options
{
Options();
static const std::string verbose_name_;
static const std::string help_name_;
std::string app_name_;
bool show_help_;
bool verbose_;
public:
Options(const std::string& app_name) :
app_name_(app_name),
show_help_(false),
verbose_(false) {}
~Options() {}
bool beVerbose() const { return verbose_; }
bool showHelp() const { return show_help_; }
void parseArgs(int argc, char** argv);
void printUsage();
};
class MatrixTest
{
std::string name_;
protected:
bool pass_;
MatrixTest();
public:
MatrixTest(const std::string& name) :
name_(name),
pass_(false) {}
~MatrixTest();
const std::string& name() const { return name_; }
virtual void run(const Options& options) = 0;
const bool passed() const { return pass_; }
};
#endif // LIBMATRIX_TEST_H_