fork
Fork of cpputest by
include/CppUTest/CommandLineArguments.h
- Committer:
- rgrover1
- Date:
- 2014-01-28
- Revision:
- 0:0b799af9d58e
- Child:
- 1:4769360130ed
File content as of revision 0:0b799af9d58e:
/* * Copyright (c) 2007, Michael Feathers, James Grenning and Bas Vodde * 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 <organization> 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 EARLIER MENTIONED AUTHORS ``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 <copyright holder> 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. */ #ifndef D_CommandLineArguments_H #define D_CommandLineArguments_H #include "SimpleString.h" #include "TestOutput.h" #include "TestFilter.h" class TestPlugin; class CommandLineArguments { public: explicit CommandLineArguments(int ac, const char** av); virtual ~CommandLineArguments(); bool parse(TestPlugin* plugin); bool isVerbose() const; int getRepeatCount() const; TestFilter getGroupFilter() const; TestFilter getNameFilter() const; bool isJUnitOutput() const; bool isEclipseOutput() const; bool runTestsInSeperateProcess() const; const char* usage() const; private: enum OutputType { OUTPUT_ECLIPSE, OUTPUT_JUNIT }; int ac_; const char** av_; bool verbose_; bool runTestsAsSeperateProcess_; int repeat_; TestFilter groupFilter_; TestFilter nameFilter_; OutputType outputType_; SimpleString getParameterField(int ac, const char** av, int& i, const SimpleString& parameterName); void SetRepeatCount(int ac, const char** av, int& index); void SetGroupFilter(int ac, const char** av, int& index); void SetStrictGroupFilter(int ac, const char** av, int& index); void SetNameFilter(int ac, const char** av, int& index); void SetStrictNameFilter(int ac, const char** av, int& index); void SetTestToRunBasedOnVerboseOutput(int ac, const char** av, int& index, const char* parameterName); bool SetOutputType(int ac, const char** av, int& index); CommandLineArguments(const CommandLineArguments&); CommandLineArguments& operator=(const CommandLineArguments&); }; #endif