summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4299 from mwichmann/doc/uguide-pseudoHEADmasterWilliam Deegan2023-05-174-81/+81
|\ | | | | Tweak pseudo-builder in user guide
| * Minor update to scanner descriptionWilliam Deegan2023-05-171-4/+7
| |
| * Put back Builder entityref in UG add-method [skip appveyor]Mats Wichmann2023-05-081-6/+11
| | | | | | | | | | | | | | | | | | | | Entity reference &Builder;s was turned to plain text in a few places. Restored, this time using existing pluralized entity name &Builders;. Also twiddled a little wording in same User Guide chapter. Signed-off-by: Mats Wichmann <mats@linux.com>
| * UGuide; tweak Scanner intro again [skip appveyor]Mats Wichmann2023-02-233-6/+13
| | | | | | | | | | | | | | Put back the previous wording, now with glossary entry that also defines the plural form Scanners (there is still no actual glossary) Signed-off-by: Mats Wichmann <mats@linux.com>
| * User Guide fixups [skip appveyor]Mats Wichmann2023-02-222-33/+33
| | | | | | | | | | | | | | | | | | | | | | For add-method chapter, plus the following scanners chapter, normalize usage a little: the first mention in any given section uses the marked-up form &Builder; and &Scanner;, which contain index references, subsequent ones do not. Only references to Scanner as a concept are capitalized, things like "scanner function" were left alone. Signed-off-by: Mats Wichmann <mats@linux.com>
| * Restore markup of Builder in PR 4299 [skip appveyor]Mats Wichmann2023-02-212-6/+6
| | | | | | | | | | | | | | | | The add-method chapter now has entity references to &Builder; back. The markup for &Builder; is changed from <classname> to <indexterm>, as used it's a concept, and there is no actual class named Builder anyway. Signed-off-by: Mats Wichmann <mats@linux.com>
| * Tweak pseudo-builder in user guide [skip appveyor]Mats Wichmann2023-02-111-44/+29
| | | | | | | | | | | | Minor fiddling - example format, headers, wordings tweaks Signed-off-by: Mats Wichmann <mats@linux.com>
* | Merge pull request #4355 from mwichmann/doc/manstuffWilliam Deegan2023-05-176-91/+134
|\ \ | | | | | | Doc fiddling - Alias, Action, Decider [skip appveyor]
| * | Doc fiddling - Alias, Action, Decider [skip appveyor]Mats Wichmann2023-05-166-91/+134
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | * Signature of Alias() now matches implementation to avoid problem if kwargs used * Case of Alias with no targets is mentioned in text (was already shown in example) * Now mention that Action([item]) does not return a ListAction - previously implied that if arg was a list, a ListAction was *always* returned * Mention default Decider and sort the names of available decider functions, and add version marking. * Minor fiddling with Alias.py docstrings. Signed-off-by: Mats Wichmann <mats@linux.com>
* | Merge pull request #4340 from mwichmann/test/runtest-pathlibWilliam Deegan2023-05-0921-294/+364
|\ \ | | | | | | Use pathlib in runtest
| * | add RELEASE entry for runtest changes [skip ci]Mats Wichmann2023-05-081-1/+5
| | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * | runtest: add additional test of os.sep usageMats Wichmann2023-05-081-0/+78
| | | | | | | | | | | | | | | | | | | | | Make sure test lists with "foreign" separator still cause the correct discovery/usage. Signed-off-by: Mats Wichmann <mats@linux.com>
| * | Use pathlib in runtestMats Wichmann2023-05-0819-293/+281
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the past, there have been some mismatches between how tests are specified and how they are found. testlist files, excludelist files and command-line specifications should be agnostic to operating system conventions. For example, typing "runtest.py foo/bar" on windows will produce paths like foo/bar\test.py, which is hard to match and painful to read, it should obviously match discovered foo\bar\test.py. Test information should be output using the native path separator for consistency. Using pathlib lets these be normalized - stored in a common format and output in the expected format. Adding this normalization of course broke some tests, which either intentionally or through omission expected some portion of a path to be UNIX-style. Specifically these five: test\runtest\baseline\fail.py test\runtest\baseline\no_result.py test\runtest\simple\fail.py test\runtest\simple\no_result.py test\runtest\simple\pass.py test\runtest\testargv.py This was fixed and a general cleanup/reformat performed on the runtest tests. Signed-off-by: Mats Wichmann <mats@linux.com>
* | Merge pull request #4307 from mwichmann/bug/msys-pythonWilliam Deegan2023-05-044-1/+15
|\ \ | | | | | | Fix Configure tests on win32/msys2
| * \ Merge branch 'master' into bug/msys-pythonWilliam Deegan2023-05-03307-5002/+6122
| |\ \ | |/ / |/| |
* | | Merge pull request #4336 from mwichmann/maint/validateOptionsWilliam Deegan2023-05-035-112/+186
|\ \ \ | | | | | | | | Minor cleanup ValidateOptions doc/code/test
| * \ \ Merge branch 'master' into maint/validateOptionsWilliam Deegan2023-05-03264-2930/+2950
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #4346 from mwichmann/maint/cheap-typingWilliam Deegan2023-05-03260-2893/+2897
|\ \ \ \ | | | | | | | | | | Add some cheap return and parameter annotations
| * \ \ \ Merge branch 'master' into maint/cheap-typingWilliam Deegan2023-05-033-18/+22
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge pull request #4349 from mwichmann/maint/base64-bytesWilliam Deegan2023-05-032-5/+7
|\ \ \ \ \ | | | | | | | | | | | | Change bas64 decodestring -> decodebytes
| * | | | | Change bas64 decodestring -> decodebytesMats Wichmann2023-05-022-5/+7
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former was an alias in Python 3, deprecated since 3.1. Use the replacement. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Merge pull request #4348 from mwichmann/maint/unneeded-callWilliam Deegan2023-05-022-13/+15
|\ \ \ \ \ | | | | | | | | | | | | Eliminate pylint warning on direct use of __call__
| * | | | | Eliminate pylint warning on direct use of __call__Mats Wichmann2023-05-022-13/+15
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C2801: Unnecessarily calls dunder method __call__. Invoke instance directly. These were all in the same file (docbook tool) Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | Add some cheap return and parameter annotationsMats Wichmann2023-05-01260-2893/+2897
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use: https://github.com/JelleZijlstra/autotyping to add "safe" return annotations. Where a parameter has a default value that is an obvious scalar type (bool, int, str, etc.) add those annotations as well. Also fixed two small bugs that popped up when sanity-checking with mypy. One in FortranCommon, where a return had been previously annotated to be a tuple of Action, which should be ActionBase - Action is the factory function, not the base class. The other was a typo in the error raised in _add_cppdefines - the message was formatted with the value of "define" which should have been "defines". Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #4339 from mwichmann/maint/ci-tweaksWilliam Deegan2023-04-213-2/+5
|\ \ \ \ | | | | | | | | | | Drop coverage from CI for now
| * | | | Put back the setup-mingw [skip appveyor]Mats Wichmann2023-04-151-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test ran through the two mingw tests in the experimental ninja tests, but hung up later - apparently on test/ninja\ninja_command_line.py. Try putting the install step back in. Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | Drop coverage from CI, don't add mingwMats Wichmann2023-04-143-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Experiment: coverage build broke because "codecov" package removed from PyPI on 12 Apr 2023. We'll need to re-craft a coverage build, for now just don't set COVERAGE true for any appveyor build (leaving the framework in place to copy to the new setup). Experiment: the setup of mingw for the github action for experimental features on Windows is failing for unknown reason ("error code 1"), possibly sourceforge failure, possibly something else. But - we shouldn't need to install mingw into an environment that is already provisioned with mingw. Try that. Apparently it's technically a syntax error for setup.cfg lines (that are not continuation lines) to be indented - had one tool gripe about this, which was made happy by dedenting one line. Including that in this PR, just because... Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Merge pull request #4337 from jcbrill/jbrill-mscommon-readmeWilliam Deegan2023-04-211-18/+26
|\ \ \ \ \ | |/ / / / |/| | | | MSCommon: minor updates to README.rst [skip ci]
| * | | | MSCommon: minor updates to README.rst [skip ci]Joseph Brill2023-04-141-18/+26
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Fix typographical error (missing word). * Add lines between literal block markers and indented text. * Expand build tools lists in Visual Studio table.
| * | | Minor cleanup ValidateOptions doc/code/testMats Wichmann2023-04-145-113/+186
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some nearby things in Main.py as well: - docstrings polished a bit, minor linting - move the list of predefined SConstruct file names into a constant defined at the top of the file, so it's a little less hidden, in the unlikely case of future changes. Manpage text and example revised a bit. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | Merge pull request #4329 from mwichmann/bug/scan-dict-convertWilliam Deegan2023-03-264-45/+141
|\ \ \ | | | | | | | | Fix dictifyCPPDEFINES handling of macro strings
| * | | Added blurb to RELEASE.txtWilliam Deegan2023-03-261-1/+5
| | | |
| * | | dictify_CPPDEFINES: also handle single tupleMats Wichmann2023-03-222-22/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Single-tuple CPPDEFINES was not handled. * Add some more unit tests. * Add some comments - that we need to keep in sync with processDefines, but don't actually call it (the routine *could* be rewritten to process the result of processDefines instead of the bare CPPDEFINES, but currently doesn't do that). Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | Fix dictifyCPPDEFINES handlong of macro stringsMats Wichmann2023-03-213-37/+91
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPPDEFINES can contain name=value strings, either a single one, or one or more in a sequence type. After conversion (subsequent Append/Prepend to CPPDEFINES), these will be stored as tuples, but it is possible to hit cases where the type conversion has never been triggered. The C Scanner has its own routine to process CPPDEFINES, and missed these cases, which are now handled. The testcases in issue 4193 which showed this problem are now included in the C scanner unit tests, and the test for dictifyCPPDEFINES is expanded to check these two forms. Fixes #4193 Signed-off-by: Mats Wichmann <mats@linux.com>
* | | Updates post 4.5.2 releaseWilliam Deegan2023-03-216-19/+59
| | |
* | | Merge pull request #4328 from SCons/rel_4.5.2William Deegan2023-03-215-54/+21
|\ \ \ | | | | | | | | Release 4.5.2
| * | | Updates for 4.5.2. Added zipapp package to scons-locals4.5.2rel_4.5.2William Deegan2023-03-211-8/+0
| | | |
| * | | Updates for 4.5.2. Added zipapp package to scons-localsWilliam Deegan2023-03-212-5/+6
| | | |
| * | | Updates to CHANGES.txt and RELEASE.txt for 4.5.2 ReleaseWilliam Deegan2023-03-212-38/+12
| | | |
| * | | Regenerated docs for 4.5.2 release.William Deegan2023-03-211-3/+3
|/ / /
* | | Merge pull request #4308 from mwichmann/doc/testfw-updateWilliam Deegan2023-03-192-39/+140
|\ \ \ | | | | | | | | Update test framework tutorial
| * | | Update test framework tutorial [skip appveyor]Mats Wichmann2023-02-262-39/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few minor edits, then a section added at the end mith more hints on things that are useful when writing both kinds of tests. Added an initial .editorconfig - this was useful to keep a formatting style for the test-framework.rst while tweaking it. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #4322 from mwichmann/bug/ParseConfig-CPPDEFINESWilliam Deegan2023-03-124-10/+72
|\ \ \ \ | | | | | | | | | | Fix problem when MergeFlags adds to existing CPPDEFINES
| * | | | ParseConfig test fixMats Wichmann2023-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | Fix problem when MergeFlags adds to existing CPPDEFINESMats Wichmann2023-03-094-10/+72
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MergeFlags has a post-processing step if the *unique* flag evaluates True which loops through and removes the duplicates. This step uses slicing (for v in orig[::-1]), which fails if the item being cleaned is a deque - which CPPDEFINES can now be. It would also cause the deque to be replaced with a list. Detect this case and handle separately. Note the same post-processing step assures each modified object will be replaced - Override(parse_flags=xxx) silently counted on this so it does not end up sharing variables with the overridden env. This situation remains, and is accounted for by the patch. Unit test and e2e tests are extended to check that MergeFlags can now add correctly, and that Override leaves the variables independent, not shared. Fixes #4231 Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #4318 from mgorny/wheel-depWilliam Deegan2023-03-073-5/+6
|\ \ \ \ | | | | | | | | | | Remove redundant wheel dep from pyproject.toml
| * | | | Remove redundant wheel dep from pyproject.tomlMichał Górny2023-03-073-5/+6
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the redundant `wheel` dependency, as it is added by the backend automatically. Listing it explicitly in the documentation was a historical mistake and has been fixed since, see: https://github.com/pypa/setuptools/commit/f7d30a9529378cf69054b5176249e5457aaf640a Signed-off-by: Michał Górny <mgorny@gentoo.org>
* | | | Post release changesWilliam Deegan2023-03-077-24/+68
| | | |
* | | | Merge pull request #4317 from SCons/rel_4.5.1William Deegan2023-03-065-66/+19
|\ \ \ \ | | | | | | | | | | Rel 4.5.1
| * | | | 4.5.1 release items4.5.1rel_4.5.1William Deegan2023-03-062-11/+11
| | | | |