Commit Graph

8 Commits

Author SHA1 Message Date
Ben Barham
53c4e8f5e9 [Test] Remove unnecessary PYTHONIOENCODING
PYTHONIOENCODING is already specified in `lit.cfg`. The change that
added this also added the `<`, which is what actually made this pass -
PYTHONIOENCODING only overrides the encoding of stdin/stdout/stderr.
2023-08-30 13:39:35 -07:00
Alexis Laferrière
484eef936f [Test] Force unicode_filename JSON verification to use UTF-8 2023-07-18 07:10:25 -07:00
Alexis Laferrière
e9ddec9981 [Test] Keep output of %validate-json in unicode_filename.swift
Preserve the output to understand failures on older Linux bots.
2023-07-17 15:48:59 -07:00
swift-ci
4f3fe50ed9 Merge pull request #67303 from artemcm/FixScanDepsTopLevelTest
Move code out of top-level in 'ScanDependencies/unicode_filename.swift'
2023-07-14 11:37:28 -07:00
Artem Chikin
ee85f6f6e3 Move code out of top-level in 'ScanDependencies/unicode_filename.swift' 2023-07-14 09:48:59 -07:00
Daniel Rodríguez Troitiño
70376a15f0 [ScanDependencies] Fix JSON generation under certain circunstances. (#67246)
The code of `ScanDependencies.cpp` was creating invalid JSON since #66031
because in the case of having `extraPcmArgs` and `swiftOverlayDependencies`,
but not `bridgingHeader`, a comma will not be added at the end of
`extraPcmArgs`, creating an invalid JSON file. Additionally that same PR
added a trailing comma at the end of the `swiftOverlayDependencies`, which
valid JSON does not allow, but that bug was removed in #66366.

Both problems are, however, present in the 5.9 branch, because #66936
included #66031, but not #66366.

Besides fixing the problem in `ScanDependencies.cpp` I modified every test
that uses `--scan-dependencies` to pass the produced JSON through
Python's `json.tool` in order to validate proper JSON is produced. In
most cases I was able to pipe the output of the tool into `FileCheck`,
but in some cases the validation is done by itself because the checks
depend on the exact format generated by `--scan-dependencies`. In
a couple of tests I added a call to `FileCheck` that seemed to be
missing.

Without these changes, two tests seems to be generating invalid JSON in
my machine:

- `ScanDependencies/local_cache_consistency.swift` (which outputs `Expecting ',' delimiter: line 525 column 11 (char 22799)`)
- `ScanDependencies/placholder_overlay_deps.swift`
2023-07-12 14:19:20 -07:00
Saleem Abdulrasool
3a41d33277 test: avoid windows path separators in test
Use the POSIX path separators for the test, a subsequent change will add
an explicit test for windows path separators when fixing the JSON
emission.
2021-12-25 08:10:18 -08:00
Artem Chikin
d7a6ded7aa [Dependency Scanner] Do not escape strings in the scanner output
When outputting strings for things like filenames, using `write_escaped` will result in Unicode characters being outputted with a full 3-character-octal or hex escape. Clients which expect a UTF-8 JSON output will not be able to parse such escape sequences.
2020-10-19 17:01:49 -07:00