summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-04-05 22:29:08 -0600
committerGitHub <noreply@github.com>2020-04-05 22:29:08 -0600
commitc20684dd37e5c10c23664cd931bf4b83bfe7a69a (patch)
tree392c7b70a378c69866de9e8e2cf371b425b660ce
parent55b7181b9ce2ebc925480f4be74a799559c7e7ff (diff)
downloadbcm5719-ortega-c20684dd37e5c10c23664cd931bf4b83bfe7a69a.tar.gz
bcm5719-ortega-c20684dd37e5c10c23664cd931bf4b83bfe7a69a.zip
regressions: Ensure code is properly formatted. (#76)
-rwxr-xr-xbuild.sh3
-rw-r--r--cmake/clang-format.cmake91
-rw-r--r--libs/NCSI/CMakeLists.txt8
-rw-r--r--libs/NCSI/ncsi.c9
-rw-r--r--libs/Network/ports.c17
5 files changed, 81 insertions, 47 deletions
diff --git a/build.sh b/build.sh
index a885c5e..7cab8a0 100755
--- a/build.sh
+++ b/build.sh
@@ -88,6 +88,9 @@ cd "$BUILD_DIR"
"$CMAKE" .. $GENERATOR
"$CMAKE" --build .
+# Ensure formatting is correct
+"$CMAKE" --build . --target check-format
+
# Generate release packages.
"$CMAKE" --build . --target package
"$CMAKE" --build . --target package_source
diff --git a/cmake/clang-format.cmake b/cmake/clang-format.cmake
index 2036e03..1158225 100644
--- a/cmake/clang-format.cmake
+++ b/cmake/clang-format.cmake
@@ -10,7 +10,7 @@
###
################################################################################
###
-### @copyright Copyright (c) 2018, Evan Lojewski
+### @copyright Copyright (c) 2018-2020, Evan Lojewski
### @cond
###
### All rights reserved.
@@ -42,41 +42,66 @@
### @endcond
################################################################################
-if(CMAKE_SCRIPT_MODE_FILE)
- SET(ARGUMENTS )
- SET(CLANG_FORMAT ${CMAKE_ARGV3})
- SET(FILES ${CMAKE_ARGV4})
+IF(CMAKE_SCRIPT_MODE_FILE)
+ SET(ARGUMENTS )
+ SET(CLANG_FORMAT ${CMAKE_ARGV4})
+ SET(FILES ${CMAKE_ARGV5})
- FOREACH(FILE ${FILES})
- MESSAGE("Formatting ${FILE}")
- EXECUTE_PROCESS(COMMAND ${CLANG_FORMAT} -style=file -i "${FILE}")
- LIST(APPEND ARGUMENTS ${FILE})
- ENDFOREACH()
-else()
+ IF(CHECK)
+ SET(ERROR_FILES )
+ FOREACH(FILE ${FILES})
+ MESSAGE("Checking ${FILE}")
+ EXECUTE_PROCESS(COMMAND ${CLANG_FORMAT} -style=file --output-replacements-xml "${FILE}"
+ OUTPUT_VARIABLE OUT RESULT_VARIABLE RES)
+ STRING(REGEX MATCH "<replacement " MATCHES ${OUT})
+ IF(MATCHES)
+ LIST(APPEND ERROR_FILES ${FILE})
+ ENDIF()
+ ENDFOREACH()
- SET(CLANG_FORMAT ${COMPILER_BASE}/bin/clang-format)
- add_custom_target(clang-format cmake -P ${CMAKE_CURRENT_LIST_FILE}
- ${CLANG_FORMAT} $<TARGET_PROPERTY:clang-format,FORMAT_SOURCES>
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- VERBATIM)
+ IF(ERROR_FILES)
+ FOREACH(FILE ${ERROR_FILES})
+ MESSAGE("Invalid formatting: ${FILE}")
+ ENDFOREACH()
+ MESSAGE(FATAL_ERROR "Invalid formatting detected. Please run check-format")
+ ENDIF()
+ ELSE()
+ FOREACH(FILE ${FILES})
+ MESSAGE("Formatting ${FILE}")
+ EXECUTE_PROCESS(COMMAND ${CLANG_FORMAT} -style=file -i "${FILE}")
+ ENDFOREACH()
+ ENDIF()
+ELSE()
- function(format_sources)
- MESSAGE("Formatting sources ${ARGN}")
+ SET(CLANG_FORMAT ${COMPILER_BASE}/bin/clang-format)
+ ADD_CUSTOM_TARGET(clang-format cmake -DCHECK=False -P ${CMAKE_CURRENT_LIST_FILE}
+ ${CLANG_FORMAT} $<TARGET_PROPERTY:clang-format,FORMAT_SOURCES>
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ VERBATIM)
- set_property(TARGET clang-format APPEND PROPERTY FORMAT_SOURCES ${ARGN})
- endfunction(format_sources)
+ ADD_CUSTOM_TARGET(check-format cmake -DCHECK=True -P ${CMAKE_CURRENT_LIST_FILE}
+ ${CLANG_FORMAT} $<TARGET_PROPERTY:clang-format,FORMAT_SOURCES>
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ VERBATIM)
- function(format_target_sources target)
- set(paths )
- get_target_property(sources ${target} SOURCES)
- foreach(source ${sources})
- get_source_file_property(type ${source} LANGUAGE)
- IF("${type}" STREQUAL "C" OR "${type}" STREQUAL "CXX")
- get_source_file_property(path ${source} LOCATION)
- LIST(APPEND paths ${path})
- ENDIF()
- endforeach()
+ FUNCTION(format_sources)
+ MESSAGE("Formatting sources ${ARGN}")
- format_sources(${paths})
- endfunction(format_target_sources)
-endif() \ No newline at end of file
+ SET_PROPERTY(TARGET clang-format APPEND PROPERTY FORMAT_SOURCES ${ARGN})
+ ENDFUNCTION(format_sources)
+
+ FUNCTION(format_target_sources target)
+ SET(paths )
+ GET_TARGET_PROPERTY(sources ${target} SOURCES)
+ FOREACH(source ${sources})
+ GET_SOURCE_FILE_PROPERTY(type ${source} LANGUAGE)
+ GET_SOURCE_FILE_PROPERTY(path ${source} LOCATION)
+ GET_FILENAME_COMPONENT(ext ${path} EXT)
+ IF("${type}" STREQUAL "C" OR "${type}" STREQUAL "CXX" OR "${ext}" STREQUAL ".h")
+ LIST(APPEND paths ${path})
+ ENDIF()
+ ENDFOREACH()
+
+ format_sources(${paths})
+ ENDFUNCTION(format_target_sources)
+ENDIF() \ No newline at end of file
diff --git a/libs/NCSI/CMakeLists.txt b/libs/NCSI/CMakeLists.txt
index 09d9966..52c60e9 100644
--- a/libs/NCSI/CMakeLists.txt
+++ b/libs/NCSI/CMakeLists.txt
@@ -4,13 +4,13 @@
###
### @project
###
-### @brief Ethernet CMake file
+### @brief NCSI CMake file
###
################################################################################
###
################################################################################
###
-### @copyright Copyright (c) 2019, Evan Lojewski
+### @copyright Copyright (c) 2019-2020, Evan Lojewski
### @cond
###
### All rights reserved.
@@ -46,8 +46,8 @@ project(NCSI)
SET(SOURCES
ncsi.c
-# include/NCSI.h
-# include/Ethernet.h
+ include/NCSI.h
+ include/Ethernet.h
)
# Host Simulation library
diff --git a/libs/NCSI/ncsi.c b/libs/NCSI/ncsi.c
index 995a8dc..0f0a13a 100644
--- a/libs/NCSI/ncsi.c
+++ b/libs/NCSI/ncsi.c
@@ -416,7 +416,8 @@ static void getLinkStatusHandler(NetworkFrame_t *frame)
uint32_t tx_used = APE_TX_TO_NET_BUFFER_RING_FREE_MAX - port->tx_ring->bits.Free;
uint32_t rx_avail = APE_RX_POOL_FREE_POINTER_FREE_COUNT_MAX - port->rx_ring->bits.FreeCount;
- debug("Link Status [%d] %s, TX %d [%d used], RX %d [%d avail]\n", frame->controlPacket.ChannelID, stat.bits.LinkStatus ? "up" : "down", tx, tx_used, rx, rx_avail);
+ debug("Link Status [%d] %s, TX %d [%d used], RX %d [%d avail]\n", frame->controlPacket.ChannelID, stat.bits.LinkStatus ? "up" : "down", tx, tx_used, rx,
+ rx_avail);
if (!stat.bits.LinkStatus)
{
@@ -560,9 +561,9 @@ static void enableBroadcastFilteringHandler(NetworkFrame_t *frame)
// AEN ENABLE, SET LINK; then you need GET LINK STATUS
ncsi_handler_t gNCSIHandlers[] = {
/* Package / Initialization commands */
- [0x00] = { .ignoreInit = true, .packageCommand = false, .payloadLength = 0, .fn = clearInitialStateHandler },
- [0x01] = { .ignoreInit = false, .packageCommand = true, .payloadLength = 4, .fn = selectPackageHandler },
- [0x02] = { .ignoreInit = false, .packageCommand = true, .payloadLength = 0, .fn = deselectPackageHandler },
+ [0x00] = { .ignoreInit = true, .packageCommand = false, .payloadLength = 0, .fn = clearInitialStateHandler },
+ [0x01] = { .ignoreInit = false, .packageCommand = true, .payloadLength = 4, .fn = selectPackageHandler },
+ [0x02] = { .ignoreInit = false, .packageCommand = true, .payloadLength = 0, .fn = deselectPackageHandler },
/* Channel Specific commands */
[0x03] = { .ignoreInit = false, .packageCommand = false, .payloadLength = 0, .fn = enableChannelHandler },
diff --git a/libs/Network/ports.c b/libs/Network/ports.c
index be1957a..59d384e 100644
--- a/libs/Network/ports.c
+++ b/libs/Network/ports.c
@@ -178,13 +178,18 @@ NetworkPort_t gPort3 = {
NetworkPort_t *Network_getPort(int i)
{
- switch(i)
+ switch (i)
{
- default: return &gPort0;
- case 0: return &gPort0;
- case 1: return &gPort1;
- case 2: return &gPort2;
- case 3: return &gPort3;
+ default:
+ return &gPort0;
+ case 0:
+ return &gPort0;
+ case 1:
+ return &gPort1;
+ case 2:
+ return &gPort2;
+ case 3:
+ return &gPort3;
}
}
#ifndef CXX_SIMULATOR
OpenPOWER on IntegriCloud