adam
Я бы не сказал, что раст хороший для этого пример
Berkus
Я бы не сказал, что раст хороший для этого пример
да, в нем слишком легко писать тесты
Berkus
давайте рассмотрим JUnit
Anton
да, всё со словом #[test] перед функцией
Я имел в виду именно асинхронщину
Berkus
Я имел в виду именно асинхронщину
асинхронные процессы тестировать без детерминизма невозможно, а если они детерминистичные, их можно свести к синхронным, то есть см все со словом #[test] перед функцией
Cuno
Асинхронщина обычно достаточно легко превращается в синхронщину. Тестирование чего-то многопоточного это задача не для юнит тестов.
Cuno
*конечно зависит, что за асинхронщину вы имели в виду
Anton
Погодите, я не про многопоточность, а про логическую асинхронность
Alex
почему это ее нельзя протестировать?
Anton
ну как ты представляешь себе такой тест
Я никак) Мне тут говорят, что такое делается, я прошу пример привести
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 существует ?
adam
Alex
если оно только под линупс, то там будет #cfg(linux) даже не скомпилится на винде.
Cuno
нет причины почему там не должно это работать
Вообще вся стандартная библиотека кроссплатформенна, вроде как.
Alex
вот именно, в этом очень большой плюс раста
պլհկ
если не юзать std::os::*
Нави
Понятно, под виндовс ещё не программил, вот и встречаю на таких вопросах. Точно так же программист, как и для линукса )))
Нави
Т9 весь текст изворачивает здесь
Нави
Какой сегодня год?
Ну эта клавиатура на андроиде, я конечно неправильно т9 обзываю, да все равно считает, что знает, что хочу высказать)
Alex
Ну эта клавиатура на андроиде, я конечно неправильно т9 обзываю, да все равно считает, что знает, что хочу высказать)
В этом случае он не пытался начать писать на самом низу и все такое бывает ли каких это как классы которых я вам много раз в жизни увидел
Alex
выглядит даже осмысленно как то
Нави
)
Berkus
я то думал что end-to-end внешку дергает
Да енд ту енд вообще в приближенных к боевым условиям. Интеграционные это как все модули сочетаются в приложение - соблюдают контракты друг друга и т д
Маjко
Я тож не вижу большой разницы
Berkus
С телефона неудобно писать, потом
պլհկ
https://github.com/rust-lang/rfcs/pull/1598
Berkus
глюпый вопрос, как в растовской строке представить такой символ - http://www.fileformat.info/info/unicode/char/00a0/index.htm
adam
.push('\u{00A0}'); ?
Sherzod
0x00A0 as char
Маjко
Двощами повеяло
Berkus
+
это тупо, если что
Sherzod
это тупо, если что
С чего это вдруг?
Berkus
.push('\u{00A0}'); ?
да, так пожрало, спасибо
Sherzod
Уверен, мой метод работает быстрее :P
Sherzod
Не нужно парсить строковый литерал П.С. Тупонул
adam
0x00A0 as char
Я бы тоже предпочёл это
Маjко
Не нужно парсить строковый литерал П.С. Тупонул
Ты сэкономишь много времени в компилтайме :D
Sherzod
Окей, я не прав
adam
Ты сэкономишь много времени в компилтайме :D
Если речь идёт о паре операций ассемблера над одним символом юникода, то можно и пожертвовать лишней пентосекундой ради читабельности в дальнейшем.
adam
Нужно на годболте проверить, кстати.
adam
r o a s t e d
adam
Sherzod
Хм, обращение по адресу против числовой константы
分解物質
Alex
r o a s t e d
а можно для тупых?
分解物質
Хм, обращение по адресу против числовой константы
там в обоих случаях числовая константа
分解物質
чё в rdi непонятно
Berkus
адрес
adam
На nightly вообще разницы не видно
kitsu
r o a s t e d
что за упоротый ллвм, чому он бесполезные джампы генерит?
分解物質
адрес
почему в двух случаях настолько по разному?