Joy
я написал - просто сделай то, что я тебя попросил
я могу, но не вижу особого смысла делать то, что могу. мои вопросы касательно других вещей ведь
Joy
у меня проект в cmake собирается
Berkus
у меня проект в cmake собирается
ну и отлично, прочитал главу в цмейк документации про ctest?
Alexander "SonnySlave"
я могу, но не вижу особого смысла делать то, что могу. мои вопросы касательно других вещей ведь
нет, ты не понимаешь даже основ, зачем нужны фреймворки и так далее
Berkus
там про всё написано, как enable_tests() как чо
Alexander "SonnySlave"
какие билд-системы, какие встраивания, если нет понимания, как тест писать?
Joy
нет, потому что перед тем как использовать автоматизацию я (в целом по жизни) сперва разбираюсь как сделать руками, и через это понимаю как оно устроено
Berkus
не с первого раза это будет
Berkus
какие билд-системы, какие встраивания, если нет понимания, как тест писать?
Смотри, согласно ТДД он должен написать первый тест, увидеть как он пофейлится и добиться того чтобы он стал зеленым, после этого можно понимание.
Berkus
первые пару тысяч тестов все равно будут полным говном
Joy
нах ТДД, не?
Joy
тесты это не обязательно ТДД же?
Berkus
нах ТДД, не?
тдд это когда ты пользуешься тестами, я использую этот термин, чтобы не писать много
Joy
я просто хочу автоматизировать банальные проверки
Joy
ТДД это определенная парадигма, если ты используешь этот термин по своему, то вводишь в заблуждение
Berkus
я вполне понимаю что ты не будешь начинать писать код с тестов, Олег тебе это уже внушил
Berkus
не буду тогда больше ничего говорить, а то ты совсем заблудишься, пусть Зайцев вон просвятит как надо
Joy
давайте конкретику
Joy
у меня есть класс, отвечающий за персонажа в игре
Joy
методы типа takeDamage, levelUp
Anatoly
давайте конкретику
а ты хамло, тебе конкретики набросали на год вперед
Joy
выразился несколько неудачно, был понят сильно неправильно
D.
В чем проблема? или Я что-то не понимаю?` // возвращает true, если p и q указывают на один и тот же объект template<class T> bool isSameObject(T const * p, T const * q) { if (dynamic_cast<T const *> (p) == dynamic_cast<T const *> (q)) return true; else return false; }` Предположим, что вам даётся два указателя на объект некоторого сложного полиморфного класса, который использует множественное наследование. Оба указателя имеют один и тот же тип, но могут ссылаться на разные однотипные базы внутри одного объекта. Напишите шаблонную функцию, которая по двум однотипным указателям проверяет, указывают ли они на один объект.
Oleg
я вполне понимаю что ты не будешь начинать писать код с тестов, Олег тебе это уже внушил
ему и не надо. Он только осваивает тесты - пусть просто берет примеры и пишет тесты на хотя бы обычные а+b. Потом придет, если надо, и к TDD и к нормальным тестами
Max
Подскажите какой язык сейчас стоит учтить?
Oleg
китайский
Max
Joy
Чтобы не флудить в общем чате - может мне какой добрый человек в личку написать, чтобы на примере моего класса показать как оно делается?
Vitalii
php
Aidar
я вроде не умею
D.
@AsGreyWolf с помощь dynamic_cast
Aidar
а я усложнил
Aidar
@AsGreyWolf с помощь dynamic_cast
закой хрен там динамик каст который делает ничего
D.
@AsGreyWolf тогда как ?
Aidar
я не понял что хотят
Joy
короче это была достойная попытка погрузиться в новый увлекательный мир юнит-тестирования ))
Nik
есть ли какой-то оверхед в использовании chrono::high_resolution_clock вместо chrono::steady_clock ?
Nik
и может ли быть high_resolution_clock не-steady?
Александр
Можно ещё T2 по умолчанию = T1
Александр
никакого, верно
Vladimir
Можно ещё T2 по умолчанию = T1
> Оба указателя имеют один и тот же тип, но могут ссылаться на разные однотипные базы внутри одного объекта. > Напишите шаблонную функцию, которая по двум однотипным указателям проверяет, указывают ли они на один объект. Т.е. указатель на один базовый класс, но достижимый из разных путей наследования. Как я понял, например, класс C наследуется от A и B, B наследуется от A. А проверяющая функция получает 2 указателя на "A *".
Александр
вообще уже выше сказали, что указывают на один объект - это тупо равны
Dmitrii
Как у spdlog с потреблением памяти?
Александр
Anonymous
лучший выход: exit(0)
Constantine
понимает ли компилятор, что за вызовом виртуальной функции может стоять memory barrier?
🐙 Antony
Ему это нужно, только при встраивании виртуальной функции. Тогда понимает, в остальных случаях - это не нужно
Matwey
Господа, а где-нибудь на просторах телеграма есть чатик, где люди знают про qemu/kvm internals?
Alexander "SonnySlave"
тебе лучше в mailing list :)
Alexander "SonnySlave"
мб в линуксовом чате кто-то знает
Matwey
Да я был в том мейл листе, опыт такой, что все-равно чинить самому придется. Вот пытаюсь понять где проблему искать
Alexander "SonnySlave"
ну значит сам чини :) опенсорс же :)
Alexander "SonnySlave"
ну и патч в апстрим, если проблему пофиксишь
Matwey
Ну вот я пока еще не знаю где чинить
Matwey
Как-то хочется помощи зала
Matwey
А в чем проблема?
Проблема в том, что virtio виснет. При этом на другой машине с тем же ядром хоста, гостя, и бинарем qemu всё работает. Общую архитектуру virtio я уже изучил за сегодня/вчера.
kitsu
Ну звучит не сложно, gdb и вперед
kitsu
не с сп?
Matwey
а что gdb то? куда смотреть то?
kitsu
Ну если виснет, все просто же
kitsu
Запускаешь gdb, ждешь зависание, даешь ему сигнал и смотришь трассу
Matwey
ха ха
Matwey
в qemu запускается внутри десяток потоков, и они все постоянно что-то делают, шлют какие-то нотификации, читают из eventfd т.п.
Matwey
трейс показывает на epoll
Matwey
оно где-то из-за логики ломается
Arseny
понимает ли компилятор, что за вызовом виртуальной функции может стоять memory barrier?
Подозреваю, что вызов любой функции не из текущей единицы трансляции это барьер компилятора.