adam
Я бы не сказал, что раст хороший для этого пример
Berkus
Berkus
давайте рассмотрим JUnit
Anton
Berkus
Я имел в виду именно асинхронщину
асинхронные процессы тестировать без детерминизма невозможно, а если они детерминистичные, их можно свести к синхронным, то есть см все со словом #[test] перед функцией
Cuno
Асинхронщина обычно достаточно легко превращается в синхронщину. Тестирование чего-то многопоточного это задача не для юнит тестов.
Cuno
*конечно зависит, что за асинхронщину вы имели в виду
Anton
Погодите, я не про многопоточность, а про логическую асинхронность
Alex
почему это ее нельзя протестировать?
Berkus
Berkus
коллизия трех объектов с рандомной скоростью требует рандомного же результата
Berkus
Alex
коллизии тестами не ловятся если не детерминированные.
Berkus
Это тогда детерминистично всё должно быть?
Berkus
в тестах - да
Berkus
итак, в тестах ты тестируешь детерминистичный сабсет
Berkus
то есть синхронные процессы с точно заданным инпутом и аутпутом
Anton
А с таймерами бывают тесты?
Anton
Которые запускают симуляцию и через какое-то время проверяют, что изменилось
Berkus
бывают юнит. функциональные, интеграционные и енд-ту-енд тесты
Berkus
гоняние симуляций это скорее к енд-ту-енд
Anonymous
просто создаешь тред внутри #[test], нет?
Berkus
#[test] это больше для юнит тестов и функциональных
Alex
в чем разница end-to-end и интеграционных тогда?
Alex
я то думал что end-to-end внешку дергает
Igor
https://ru.hexlet.io/blog/posts/how-to-test-code
Нави
Всем добра. Хочу узнать, вот в линуксе можно подгружать use std::process::Command; чтобы пользоваться терминальными командами. А в виндовсе точно так же или другой std существует ?
Alex
adam
adam
Alex
если оно только под линупс, то там будет #cfg(linux) даже не скомпилится на винде.
Alex
вот именно, в этом очень большой плюс раста
պլհկ
если не юзать std::os::*
Нави
Понятно, под виндовс ещё не программил, вот и встречаю на таких вопросах. Точно так же программист, как и для линукса )))
Нави
Т9 весь текст изворачивает здесь
adam
Нави
Какой сегодня год?
Ну эта клавиатура на андроиде, я конечно неправильно т9 обзываю, да все равно считает, что знает, что хочу высказать)
Alex
выглядит даже осмысленно как то
Нави
)
Alex
Berkus
Маjко
Я тож не вижу большой разницы
Berkus
С телефона неудобно писать, потом
պլհկ
https://github.com/rust-lang/rfcs/pull/1598
Dmitry
Berkus
глюпый вопрос, как в растовской строке представить такой символ - http://www.fileformat.info/info/unicode/char/00a0/index.htm
adam
.push('\u{00A0}');
?
Sherzod
0x00A0 as char
Маjко
Маjко
Sherzod
Berkus
Berkus
Berkus
Маjко
Sherzod
Уверен, мой метод работает быстрее :P
Sherzod
Не нужно парсить строковый литерал
П.С. Тупонул
Berkus
Маjко
Sherzod
Окей, я не прав
adam
Нужно на годболте проверить, кстати.
adam
adam
Sherzod
Хм, обращение по адресу против числовой константы
分解物質
Alex
分解物質
Berkus
分解物質
чё в rdi непонятно
Berkus
адрес
adam
На nightly вообще разницы не видно
kitsu
что за упоротый ллвм, чому он бесполезные джампы генерит?
分解物質
адрес
почему в двух случаях настолько по разному?