Project

General

Profile

User story #142

Updated by Ivan Herrero over 9 years ago

Implement requirement MARTe-EX-F-1.1.15 based on the original MARTe implementation.

Note: Basic is intended as with no streaming support. Expected functionality (as minimum) is I/O to/from stdin/stdout. This implementation should be portable and delegated to the different operating systems console implementation.

h1. Source code files modified

* Source/Core/L0Portability/BasicConsole.cpp
* Source/Core/L0Portability/BasicConsole.h
* Source/Core/L0Portability/OperatingSystem/Linux/BasicConsoleOS.cpp
* Source/Core/L0Portability/OperatingSystem/Windows/BasicConsoleOS.cpp
* Test/Core/L0Portability/BasicConsoleTest.cpp
* Test/Core/L0Portability/BasicConsoleTest.h
* Test/GTest/BasicConsoleGTest.cpp

h1. Architecture & design review

*Date of the review:* 23/06/2015

*Person who did the review:* André Neto

*Version of architecture & design document:* N/A. As per the original MARTe implementation, this is a support function and does not require formal design in UML.

*Result of review:* N/A

*List of non-conformities:* N/A

h1. Code and documentation review

*Date of the review:* 01/07/2015

*Person who did the review:* Ivan Herrero

*Result of review:* PASS

*List of non-conformities:* N/A

h1. Unit test review

*Date of the review:* 24/07/2015

*Person who did the review:* Ivan Herrero

*Result of coverage tests review:* PASS FAIL

*Result of functional tests review:* PASS FAIL

*Result of review:* PASS FAIL

*List of non-conformities:*

Coverage note: Some error Error paths not exercised

The following methods of BasicConsole do not have an explicit test and they need it:
* BasicConsole::BasicConsole()

The following methods of BasicConsole do not have and do not need an explicit test, but they need to be called at least once:
* BasicConsole::TimeoutSupported() not tested


The following methods of BasicConsole do not have an explicit test, because the answer is different according to the target operating system:
* bool ColourSupported()
* bool ConsoleBufferSupported()
* bool CursorPositionSupported()
* bool TitleBarSupported()
* bool WindowSizeSupported()
* bool TimeoutSupported()

The following methods of BasicConsole are not tested because they are not implemented in Linux:
* ErrorType BasicConsole::ShowBuffer();
* ErrorType BasicConsole::SetColour(const Colours &foregroundColour, const Colours &backgroundColour);
* ErrorType BasicConsole::SetTitleBar(const char8 * const title);
* ErrorType BasicConsole::GetTitleBar(char8 * const title, const uint32 &size) const;
* ErrorType BasicConsole::SetCursorPosition(const uint32 &column, const uint32 &row);
* ErrorType BasicConsole::GetCursorPosition(uint32 &column, uint32 &row) const;
* ErrorType BasicConsole::SetWindowSize(const uint32 &numberOfColumns, const uint32 &numberOfRows);
* ErrorType BasicConsole::GetWindowSize(uint32 &numberOfColumns, uint32 &numberOfRows) const;
* ErrorType BasicConsole::PlotChar(const char8 &c, const Colours &foregroundColour, const Colours &backgroundColour, const uint32 &column, const uint32 &row);

Back