1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-sonic-pi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
TESTING.md 3.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 01:39 b361559

Тестирование и профилирование

Это краткий документ, который поможет всем, кто хочет внести свой вклад в разработку Sonic Pi. Для этого вам следует попробовать использовать тестовые наборы (и дополнять их).

Запуск тестов

В Sonic Pi нет базы данных, поэтому тесты намного проще, чем в среднем веб-приложении.

$ cd app/server/ruby/test
$ rake test

Это должно запустить все тесты для вас.

Если у вас есть такая ошибка:

Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'

Возможно, вам потребуется выполнить следующее.

$ gem install test-unit

Профилирование

Sonic Pi — это действительно многопоточная система с коммуникациями через OSC (открытый звуковой контроль), которые передаются между графическим интерфейсом Qt, сервером Ruby и сервером синтеза scsynth. В результате профилирование оказалось сложным.

Профилирование сервера Ruby

Вот предложение о том, как можно профилировать элементы Sonic Pi на Ruby. Предполагается, что вы используете Ruby 2.1 или выше.

  1. gem install ruby-prof
  2. (необязательно) Клонируйте этот репозиторий, запустите build.sh, а затем ./tinyosc 4557. Это просто для предоставления приёмника для сообщений OSC, которые отправляются в графический интерфейс через порт 4557. Если вы этого не сделаете, вы увидите некоторые сообщения об ошибках, связанных с соединениями.
  3. gem install sonic-pi-cli — для версии 2.7 dev и выше вам может потребоваться установить из этого репозитория: https://github.com/xavriley/sonic-pi-cli
  4. Запустите эту команду из корневого каталога Sonic Pi
$ ruby-prof -p multi ./app/server/ruby/bin/sonic-pi-server.rb
  1. Выполните эту команду (снова из корневого каталога), чтобы отправить код в Sonic Pi
$ cat etc/examples/wizard/tilburg.rb | sonic_pi
  1. После того, как он поработает некоторое время, запустите sonic_pi stop в новом терминале и затем нажмите Ctrl+C в процессе sonic-pi-server.rb. Это должно создать несколько файлов в корневой папке, содержащих информацию о профилировании.

Профилирование графического интерфейса Qt

TODO

Профилирование scsynth

TODO

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-sonic-pi.git
git@api.gitlife.ru:oschina-mirror/mirrors-sonic-pi.git
oschina-mirror
mirrors-sonic-pi
mirrors-sonic-pi
dev