User story #122
Updated by André Neto almost 10 years ago
Implement requirement MARTe-EX-F-1.1.7 based on the original MARTe implementation
Note: Being able to know the number of CPU cores available allow framework developers to take run-time decisions about the distribution of resources (e.g. threading affinity).
h1. Source code files modified
* Source\Core\L0Portability\Architecture\x86_cl\ProcessorA.h
* Source\Core\L0Portability\Architecture\x86_gcc\ProcessorA.h
* Source\Core\L0Portability\OperatingSystem\Linux\ProcessorOS.h
* Source\Core\L0Portability\OperatingSystem\Windows\ProcessorOS.h
* Source\Core\L0Portability\Processor.cpp
* Source\Core\L0Portability\Processor.h
* Source\Core\L0Portability\ProcessorType.cpp
* Source\Core\L0Portability\ProcessorType.h
* Test/Core/L0Portability/ProcessorTest.h
* Test/Core/L0Portability/ProcessorTest.cpp
* Test/Core/L0Portability/ProcessorTypeTest.h
* Test/Core/L0Portability/ProcessorTypeTest.cpp
* Test/GTest/ProcessorGTest.cpp
* Test/GTest/ProcessorTypeGTest.cpp
h1. Architecture & design review
*Date of the review:* 12/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:* 18/06/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:* 01/07/2015
*Person who did the review:* Andre Neto
*Result of coverage tests review:* PASS [100%]
*Result of functional tests review:* PASS [100%]
*Result of review:* FAIL
*List of non-conformities:* N/A
Manual review of file: Test/Core/L0Portability/ProcessorTest.h
Line 25 wrong tab for #define PROCESSORTEST_H_
Line 40 @brief not formatted as per coding standard
Line 52 should read @return true if Processor::VendorId() returns a vendor id which is not NULL.
Line 58 should read @return true if Processor::Family() returns a value which is not -1.
Line 73 should read @return true if Processor::Model() returns a value which is not -1.
Line 88 should read @return true if Processor::Available() returns a value which is not -1.
Manual review of file: Test/Core/L0Portability/ProcessorTest.cpp
Remove repeated function comments.
Manual review of file: Test/Core/L0Portability/ProcessorTypeTest.h
Line 25 wrong tab for #define PROCESSORTYPETEST_H_
Line 40 @brief not formatted as per coding standard
Line 58 should read @return true if a local test ProcessorType variable can be successfully assigned to two different ProcessorType values.
Line 64 should read @return true if the OR operation between several combinations of a ProcessorType local variable and some ProcessorType dummy test variables are valid.
Line 70 should read @return true if the equality operation between a ProcessorType local variable and a ProcessorType dummy test variables is valid.
Line 76 should read @return true if the inequality operation between a ProcessorType local variable and a ProcessorType dummy test variables is valid.
Line 82 should read @return true if the ProcessorType default CPUs can be successfully set and retrieved.
Line 90 should read @return true if all the ProcessorType constructors can be successfully assigned to the expected initial CPU mask.
Note: Being able to know the number of CPU cores available allow framework developers to take run-time decisions about the distribution of resources (e.g. threading affinity).
h1. Source code files modified
* Source\Core\L0Portability\Architecture\x86_cl\ProcessorA.h
* Source\Core\L0Portability\Architecture\x86_gcc\ProcessorA.h
* Source\Core\L0Portability\OperatingSystem\Linux\ProcessorOS.h
* Source\Core\L0Portability\OperatingSystem\Windows\ProcessorOS.h
* Source\Core\L0Portability\Processor.cpp
* Source\Core\L0Portability\Processor.h
* Source\Core\L0Portability\ProcessorType.cpp
* Source\Core\L0Portability\ProcessorType.h
* Test/Core/L0Portability/ProcessorTest.h
* Test/Core/L0Portability/ProcessorTest.cpp
* Test/Core/L0Portability/ProcessorTypeTest.h
* Test/Core/L0Portability/ProcessorTypeTest.cpp
* Test/GTest/ProcessorGTest.cpp
* Test/GTest/ProcessorTypeGTest.cpp
h1. Architecture & design review
*Date of the review:* 12/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:* 18/06/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:* 01/07/2015
*Person who did the review:* Andre Neto
*Result of coverage tests review:* PASS [100%]
*Result of functional tests review:* PASS [100%]
*Result of review:* FAIL
*List of non-conformities:* N/A
Manual review of file: Test/Core/L0Portability/ProcessorTest.h
Line 25 wrong tab for #define PROCESSORTEST_H_
Line 40 @brief not formatted as per coding standard
Line 52 should read @return true if Processor::VendorId() returns a vendor id which is not NULL.
Line 58 should read @return true if Processor::Family() returns a value which is not -1.
Line 73 should read @return true if Processor::Model() returns a value which is not -1.
Line 88 should read @return true if Processor::Available() returns a value which is not -1.
Manual review of file: Test/Core/L0Portability/ProcessorTest.cpp
Remove repeated function comments.
Manual review of file: Test/Core/L0Portability/ProcessorTypeTest.h
Line 25 wrong tab for #define PROCESSORTYPETEST_H_
Line 40 @brief not formatted as per coding standard
Line 58 should read @return true if a local test ProcessorType variable can be successfully assigned to two different ProcessorType values.
Line 64 should read @return true if the OR operation between several combinations of a ProcessorType local variable and some ProcessorType dummy test variables are valid.
Line 70 should read @return true if the equality operation between a ProcessorType local variable and a ProcessorType dummy test variables is valid.
Line 76 should read @return true if the inequality operation between a ProcessorType local variable and a ProcessorType dummy test variables is valid.
Line 82 should read @return true if the ProcessorType default CPUs can be successfully set and retrieved.
Line 90 should read @return true if all the ProcessorType constructors can be successfully assigned to the expected initial CPU mask.