Bug Report: diagtool not found on Windows
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Bug Report: diagtool not found on Windows
Summary
On Windows systems, CodeChecker fails to find the diagtool binary because it searches for diagtool instead of diagtool.exe.
CodeChecker version
- Current repository state (commit: ce5ed250)
To Reproduce
Steps to reproduce the behaviour:
- Install CodeChecker on Windows
- Run analysis with ClangTidy analyzer
- The
get_diagtool_bin()function inanalyzer.pyfails to locatediagtool.exe
Root Cause
In analyzer/codechecker_analyzer/analyzers/clangtidy/analyzer.py, line 153:
diagtool_bin = clang_tidy_bin.parent / 'diagtool'
The code hardcodes the binary name as diagtool without considering the .exe extension required on Windows platforms.
Expected Behaviour
The function should:
- Look for
diagtool.exeon Windows (sys.platform == 'win32') - Look for
diagtoolon Unix-like systems - Similarly handle versioned binaries like
diagtool-14.exe
Affected File
analyzer/codechecker_analyzer/analyzers/clangtidy/analyzer.py - get_diagtool_bin() function
Fix
The fix adds platform-specific binary name handling:
# Find diagtool next to the clang binary.
diagtool_name = 'diagtool.exe' if sys.platform == 'win32' else 'diagtool'
diagtool_bin = clang_tidy_bin.parent / diagtool_name
if diagtool_bin.exists():
return diagtool_bin
# Sometimes diagtool binary has a version number in its name: diagtool-14.
version = ClangTidy.get_binary_version()
if version:
versioned_name = f'diagtool-{version.major}'
if sys.platform == 'win32':
versioned_name += '.exe'
if diagtool_bin.with_name(versioned_name).exists():
return diagtool_bin.with_name(versioned_name)
Desktop (please complete the following information)
- OS: Windows 11 Pro
- Platform: win32
Additional Context
- This issue affects all Windows users using ClangTidy analyzer
- The same pattern should be checked for any other binary lookups in the codebase
- The
sys.platform == 'win32'check is already used in other parts of the codebase for Windows-specific handling
- Lingua principale
- Python
- Stelle
- 2.6k
- Fork
- 494
- Merge medio
- 3g 1h
- PR unite (30g)
- 20
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Ericsson/codechecker
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
Ericsson/codechecker#5129 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Ericsson/codechecker#5110 ·
I maintainer di solito rispondono entro 1 giorno
-
CodeChecker 6.29+ ignores locale settings and forces UTF-8Forse già presa @ump45nose l’ha presa 6 giorni fa. Apertabazel :jigsaw: bug :bug: CLI :computer: good first issue good to go :rocket: usability :+1:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Ericsson/codechecker#5121 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Upgrade psycopg versionApertagood to go :rocket:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Ericsson/codechecker#5118 ·
I maintainer di solito rispondono entro 1 giorno
-
SQLAlchemy deprecation warning in CIForse già presa @Anandb71 l’ha presa 2 giorni fa. Apertagood to go :rocket:
Difficoltà 1/5 1-3 ore Idoneità per principianti 25/100
Ericsson/codechecker#5116 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Ericsson/codechecker
Issue simili
-
first
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AcademySoftwareFoundation/rmtc#54 · 1 commento ·
-
feature/cohorts feature/feature-flags team/feature-flags
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
License examples/ as MITForse già presa @PGrayCS l’ha presa oggi. Apertadocumentation enhancement example good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
speedyk-005/yasbd-lib#383 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
interactions-py/interactions.py#1827 ·
-
Managed start can fail when OpenVMM reads its control capability before NVX writes itForse già presa @ppenna l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno