172 похожих чатов

Растбук говорит, что файлы в папке tests/ компилятся в отдельные

крейты, в которых исходная либа выступает зависимостью.
Вопрос: как эти крейты называются и можно ли манипулировать их манифестами?

В ходе компиляции кода из tests/ я генерирую крейт, в котором tests/<имя_крейта> является зависимостью и пробую скомпилировать его.

Но чтобы успешно это сделать, мне нужно знать <имя_крейта> который является моей зависимостью. Как?

12 ответов

23 просмотра

Что ты имеешь в виду под "манифестами"?

Eugene
Cargo.toml

ты про разные уровни абстракции говоришь https://t.me/rust_beginners_ru/62635

[build-dependencies] для build.rs... [dev-dependencies] для бенчей и тестов вроде ...

Eugene- Автор вопроса
ozkriff🇺🇦 Lesnikóv
ты про разные уровни абстракции говоришь https://t...

Ок, хорошо. А как тогда обратиться к функциям из tests/*? Допустим в tests/foo.rs объявлена pub fn bar(). Правильно ли я понимаю, что она будет доступна как foo::bar()?

Eugene- Автор вопроса
Eugene
Ок, хорошо. А как тогда обратиться к функциям из t...

я не на 100% уверен, но кажется, что они как бинарные крейты компилируются - те просто так ты оттуда функцию не вытащишь. если тебе между тестами надо переиспользовать код, то обычная практика - завести вспомогательный utilities крейт и его уже втыкать в тесты

Eugene- Автор вопроса
Eugene- Автор вопроса
ozkriff🇺🇦 Lesnikóv
я не на 100% уверен, но кажется, что они как бинар...

Проблема в том, что нет, не переиспользовать.( У меня процедурный макрос, который вызывается на функцию в либе, добавляет к ней функцию-обвязку и создаёт пакет для cargo fuzz, который эту функцию-обвязку будет вызывать.

Eugene- Автор вопроса
Eugene
Проблема в том, что нет, не переиспользовать.( У м...

Хотел этот процесс весь вместе оттестировать, но что-то не очень получается придумать, как это сделать.

А что мешает явно вынести в отдельный крейт?

Eugene- Автор вопроса
Yuriy Zymlex
А что мешает явно вынести в отдельный крейт?

Всм, сделать вообще отдельный крейт, использующий исходную либу как зависимость? Сейчас это реализовано именно так и получается, что для тестирования вместо одного cargo test приходится делать cd crate_folder cargo build cd generated_folder cargo fuzz build target_name Где все target_name надо перебирать вручную.

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
embassy это топ фреймворк для эмбеддед на данный момент?
AS Sarb
23
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Ребята, я 3 дня как вкатился в ардуино Думал на прогрессивном молодом языке Rust попилить что-нибудь А как-то грустно с библиотеками оказалось. Не подскажете почему так? Если...
AS Sarb
18
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Карта сайта