fork

Fork of cpputest by Rohit Grover

Committer:
Kojto
Date:
Wed May 13 13:20:35 2015 +0000
Revision:
3:9e8c8907d9ee
Parent:
1:4769360130ed
Rename console to mbed_cpputest_console (as in mbed testrunner)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:0b799af9d58e 1 /*
rgrover1 0:0b799af9d58e 2 * Copyright (c) 2007, Michael Feathers, James Grenning and Bas Vodde
rgrover1 0:0b799af9d58e 3 * All rights reserved.
rgrover1 0:0b799af9d58e 4 *
rgrover1 0:0b799af9d58e 5 * Redistribution and use in source and binary forms, with or without
rgrover1 0:0b799af9d58e 6 * modification, are permitted provided that the following conditions are met:
rgrover1 0:0b799af9d58e 7 * * Redistributions of source code must retain the above copyright
rgrover1 0:0b799af9d58e 8 * notice, this list of conditions and the following disclaimer.
rgrover1 0:0b799af9d58e 9 * * Redistributions in binary form must reproduce the above copyright
rgrover1 0:0b799af9d58e 10 * notice, this list of conditions and the following disclaimer in the
rgrover1 0:0b799af9d58e 11 * documentation and/or other materials provided with the distribution.
rgrover1 0:0b799af9d58e 12 * * Neither the name of the <organization> nor the
rgrover1 0:0b799af9d58e 13 * names of its contributors may be used to endorse or promote products
rgrover1 0:0b799af9d58e 14 * derived from this software without specific prior written permission.
rgrover1 0:0b799af9d58e 15 *
rgrover1 0:0b799af9d58e 16 * THIS SOFTWARE IS PROVIDED BY THE EARLIER MENTIONED AUTHORS ``AS IS'' AND ANY
rgrover1 0:0b799af9d58e 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
rgrover1 0:0b799af9d58e 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
rgrover1 0:0b799af9d58e 19 * DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
rgrover1 0:0b799af9d58e 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
rgrover1 0:0b799af9d58e 21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
rgrover1 0:0b799af9d58e 22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
rgrover1 0:0b799af9d58e 23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
rgrover1 0:0b799af9d58e 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
rgrover1 0:0b799af9d58e 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
rgrover1 0:0b799af9d58e 26 */
rgrover1 0:0b799af9d58e 27
rgrover1 0:0b799af9d58e 28 #ifndef D_CommandLineArguments_H
rgrover1 0:0b799af9d58e 29 #define D_CommandLineArguments_H
rgrover1 0:0b799af9d58e 30
rgrover1 0:0b799af9d58e 31 #include "SimpleString.h"
rgrover1 0:0b799af9d58e 32 #include "TestOutput.h"
rgrover1 0:0b799af9d58e 33 #include "TestFilter.h"
rgrover1 0:0b799af9d58e 34
rgrover1 0:0b799af9d58e 35 class TestPlugin;
rgrover1 0:0b799af9d58e 36
rgrover1 0:0b799af9d58e 37 class CommandLineArguments
rgrover1 0:0b799af9d58e 38 {
rgrover1 0:0b799af9d58e 39 public:
rgrover1 0:0b799af9d58e 40 explicit CommandLineArguments(int ac, const char** av);
rgrover1 0:0b799af9d58e 41 virtual ~CommandLineArguments();
rgrover1 0:0b799af9d58e 42
rgrover1 0:0b799af9d58e 43 bool parse(TestPlugin* plugin);
rgrover1 0:0b799af9d58e 44 bool isVerbose() const;
rgrover1 0:0b799af9d58e 45 int getRepeatCount() const;
rgrover1 0:0b799af9d58e 46 TestFilter getGroupFilter() const;
rgrover1 0:0b799af9d58e 47 TestFilter getNameFilter() const;
rgrover1 0:0b799af9d58e 48 bool isJUnitOutput() const;
rgrover1 0:0b799af9d58e 49 bool isEclipseOutput() const;
rgrover1 0:0b799af9d58e 50 bool runTestsInSeperateProcess() const;
Rohit Grover 1:4769360130ed 51 const SimpleString& getPackageName() const;
rgrover1 0:0b799af9d58e 52 const char* usage() const;
rgrover1 0:0b799af9d58e 53
rgrover1 0:0b799af9d58e 54 private:
rgrover1 0:0b799af9d58e 55
rgrover1 0:0b799af9d58e 56 enum OutputType
rgrover1 0:0b799af9d58e 57 {
rgrover1 0:0b799af9d58e 58 OUTPUT_ECLIPSE, OUTPUT_JUNIT
rgrover1 0:0b799af9d58e 59 };
rgrover1 0:0b799af9d58e 60 int ac_;
rgrover1 0:0b799af9d58e 61 const char** av_;
rgrover1 0:0b799af9d58e 62
rgrover1 0:0b799af9d58e 63 bool verbose_;
rgrover1 0:0b799af9d58e 64 bool runTestsAsSeperateProcess_;
rgrover1 0:0b799af9d58e 65 int repeat_;
rgrover1 0:0b799af9d58e 66 TestFilter groupFilter_;
rgrover1 0:0b799af9d58e 67 TestFilter nameFilter_;
rgrover1 0:0b799af9d58e 68 OutputType outputType_;
Rohit Grover 1:4769360130ed 69 SimpleString packageName_;
rgrover1 0:0b799af9d58e 70
rgrover1 0:0b799af9d58e 71 SimpleString getParameterField(int ac, const char** av, int& i, const SimpleString& parameterName);
rgrover1 0:0b799af9d58e 72 void SetRepeatCount(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 73 void SetGroupFilter(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 74 void SetStrictGroupFilter(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 75 void SetNameFilter(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 76 void SetStrictNameFilter(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 77 void SetTestToRunBasedOnVerboseOutput(int ac, const char** av, int& index, const char* parameterName);
rgrover1 0:0b799af9d58e 78 bool SetOutputType(int ac, const char** av, int& index);
Rohit Grover 1:4769360130ed 79 void SetPackageName(int ac, const char** av, int& index);
rgrover1 0:0b799af9d58e 80
rgrover1 0:0b799af9d58e 81 CommandLineArguments(const CommandLineArguments&);
rgrover1 0:0b799af9d58e 82 CommandLineArguments& operator=(const CommandLineArguments&);
rgrover1 0:0b799af9d58e 83
rgrover1 0:0b799af9d58e 84 };
rgrover1 0:0b799af9d58e 85
rgrover1 0:0b799af9d58e 86 #endif