GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu vygenerovat pokrytí kódem pro balíčky Swift v systému Linux nebo OS X?

V tuto chvíli si nejsem vědom nástroje, který by přímo podporoval Linux. Za to, co stojí za to, jsme stále spokojeni s naším řešením pokrytí kódu, které podporuje náš webový rámec a HTTP server běžící na Linuxu i macOS.

Náš projekt Kitura založený na Swift Package Manager využívá Travis CI pro nepřetržitou integraci. Každé sestavení zkompiluje a spustí testy na obě Linux a macOS. Spouštíme také noční sestavení na Travis CI, které generuje údaje o pokrytí, které se pak nahrávají na codecov.io, aby se generovaly zprávy, jako je tento.

Pod krytem se spustí skript sestavení swift package generate-xcodeproj a poté xcodebuild test s povoleným pokrytím kódem. Pokrytí kódu běží pouze v prostředí sestavení macOS, které obsahuje xcodebuild . Vzhledem k tomu, že naše cesty kódu pro Linux a macOS jsou velmi podobné, statistiky pokrytí jsou pro naše účely dostačující a stále provádíme testy nezávisle pro každý operační systém.


To je skutečně možné předáním --enable-code-coverageswift test

$ swift test --enable-code-coverage

Tím se vygeneruje .xctest svazek v .build/x86_64-unknown-linux/debug/ a soubor profdata v .build/x86_64-unknown-linux/debug/codecov/ na Linuxu, který pak můžete předat do llvm-cov vygenerovat zprávu.

např.

$ llvm-cov report .build/x86_64-unknown-linux/debug/PredicatePackageTests.xctest -instr-profile=.build/x86_64-unknown-linux/debug/codecov/default.profdata -use-color

Což vygeneruje zprávu, jako je následující zpráva:

Viz llvm-cov report --help pro více informací může dokonce vytvářet HTML zprávy.


Linux
  1. Hledání balíčků pro Kali Linux

  2. Jak mohu zadat ikonu s RELATIVNÍ cestou pro soubor se záznamem plochy Linux?

  3. Jak kódovat modul jádra Linuxu?

  1. Jak mohu obnovit zastavenou úlohu v Linuxu?

  2. Jak může být klíč Magic SysRq nebezpečný pro uživatele linuxu?

  3. Jak mohu vyhledat uživatelské jméno podle id v linuxu?

  1. Jak sestavit rpm balíčky

  2. Linux - Jak zjistím, co čeká na IO disku

  3. Jak generovat data netflow v linuxu