#124 closed ожидается проверка (задача сдана)
Home Assigment #4: Lazy String
Reported by: | Alexander | Owned by: | Vladimir Rutsky |
---|---|---|---|
Priority: | проверка | Milestone: | |
Component: | HA#4 lazy_string | Version: | 1.0 |
Keywords: | Cc: |
Description
Здравстуйте, Владимир.
Прошу проверить задание 4.
С уважением,
Александр
Change History (23)
comment:1 Changed 7 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 7 years ago by
Tested revision 717 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | WARNING | |||
run | SUCCESS | |||
valgrind | SUCCESS | |||
gcc62-asan | WARNING | |||
asan | SUCCESS | |||
clang-san | SUCCESS | |||
san | SUCCESS | |||
Common header used in some tests: common.h
comment:4 Changed 7 years ago by
Tested revision 718 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | WARNING | |||
run | SUCCESS | |||
valgrind | SUCCESS | |||
gcc62-asan | WARNING | |||
asan | SUCCESS | |||
clang-san | SUCCESS | |||
san | SUCCESS | |||
Common header used in some tests: common.h
comment:5 Changed 7 years ago by
Tested revision 719 by bzikadze.aleksandr.
Main tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | FAILURE | |||
gcc62 | FAILURE | |||
gcc62 | FAILURE | |||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
Common header used in some tests: common.h
comment:6 Changed 7 years ago by
Tested revision 720 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | SUCCESS | |||
valgrind | FAILURE | exit code 1 | ||
gcc62-asan | SUCCESS | |||
asan | FAILURE | exit code 1 | ||
clang-san | SUCCESS | |||
san | FAILURE | exit code 1 | ||
Common header used in some tests: common.h
comment:7 Changed 7 years ago by
Tested revision 721 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | SUCCESS | |||
valgrind | FAILURE | exit code 1 | ||
gcc62-asan | SUCCESS | |||
asan | FAILURE | exit code 1 | ||
clang-san | SUCCESS | |||
san | FAILURE | exit code 1 | ||
Common header used in some tests: common.h
comment:8 Changed 7 years ago by
Tested revision 722 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | SUCCESS | |||
valgrind | FAILURE | exit code 1 | ||
gcc62-asan | SUCCESS | |||
asan | FAILURE | exit code 1 | ||
clang-san | SUCCESS | |||
san | FAILURE | exit code 1 | ||
Common header used in some tests: common.h
comment:9 Changed 7 years ago by
Tested revision 723 by bzikadze.aleksandr.
Main tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | FAILURE | |||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
Common header used in some tests: common.h
comment:10 Changed 7 years ago by
Tested revision 724 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | FAILURE | |||
Common header used in some tests: common.h
comment:11 Changed 7 years ago by
Tested revision 725 by bzikadze.aleksandr.
Main tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
Common header used in some tests: common.h
comment:12 follow-up: 16 Changed 7 years ago by
Не могли бы вы пояснить, что делает данный тест? Насколько я понимаю, пытается спровоцироваться исключение, то есть тестируется строгая гарантия безопасности исключений?
comment:13 Changed 7 years ago by
Tested revision 740 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | FAILURE | |||
Common header used in some tests: common.h
comment:14 Changed 7 years ago by
Tested revision 741 by bzikadze.aleksandr.
Smoke tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | FAILURE | |||
Common header used in some tests: common.h
comment:15 Changed 7 years ago by
Tested revision 742 by bzikadze.aleksandr.
Main tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
Common header used in some tests: common.h
comment:16 Changed 7 years ago by
Replying to bzikadze.aleksandr:
Не могли бы вы пояснить, что делает данный тест? Насколько я понимаю, пытается спровоцироваться исключение, то есть тестируется строгая гарантия безопасности исключений?
Да, здесь эмулируется, что не удалось аллоцировать память и проверяется, что при этом строка не поменялась (т.е. строгая гарантия безопасности исключений).
Часть с assign_throws
можно игнорировать, она ничего не делает.
comment:17 Changed 7 years ago by
Tested revision 743 by bzikadze.aleksandr.
All tests passed. Good job!
comment:18 Changed 7 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:19 Changed 7 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Tested revision 743 by bzikadze.aleksandr.
Main tests
test | stage | result | info | log |
---|---|---|---|---|
gcc62 | SUCCESS | |||
run | FAILURE | exit code 139 | ||
Common header used in some tests: common.h
comment:20 Changed 7 years ago by
Tested revision 900 by bzikadze.aleksandr.
All tests passed. Good job!
comment:21 Changed 7 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:22 Changed 7 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
Замечания:
- Я рекомендую перенести
;
на отдельную строку, т.к. иначе ваш код можно интерпретировать как либо случайно поставленная;
, либо как блокwhile
с неправильным отступом:
static size_t length (const char_type* s) { auto p = s; //while (*p++); while (*p++) ; return (size_t)(p - s - 1); } Также я бы рекомендовал упросить реализацию, избавившись от арифметики указателей. Ваш подход корректен, но не так понятен, как, например: {{{ size_t len = 0; while (s[len++]) ; return len; }}} такой код, на мой взгляд, проще и более читаем/поддерживаем (можно даже избавиться от постфиксного `len++`, тогда этот код будет практически "псевдокодом", который сможет прочитать любой инженер, даже без знаний C/C++, но я бы этого делать не стал). Решение зачтено.
Tested revision 716 by bzikadze.aleksandr.
Smoke tests
test
stage
result
info
log
run_smoke_test.cpp
gcc62
run_smoke_test-gcc62.log
run
valgrind
run_smoke_test-valgrind.log
gcc62-asan
run_smoke_test-gcc62-asan.log
asan
clang-san
run_smoke_test-clang-san.log
san
Common header used in some tests: common.h