Skip to content

okm-lab/sc21-testing-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

sc21-testing-script

НСбольшой скрипт, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ВозмоТности

  1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ .c Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ„Π»Π°Π³Π°ΠΌΠΈ -Wall -Wextra -Werror. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ошибок происходит ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· Ρ„Π»Π°Π³ΠΎΠ² ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ сообщСниС ΠΎΡ‚ компилятора;
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° с использованиСм cpplinter ΠΈ chhpcheck со всСми Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π»Π°Π³Π°ΠΌΠΈ;
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ с использованиСм leaks ΠΏΡ€ΠΈ запускС всСх тСстов;
  4. АвтоматичСскоС тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСстированиС

Для автоматичСского тСстирования трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с тСстами (любоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, любоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅) ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

___TESTVAL___
*Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅*
___TESTANS___
*ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅*
___TESTEND___

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСстов:
image
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСстирования:
image

ИспользованиС

1) Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипт Π² project/src
2) ./autoctest.sh *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹*.c
ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° с тСстами, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹*.test
НапримСр, для Ρ„Π°ΠΉΠ»Π° file.c прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» с тСстами Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ file.test

Π’Π°ΠΆΠ½ΠΎ

  1. ВСстированиС (ΠΏΠΎΠΊΠ°) Π½Π΅ провСряСт отсутствиС ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ пСрСносов строк Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (ΠΏΠΎΠΊΠ°) создаСт Ρ„Π°ΠΉΠ»Ρ‹ .out с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, file.out для file.c) ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ сразу Π΅Π³ΠΎ удаляСт;
  3. Π’ ΠΊΠΎΠ½Ρ†Π΅ тСстового Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ‚ΠΎΡΡ‚ΡŒ пустая строка, Π±Π΅Π· Π½Π΅Ρ‘ тСст Π½Π΅ считаСтся;
  4. На экзамСнСн скрипта Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ всС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ;
  5. ΠœΠ΅ΠΆΠ΄Ρƒ тСстами Π² Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ любоС количСство пустых строк, ΠΌΠ½Π΅ показалось ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСство Π² 3 строки, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ сСбя;
  6. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСст, достаточно ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ любой символ ΠΊ строкС ___TESTVAL___;
  7. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ скрипт ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ for f in *.c; do ./autoctest.sh $f; done

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages