Форум программистов, компьютерный форум, киберфорум
Perl: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для volodin661
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809

Mojolicious 9.0 Released

25.02.2021, 12:35. Показов 2379. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
https://mojolicious.io/blog/20... cious-9-0/
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2021, 12:35
Ответы с готовыми решениями:

Mojolicious
Добрый день, форумчане! Нужен хелп. Веб программированием ранее не занимался, а потому имеются вопросы новичка. Стоит задача на...

Mojolicious
Добрый день, программировал на perl cgi. Решил перенести один свой проект с cgi на Mojolicious. Но столкнулся с проблемой. При подключении...

Perl 5.24.0 Released
Perl 5.24.0: 11 месяцев разработки с момента выхода Perl 5.22.0, содержит 360,000 строк изменений ( 1,800 files) от 77 авторов. ...

12
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
26.02.2021, 10:22
хорошая новость. это интересный движок.
0
Невнимательный
 Аватар для ft4l
2835 / 1260 / 357
Регистрация: 08.02.2013
Сообщений: 7,337
Записей в блоге: 2
26.03.2021, 20:37
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
cpan> m Mojolicious
Module id = Mojolicious
    CPAN_USERID  SRI (Sebastian Riedel <kraihx@googlemail.com>)
    CPAN_VERSION 9.14
    CPAN_FILE    S/SR/SRI/Mojolicious-9.14.tar.gz
    UPLOAD_DATE  2021-03-23
    MANPAGE      Mojolicious - Real-time web framework
    INST_FILE    C:\SRV\532sb-perl\perl\site\lib\Mojolicious.pm
    INST_VERSION 9.10
 
cpan> upgrade Mojolicious
...
...
t/mojo/asset.t ............................. ok
t/mojo/base.t .............................. ok
t/mojo/bytestream.t ........................ ok
t/mojo/cache.t ............................. ok
t/mojo/cgi.t ............................... 1/?     #   Failed test 'right "Content-Length" value'
    #   at t/mojo/cgi.t line 202.
    #          got: '15'
    #     expected: '17'
    #   Failed test 'right content'
    #   at t/mojo/cgi.t line 204.
    #          got: '127.0.0.1:https'
    #     expected: '10.10.10.10:https'
    # Looks like you failed 2 tests of 6.
 
#   Failed test 'Trusted proxies'
#   at t/mojo/cgi.t line 205.
# Looks like you failed 1 test of 9.
t/mojo/cgi.t ............................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/9 subtests
t/mojo/collection.t ........................ ok
...
...
Result: FAIL
Failed 1/103 test programs. 1/4797 subtests failed.
... почему-то проверяется на 10.10.10.10
конечно по таким мелочам сразу повторяю с notest )) но всё-же
У кого-то бывает похожее ?
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
29.03.2021, 18:35
под win7 - да
под win10 - нет

Добавлено через 27 минут
винда десятка на виртуалке, поставил свежий страубери-перл
только не портэйбл а strawberry-perl-5.32.1.1-64bit.msi

с одной единственной ошибкой
C:\Users\1>mojo version
CORE
Perl (v5.32.1, MSWin32)
Mojolicious (8.71, Supervillain)

OPTIONAL
Cpanel::JSON::XS 4.09+ (4.25)
EV 4.32+ (n/a)
IO::Socket::Socks 0.64+ (0.74)
IO::Socket::SSL 2.009+ (2.069)
Net:NS::Native 0.15+ (n/a)
Role::Tiny 2.000001+ (2.002004)
Future::AsyncAwait 0.36+ (n/a)

You might want to update your Mojolicious to 9.14!

C:\Users\1>cpan
Loading internal logger. Log::Log4perl recommended for better logging

cpan shell -- CPAN exploration and modules installation (v2.28)
Enter 'h' for help.


cpan> install Mojolicious
Fetching with LWP:
http://cpan.strawberryperl.com/
...
t/mojolicious/upload_lite_app.t ............ 1/? (in cleanup) Can't remove file "C:\Users\1\AppData\Loca\Temp\mojo.tmp.1 e5bDHcvCtUGqx7_": Permission denied at C:\www\cpan\build\Mojolicious-9.14-0\blib\lib/Mojo/Asset/File.pm line 36.
...
C:\www\c\bin\gmake.exe install UNINST=1 -- OK

cpan> q
Lockfile removed.

C:\Users\1>mojo version
CORE
Perl (v5.32.1, MSWin32)
Mojolicious (9.14, Waffle)

OPTIONAL
Cpanel::JSON::XS 4.09+ (4.25)
EV 4.32+ (n/a)
IO::Socket::Socks 0.64+ (0.74)
IO::Socket::SSL 2.009+ (2.069)
Net:NS::Native 0.15+ (n/a)
Role::Tiny 2.000001+ (2.002004)
Future::AsyncAwait 0.36+ (n/a)

This version is up to date, have fun!


а под семёрками разной степени раскуроченности - та же ошибка что и у тебя Failed test 'right "Content-Length" value'
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
06.04.2021, 05:35
про ошибку разработчик знает:
https://github.com/mojolicious/mojo/issues/1741

cpantesters
надо сюда закинуть ещё примеры этого косяка
Как-то ведь это автоматически делается... кто-нибудь в курсе?..
0
Невнимательный
 Аватар для ft4l
2835 / 1260 / 357
Регистрация: 08.02.2013
Сообщений: 7,337
Записей в блоге: 2
06.04.2021, 12:24
Цитата Сообщение от mark74 Посмотреть сообщение
автоматически
В конфиге portable-strawberry есть пара переменных таких ...\perl\lib\CPAN\Config.pm
0 в них ... нет CPAN::Reporter
CPAN.pm
Code
1
2
3
4
5
6
=head2 Config Variables
....
  test_report        email test reports (if CPAN::Reporter is installed)
  trust_test_report_history
                     skip testing when previously tested ok (according to
                     CPAN::Reporter history)
... там ещё варианты... , типа какой-нибудь MyConfig.pm из \.cpan\ с домашней папки или ещё откуда-либо

Не по теме:

даже вроде в течении cpan сессии можно менять значения с o conf и даже никуда не сохранять
... но auto_commit стоит 1 в strawberry ,) поэтому Config.pm сразу-же перезапишет



Сам не пробовал ставить CPAN::Reporter ... как-бы не забанили ,) за кучи репортов, за собирание perl всем чем-попало,
да и негоже наверное слать репорты после ковыряния в исходниках )
Кликните здесь для просмотра всего текста
В виндовс особо выбора нет, либо с MSYS2 но с mingw-w64 собирать все библиотеки вместе с perl
но не в XP ... (в XP только с MSYS такое)
Либо MSVC последние...
Либо , насколько понимаю так и собирают strawberry, cross-компиляторы. Собираетс всё в Линукс но для Виндовс.
Дело не в Perl... его чем-попало собрать не проблема, дело в библиотеках... вские OpenSSL,
... без всяких bash-скриптов ./configure не собрать если и есть поддержка win32 то последних MSVC


Остальные варианты Cygwin, чисто MSYS2, чисто MSYS2, WSL вроде то-же ... запускают собираемое только в своей среде,
но собирать всё легко и просто должно быть... даже fork() говорят там в них кое-где есть ))
Размазано вобщем всё в виндовс по возможным сообществам )


Добавлено через 14 минут
Цитата Сообщение от x_lab Посмотреть сообщение
o conf ... поэтому Config.pm сразу-же перезапишет
Советую забекапить Config.pm перед изменением чего-либо o conf
там вместо всего кода останется только хэш $CPAN::Config = { ....
) на portable-strawberry точно не помешает
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
11.04.2021, 08:01
После настройки cpantesters.org, автоматически пишется журнал

C:\Users\1\.cpanreporter\reports-sent.db
# Generated by CPAN::Reporter 1.2018
...
test FAIL Mojolicious-9.15 (perl-5.32.1) MSWin32-x64-multi-thread 10.0.19042.746
test FAIL Mojolicious-9.16 (perl-5.32.1) MSWin32-x64-multi-thread 10.0.19042.746
...
Отметим в скобках, что прояснить, отправляются ли результаты тестов на сайт, сходу не получилось. Может отправляются - может нет.

Думаю, основной конфиг perl\lib\CPAN\Config.pm не меняется, настройки берутся из C:\Users\1\.cpanreporter\

По набору модулей версии
strawberry-perl-5.32.1.1-64bit.msi
strawberry-perl-5.32.1.1-64bit.zip
strawberry-perl-5.32.1.1-64bit-portable.zip
не отличаются см. DISTRIBUTIONS.txt, они одинаковые

По существу проблемы

Попробовал в отладчике запустить...

Просто сказать perl -d \t\mojo\cgi.t не получается. Результаты теста становятся другие.
Почему?
- Возможно, переменные окружения надо настраивать.

Допустим, модуль тестируется из cpan shell командой cpan>test Mojolicious.
При этом будут запущены вложенные процессы:
Code
1
2
3
4
C:\www\perl\c\bin\gmake.exe test
  C:\Windows\system32\cmd.exe /c C:\Users\1\AppData\Local\Temp\make4004-a.bat
    "C:\www\perl\perl\bin\perl.exe"  "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/*/*.t
      "C:\www\perl\perl\bin\perl.exe" t/mojo/cgi.t
в общем, есть где поменять среду выполнения.

Можно скопипастить лайт-приложение из теста и его уже погонять - проявится ли ошибка.
0
Невнимательный
 Аватар для ft4l
2835 / 1260 / 357
Регистрация: 08.02.2013
Сообщений: 7,337
Записей в блоге: 2
11.04.2021, 15:58
Цитата Сообщение от mark74 Посмотреть сообщение
отправляются ли результаты тестов на сайт, сходу не получилось. Может отправляются - может нет.
Скорее нет... должно вроде спрашивать и давать редактировать отчёты

Попробовал тоже ) квест не прошёл ещё ... у меня всё ломается на запуске site\bin\metabase-profile.BAT
Кликните здесь для просмотра всего текста
Практически чистый Strawberry-Perl
Начал с зависимостей и самого CPAN::Reporter
install Config::Tiny
install Devel::Autoflush
install Test::Reporter
install CPAN::Reporter

Долго чего-то тестил, но установился
запустил
o conf init test_report
...всё по умолчанию выбираю
......
email_from? [] "...." <.....@bk.ru>
edit_report? [default:ask/no pass/na:no]
send_report? [default:ask/yes pass/na:yes]
transport? [Metabase uri [url]https://metabase.cpantesters.org/api/v1/[/url] id_file metabase_id.json]
....

CPAN::Reporter: error loading Test::Reporter::Transport::Metabase. Please install the missing module
or choose a different transport mechanism.


Делаю install Test::Reporter::Transport::Metabase
... тянет кучу зависимостей
CPAN::Testers::Report
Metabase::Client::Simple
Metabase::User::Profile
Metabase::User::Secret
Metabase::Fact::Hash
Metabase::Fact::String
Metabase::Report
Data::GUID
IO::Prompt::Tiny
... не нравится мне когда много всего и сразу , но ладно ) всё поставилось

o conf init test_report вроде как сработало на этот раз
....commit: wrote
Но оказалось в этом ..64x-532-sbPerl\data\.cpanreporter\config.ini
строка не правильная transport=abase_id.json'? [y]
... не понял как получилось такое
поправил сделал
transport=Metabase uri [url]https://metabase.cpantesters.org/api/v1/[/url] id_file ~/.cpantesters/metabase_id.json
Снова
o conf init test_report
... Всё как будто выполнилось но если вчмиаиться там
Running [C:\SRV\64X-53~1\perl\site\bin\metabase-profile.BAT --output C:\SRV\64x-532-sbPerl\data\.cpantesters\metabase_id.jso n --email ....@bk.ru --name .... --secret 51c740c6]...
print() on closed filehandle $fh at C:\SRV\64X-53~1\perl\site\bin\metabase-profile.BAT line 81.

Насколько понял должно было создать файл .cpantesters\metabase_id.json
Но он не создался....

Добавлено через 35 минут
Прошёл квест не было папки
Кликните здесь для просмотра всего текста
Вышел из cpan по q и
C:\SRV\64x-532-sbPerl>mkdir data\.cpantesters

C:\SRV\64x-532-sbPerl>cd data\.cpantesters

C:\SRV\64x-532-sbPerl\data\.cpantesters>C:\SRV\64X-53~1\perl\site\bin\metabase-profile.BAT
Enter full name: ....
Enter email address: .....@bk.ru
Enter password/secret: .....
Writing profile to 'metabase_id.json'

C:\SRV\64x-532-sbPerl\data\.cpantesters> cpan


test Mojolicious
.......
Do you want to send the report? (yes/no) [yes]
CPAN::Reporter: sending test report with 'fail' via Metabase
...

Но теперь тоже неизвестно )) что на самом деле произошло
..... sbPerl\data\.cpantesters это в portable версии наверно только
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
13.04.2021, 07:43
Mojolicious 8.71 не содержала такого понятия как trusted_proxies
Это нововведение 9-й версии. В принципе, изменения коснулись не многих модулей.

cpan> get Mojolicious
cpan> make Mojolicious
C:\www\perl\cpan\build\Mojolicious-9.XX-X>perl -Iblib\lib\ -Iblib\arch\ t\mojo\cgi.t

Листинг который генерирует Test::More выше уже приводился (# Failed test 'Trusted proxies').
Можно в отладчике запустить так:

C:\www\perl\cpan\build\Mojolicious-9.XX-X>perl -d -Iblib\lib\ -Iblib\arch\ t\mojo\cgi.t



ошибка у меня проявляется в версиях винды 7 и 2k8r2. В десятке тест проходит.

Возможно, где то в коде есть обращение к API винды и семёрка просто ни чего не знает о reverse proxy или trusted reverse proxy. Или ни чего не знает об IP-диапазоне 10.0.0.0
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
28.04.2021, 07:10
Чтобы не забыть докуда докапал )..

Есть две системы: Windows 7 и Windows 10. Версии perl совпадают. И там и там последняя версия Strawberry perl. На обоих системах выполним

cpan> test Mojolicious

На Win7 тест выполняется с одной ошибкой:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
    #   Failed test 'right "Content-Length" value'
    #   at t/mojo/cgi.t line 231.
    #          got: '15'
    #     expected: '17'
    #   Failed test 'right content'
    #   at t/mojo/cgi.t line 233.
    #          got: '127.0.0.1:https'
    #     expected: '10.10.10.10:https'
    # Looks like you failed 2 tests of 6.
 
#   Failed test 'Trusted proxies'
#   at t/mojo/cgi.t line 234.
# Looks like you failed 1 test of 10.
t/mojo/cgi.t ...............................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/10 subtests
...
Test Summary Report
-------------------
t/mojo/cgi.t                             (Wstat: 256 Tests: 10 Failed: 1)
  Failed test:  9
  Non-zero exit status: 1
Files=103, Tests=4800, 177 wallclock secs ( 2.44 usr +  0.41 sys =  2.84 CPU)
Result: FAIL
Failed 1/103 test programs. 1/4800 subtests failed.
...


На Win10 - без ошибок.

