Skip to content

Commit e0cb58b

Browse files
committed
Make includeorder.py handle #ifndef
1 parent 3808e0e commit e0cb58b

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

wpiformat/wpiformat/includeorder.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,10 @@ def header_sort(self, config_file, lines_list, file_name, start, end,
228228

229229
i = start
230230
while i < end:
231-
if "#ifdef" in lines_list[i]:
231+
if "#ifdef" in lines_list[i] or "#ifndef" in lines_list[i]:
232232
ifdef_count = 1
233233
for j in range(i + 1, end):
234-
if "#ifdef" in lines_list[j]:
234+
if "#ifdef" in lines_list[j] or "#ifndef" in lines_list[j]:
235235
ifdef_count += 1
236236
elif "#endif" in lines_list[j]:
237237
ifdef_count -= 1
@@ -371,6 +371,7 @@ def run_pipeline(self, config_file, name, lines):
371371
# Write lines from beginning of file to headers
372372
i = 0
373373
while i < len(lines_list) and ("#ifdef" not in lines_list[i] and
374+
"#ifndef" not in lines_list[i] and
374375
"#include" not in lines_list[i]):
375376
i += 1
376377
output_list = lines_list[0:i]

wpiformat/wpiformat/test/test_includeorder.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,4 +546,20 @@ def test_includeorder():
546546
"#endif" + os.linesep)
547547
test.add_latest_input_as_output(True)
548548

549+
# Ensure #ifndef is handled properly
550+
test.add_input("./Test.h",
551+
"#ifndef __APPLE__" + os.linesep + \
552+
"#include <util.h>" + os.linesep + \
553+
"#elif !defined(_WIN32)" + os.linesep + \
554+
"#include <pty.h>" + os.linesep + \
555+
"#endif" + os.linesep)
556+
test.add_latest_input_as_output(True)
557+
558+
# Ensure #ifndef is handled properly
559+
test.add_input("./Test.h",
560+
"#ifndef _WIN32" + os.linesep + \
561+
"#include <pty.h>" + os.linesep + \
562+
"#endif" + os.linesep)
563+
test.add_latest_input_as_output(True)
564+
549565
test.run(OutputType.FILE)

0 commit comments

Comments
 (0)