Skip to content

Commit

Permalink
Refactor temporary test directory creation
Browse files Browse the repository at this point in the history
Now the includeorder, includeguard, and config tests use a temporary
directory with their own .styleguide files instead of using the
wpiformat .styleguide file. This allowed massively simplifying
wpiformat's .styleguide file.
  • Loading branch information
calcmogul committed Jul 6, 2023
1 parent 9d06be3 commit 0f722a0
Show file tree
Hide file tree
Showing 8 changed files with 287 additions and 229 deletions.
28 changes: 1 addition & 27 deletions .styleguide
Original file line number Diff line number Diff line change
@@ -1,33 +1,7 @@
cppHeaderFileInclude {
\.h$
\.hpp$
\.inc$
}

cppSrcFileInclude {
\.cpp$
}

# Extra "/" used by unit tests
generatedFileExclude {
/cpplint\.py$
cpplint\.py$
}

modifiableFileExclude {
\.png$
}

licenseUpdateExclude {
Excluded\.h$
}

# Ordered this way to ensure tests find longest match
includeGuardRoots {
wpiformat/
wpiformat/Test/
}

# Used by unit tests
includeProject {
^ctre/
}
3 changes: 1 addition & 2 deletions .styleguide-license
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
/*{padding}Company Name{padding}*/
/* Copyright (c) {year} Company Name. All Rights Reserved.{padding}*/
// Copyright (c) {year} FIRST
17 changes: 16 additions & 1 deletion wpiformat/wpiformat/test/test_cidentlist.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import os

from .test_tasktest import *
from .test_tempdir import *
from wpiformat.cidentlist import CIdentList


Expand Down Expand Up @@ -494,4 +495,18 @@ def test_cidentlist():
True,
)

test.run(OutputType.FILE)
with OpenTemporaryDirectory():
with open(".styleguide", "w") as file:
file.write(
r"""cppHeaderFileInclude {
\.h$
\.hpp$
\.inc$
}
includeProject {
^ctre/
}
"""
)
test.run(OutputType.FILE)
58 changes: 40 additions & 18 deletions wpiformat/wpiformat/test/test_config.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,45 @@
import os

from .tempdir import *
from wpiformat.config import Config


def test_config():
config_file = Config(os.path.abspath(os.getcwd()), ".styleguide")
assert config_file.is_modifiable_file(
"." + os.sep + "wpiformat" + os.sep + "javaguidelink.png"
)
assert config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "wpiformat" + os.sep + "cpplint.py"
)
with OpenTemporaryDirectory():
with open(".styleguide", "w") as file:
file.write(
r"""cppHeaderFileInclude {
\.h$
\.inc$
}
cppSrcFileInclude {
\.cpp$
}
# Extra "/" used by unit tests
generatedFileExclude {
/cpplint\.py$
}
modifiableFileExclude {
\.png$
}
"""
)

config_file = Config(os.path.abspath(os.getcwd()), ".styleguide")
assert config_file.is_modifiable_file(
"." + os.sep + "wpiformat" + os.sep + "javaguidelink.png"
)
assert config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "wpiformat" + os.sep + "cpplint.py"
)

assert not config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "diff_cpplint.py"
)
assert not config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "update_cpplint.py"
)
assert not config_file.is_modifiable_file(
"." + os.sep + "wpiformat" + os.sep + "license.txt"
)
assert not config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "diff_cpplint.py"
)
assert not config_file.is_generated_file(
"." + os.sep + "wpiformat" + os.sep + "update_cpplint.py"
)
assert not config_file.is_modifiable_file(
"." + os.sep + "wpiformat" + os.sep + "license.txt"
)
Loading

0 comments on commit 0f722a0

Please sign in to comment.