Сбойный тест в частности проверяет работу функции Mojo::Transaction::remote_address
Посмотрим какие значения анализирует эта функция. Для этого добавим несколько строк в blib/lib/mojo/Transaction.pm
В функцию remote_address:
(см. вызовы Test::More::diag)
Кликните здесь для просмотра всего текста
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub remote_address {
  my $self = shift;
 
  return $self->original_remote_address(@_) if @_;
  return $self->original_remote_address unless $self->req->reverse_proxy;
 
  # Reverse proxy
  my @addrs   = split /\s*,\s*/, ($self->req->headers->header('X-Forwarded-For') // '');
  my $trusted = $self->req->trusted_proxies;
  return @addrs ? $addrs[-1] : $self->original_remote_address unless @$trusted;
 
  push @addrs, $self->original_remote_address;
  Test::More::diag "\taddrs: ", join ", ", map {defined ? "'$_'" : "undef"} @addrs;
  Test::More::diag "\ttrusted: ", join ", ", map {defined ? "'$_'" : "undef"} @{$trusted};
  for my $addr (reverse @addrs) {
    Test::More::diag "\t\taddr: ", (defined $addr ? "'$addr'" : "UNDEF");
    return $addr unless any {
      Test::More::diag "\t\t\ttrusted: ", (defined ? "'$_'" : "UNDEF");
      network_contains($_, $addr)
    } @$trusted;
  }
  Test::More::diag "\tnone of these IP addresses were left outside the trusted networks";
  return $addrs[0];
}


Запустить тест cgi.t из командной строки Windows можно так:

C:\www\perl\cpan\build\Mojolicious-9.17-0>perl -I blib\lib t\mojo\cgi.t

(при условии что сборка cpan-модуля выполнялась в данном каталоге)

Наша диагностика сработает в субтестах 9 и 10 связанных с Trusted proxies. И тут появляются
различия между результатами под Win7 и Win10:

Win7:

Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Subtest: Trusted proxies
    #   addrs: '10.10.10.10', '192.0.2.2', '192.0.2.1', '127.0.0.1'
    #   trusted: '127.0.0.0/8', '192.0.0.0/8'
    #           addr: '127.0.0.1'
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    ok 1 - right status
    ok 2 - right status
    ok 3 - right "Status" value
    not ok 4 - right "Content-Length" value
    #   Failed test 'right "Content-Length" value'
    #   at t\mojo\cgi.t line 231.
    #          got: '15'
    #     expected: '17'
    ok 5 - right "Content-Type" value
    not ok 6 - right content
    #   Failed test 'right content'
    #   at t\mojo\cgi.t line 233.
    #          got: '127.0.0.1:https'
    #     expected: '10.10.10.10:https'
    1..6
    # Looks like you failed 2 tests of 6.
not ok 9 - Trusted proxies
#   Failed test 'Trusted proxies'
#   at t\mojo\cgi.t line 234.
# Subtest: Trusted proxies (no REMOTE_ADDR)
    #   addrs: '10.10.10.10', '192.0.2.2', '192.0.2.1', undef
    #   trusted: '127.0.0.0/8', '192.0.0.0/8'
    #           addr: UNDEF
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    ok 1 - right status
    ok 2 - right status
    ok 3 - right "Status" value
    ok 4 - right "Content-Length" value
    ok 5 - right "Content-Type" value
    ok 6 - right content
    1..6
ok 10 - Trusted proxies (no REMOTE_ADDR)


Win10:

Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Subtest: Trusted proxies
    #   addrs: '10.10.10.10', '192.0.2.2', '192.0.2.1', '127.0.0.1'
    #   trusted: '127.0.0.0/8', '192.0.0.0/8'
    #           addr: '127.0.0.1'
    #                   trusted: '127.0.0.0/8'
    #           addr: '192.0.2.1'
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    #           addr: '192.0.2.2'
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    #           addr: '10.10.10.10'
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    ok 1 - right status
    ok 2 - right status
    ok 3 - right "Status" value
    ok 4 - right "Content-Length" value
    ok 5 - right "Content-Type" value
    ok 6 - right content
    1..6
ok 9 - Trusted proxies
# Subtest: Trusted proxies (no REMOTE_ADDR)
    #   addrs: '10.10.10.10', '192.0.2.2', '192.0.2.1', undef
    #   trusted: '127.0.0.0/8', '192.0.0.0/8'
    #           addr: UNDEF
    #                   trusted: '127.0.0.0/8'
    #                   trusted: '192.0.0.0/8'
    ok 1 - right status
    ok 2 - right status
    ok 3 - right "Status" value
    ok 4 - right "Content-Length" value
    ok 5 - right "Content-Type" value
    ok 6 - right content
    1..6
ok 10 - Trusted proxies (no REMOTE_ADDR)


Похоже, различия проявляются в работе кода в оригинальной строке 46:

Perl
1
    return $addr unless any { network_contains($_, $addr) } @$trusted;
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
29.04.2021, 19:23
Раскопки упёрлись в дно.

Напоминаем клиническую картину...

Модуль CPAN Mojolicious 9 не проходит тестирование при установке. Это происходит только под Win7 (Win7SP1x64, Win2k8R2).
Perl:
strawberry-perl-5.32.1.1-32bit
strawberry-perl-5.32.1.1-64bit
дистриб Mojo: cpan.strawberryperl.com/authors/id/S/SR/SRI/Mojolicious-9.17.tar.gz

неадекватно себя ведёт
subtest 'Trusted proxies' => sub { #C:\www\perl\cpan\build\Mojolicious-9.17-0\t\mojo\cgi.t

точнее callback-функция
get '/proxy' => sub { #C:\www\perl\cpan\build\Mojolicious-9.17-0\t\mojo\cgi.t

точнее
sub remote_address { #C:\www\perl\cpan\build\Mojolicious-9.17-0\blib\lib\Mojo\Transaction.pm

точнее
sub network_contains { #C:\www\perl\cpan\build\Mojolicious-9.17-0\blib\lib\Mojo\Util.pm

точнее
inet_pton() #откуда берётся не понятно

Но для network_contains имеется тест C:\www\perl\cpan\build\Mojolicious-9.17-0\t\mojo\util.t

Его можно подправить на те же значения и убедиться вот в чём:

inet_pton() при вызове из util.t отрабатывает, а в случае cgi.t выдаёт undef.
0
Невнимательный
 Аватар для ft4l
2835 / 1260 / 357
Регистрация: 08.02.2013
Сообщений: 7,337
Записей в блоге: 2
01.05.2021, 13:21
Цитата Сообщение от mark74 Посмотреть сообщение
клиническую картину...
... вот ещё ,) но совсем другие симптомы
OS win7 ... MSYS2 environment
cpan[8]> !print $^V.$/;
v5.32.1

Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
m Mojolicious
Module id = Mojolicious
    CPAN_USERID  SRI (Sebastian Riedel <kraihx@googlemail.com>)
    CPAN_VERSION 9.17
    CPAN_FILE    S/SR/SRI/Mojolicious-9.17.tar.gz
    INST_FILE    (not installed)
 
...
 
t/mojo/file.t .............................. 1/?
    #   Failed test 'link is not empty'
    #   at t/mojo/file.t line 235.
    #          got: '0'
    #     expected: anything else
    # Looks like you failed 1 test of 2.
 
#   Failed test 'lstat'
#   at t/mojo/file.t line 236.
# Looks like you failed 1 test of 30.
t/mojo/file.t .............................. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/30 subtests
 
...
 
t/mojolicious/websocket_lite_app.t ......... 9/?     # WebSocket closed with status 1006
 
    #   Failed test 'WebSocket closed with status 1009'
    #   at t/mojolicious/websocket_lite_app.t line 189.
    # Looks like you failed 1 test of 3.
 
#   Failed test '64-bit binary message (too large for server)'
#   at t/mojolicious/websocket_lite_app.t line 190.
Use of uninitialized value $loop in hash element at /home/zzz/.cpan/build/Mojolicious-9.17-0/blib/lib/Mojo/UserAgent.pm line 201.
Mojo::Reactor::Poll: I/O watcher failed: Can't call method "remove" on an undefined value at /home/zzz/.cpan/build/Mojolicious-9.17-0/blib/lib/Mojo/UserAgent.pm line 290.
t/mojolicious/websocket_lite_app.t ......... 21/? # Looks like you failed 1 test of 35.
t/mojolicious/websocket_lite_app.t ......... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/35 subtests

с cgi.t всё OK

Добавлено через 12 минут
Цитата Сообщение от mark74 Посмотреть сообщение
inet_pton() #откуда берётся не понятно
Это из виндовых библиотек или winsock или winsock2 ... даже не разобраться толком
а так на других системах это
http://opennet.ru/man.shtml?topic=inet_pton
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int inet_pton(int af, const char *src, void *dst);

ОПИСАНИЕ
Данная функция преобразует строку символов src в сетевой адрес (типа af), затем копирует полученную структуру с адресом в dst.
0
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
01.05.2021, 20:31
x_lab,

inet_aton объявлена в Socket.pm

но определение где-то на Си, по-видимому.
Вот эта dll-ка подгружается lib\auto\Socket\Socket.xs.dll

Чего ей там не хватает, сие нам не ведомо (пока)

Но есть предположение, что глюк связан с параллельным выполнением. Процесс точно один, но могут быть нити или какие-то асинхронные штуки. И что-то где-то оказывается не инициализировано, к примеру.

Пробуем вызвать inet_aton в cgi.t
Например, сразу после всех use:
Perl
1
diag("\tinet_pton returns " . (Socket::inet_pton(Socket::AF_INET, '127.0.0.1') // "undef"));
Это срабатывает, как не странно.

Так что можно по шагам выполнить:
cpan> get
make
тут подправить cgi.t
test
install
и все дела
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2021, 20:31
Помогаю со студенческими работами здесь

On Key Released
Здравствуйте, а я снова к вам))) у меня есть TextField, к которому прикручен метод через On Key Released. Всё работает, как только...

Powershell Core ( pwsh ) 6.1 Released
Вышла 13 августа на базе соответственно новейшего .NET Core 2.1 Зачем я об этом пишу, не знаю, потому что, похоже, кроме меня ...

Linux Mint 8 “Helena” released
Вчера 28 ноября был объявлен релиз Linux Mint 8 Helena! Версия 8 «Helena» основана на Ubuntu 9.10 Karmic Koala, но отличается от...

Проблемы с Seek: 'Row handles must be released before new ones can be obtained'
Привет всем! Возникла такая проблема. Есть рекурсивная функция для заполенения дерева (TreeView). Данные берутся из базы. Два поля:...

Catalyst vs Mojolicious vs Dancer
Понимаю, что возможно получится холивар. Но хотелось бы услышать нечто конструктивное по этим фреймворкам. Плюсы и минусы, &quot;за&quot; и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru