انجليزيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

poe-gen-testsp - عبر الإنترنت في السحابة

قم بتشغيل poe-gen-testsp في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر poe-gen-testsp الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


اختبارات poe-gen - إنشاء اختبارات POE القياسية لوحدات الطرف الثالث

موجز


اختبارات poe-gen --dirbase t/loops \
--حلقة عفوية \
--حلقة قائمة الانتظار \
--loop الحدث::Lib \
--loop POE::XS::Loop::Poll

الوصف


يشكل هذا البرنامج ووحدات POE::Test::Loop::* المصاحبة له اختبارات POE لـ
POE::حلقة الفئات الفرعية. تم تصميم هذه الاختبارات لتعمل بشكل متطابق بغض النظر عن
حلقة الحدث الحالي. يستخدمها POE لاختبار حلقات الحدث التي يجمعها:

بو::حلقة::Gtk
POE::Loop::IO_Poll (--loop IO::Poll)
POE::حلقة::Tk
POE::حلقة::حدث
بو::حلقة::اختر

يتم تشجيع مطوري وحدات POE::Loop الأخرى على استخدام هذه الحزمة لإنشاء أكثر من 420
اختبارات شاملة لعملهم.

الاستعمال


يقوم poe-gen-tests بإنشاء ملفات اختبار لواحدة أو أكثر من حلقات الأحداث أسفل الدليل
المحدد في --dirbase. على سبيل المثال،

اختبارات poe-gen --dirbase t/loops --loop Select

يقوم بإنشاء ملفات الاختبار التالية:

t/loops/select/all_errors.t
t/loops/select/comp_tcp.t
t/loops/select/comp_tcp_concurrent.t
t/loops/select/connect_errors.t
t/loops/select/k_alarms.t
t/loops/select/k_aliases.t
t/loops/select/k_detach.t
t/loops/select/k_selects.t
t/loops/select/k_sig_child.t
t/loops/select/k_signals.t
t/loops/select/k_signals_rerun.t
t/loops/select/sbk_signal_init.t
t/loops/select/ses_nfa.t
t/loops/select/ses_session.t
t/loops/select/wheel_accept.t
t/loops/select/wheel_curses.t
t/loops/select/wheel_readline.t
t/loops/select/wheel_readwrite.t
t/loops/select/wheel_run.t
t/loops/select/wheel_sf_ipv6.t
t/loops/select/wheel_sf_tcp.t
t/loops/select/wheel_sf_udp.t
t/loops/select/wheel_sf_unix.t
t/loops/select/wheel_tail.t

المعلمة --loop هي إما اسم فئة POE::Loop::... أو فئة حلقة الحدث التي
سيكمل POE::Loop::... اسم الحزمة.

poe-gen-tests --dirbase t/loops --loop Event::Lib
اختبارات poe-gen --dirbase t/loops --loop POE::Loop::Event_Lib

تبحث اختبارات poe-gen عن قسم "=for poe_tests" أو "=begin poe_tests" داخل القسم
POE::يتم اختبار فئة الحلقة. إذا تم تعريفها، فيجب أن يتضمن هذا القسم وظيفة واحدة،
Skip_tests()، الذي يحدد ما إذا كان يجب تخطي أي اختبار معين.

الرجاء مراجعة perlpod لبناء جملة "=for" و"=begin". انظر أيضًا PODDITIES للأشياء البارزة
الاختلافات بين دعم POD::Test::Loop's POD والمعيار.

Skip_tests() يتم استدعاؤه بمعلمة واحدة، وهو الاسم الأساسي للاختبار الذي على وشك التنفيذ.
وترجع خطأ إذا كان يجب تشغيل الاختبار، أو رسالة سيتم عرضها للمستخدم
توضيح سبب تخطي الاختبار. يتم تمرير هذه الرسالة مباشرة إلى Test::More's
يخطط() مع "skip_all". المنطق هو في الأساس:

إذا (بلدي $why = Skip_tests("k_signals_rerun")) {
الخطة Skip_all => $why;
}

Skip_tests() يجب تحميل أي وحدات تتطلبها حلقة الحدث. انظر معظم الأمثلة
أدناه.

مثال poe_tests تعليمات
يتحقق POE::Loop::Event من وجود وحدة الحدث وإمكانية تحميلها، ثم من عدمها
يمكن إجراء اختبارات محددة ضمن أنظمة تشغيل محددة.

=for poe_tests
اختبارات التخطي الفرعية {
قم بإرجاع "اختبارات الأحداث تتطلب وحدة الأحداث" إذا (
قم بتقييم "استخدام الحدث"؛ $@ }
);
$test_name = Shift;
إذا ($test_name مكافئ "k_signals_rerun" و $^O مكافئ "MSWin32") {
return "يتعطل هذا الاختبار لـ Perl عند تشغيله باستخدام Tk على $^O";
}
إذا ($test_name مكافئ "wheel_readline" و $^O مكافئ "darwin") {
return "الحدث يتخطى اثنين من الاختبارات الخاصة به لنفس السبب";
}
}

يتحقق POE::Loop::Gtk من تعيين DISPLAY، مما يعني أن X قيد التشغيل. بعد ذلك
يتحقق مما إذا كان Gtk متاحًا وقابلاً للتحميل وقابلاً للتهيئة بأمان قبل التخطي
اختبارات محددة.

=for poe_tests
اختبارات التخطي الفرعية {
$test_name = Shift;
إرجاع "Gtk يحتاج إلى عرض (قم بتعيين واحد اليوم، حسنًا؟)" ما لم (
تم تحديد $ENV{DISPLAY} والطول $ENV{DISPLAY}
);
إرجاع "اختبارات Gtk تتطلب وحدة Gtk" إذا do { eval "use Gtk"; $@ };
إرجاع "فشل Gtk init. هل DISPLAY صالح؟" ما لم يتم تعريف Gtk->init_check;
إذا ($test_name مكافئ "z_rt39872_sigchld_stop") {
إرجاع "تعطل Gdk" ؛
}
العودة؛
}

يتحقق POE::Loop::IO_Poll من توافق النظام قبل التحقق من أن IO::Poll موجود
متاحة وقابلة للتحميل.

=for poe_tests
اختبارات التخطي الفرعية {
إرجاع "IO::Poll غير متوافق بنسبة 100% مع $^O" إذا كان $^O eq "MSWin32";
قم بإرجاع "اختبارات IO::Poll تتطلب وحدة IO::Poll" إذا (
افعل { تقييم "استخدم IO::Poll"; $@ }
);
}

POE::Loop::Select ليس له متطلبات محددة.

=for poe_tests
اختبارات التخطي الفرعية {العودة}

يحتاج POE::Loop::Tk إلى شاشة X (باستثناء نظام التشغيل Windows). المعارف التقليدية ليست آمنة ل فرع()، لذا تخطي
الاختبارات التي تتطلب شوكة. وأخيرًا، تحقق مما إذا كانت وحدة Tk متاحة أم لا،
قابلة للتحميل، وقابلة للتشغيل.

=for poe_tests
اختبارات التخطي الفرعية {
إرجاع "Tk يحتاج إلى عرض (قم بتعيين واحد اليوم، حسنًا؟)" ما لم (
(محدد $ENV{DISPLAY} والطول $ENV{DISPLAY}) أو $^O مكافئ "MSWin32"
);
$test_name = Shift;
إذا ($test_name مكافئ "k_signals_rerun" و $^O مكافئ "MSWin32") {
return "يتعطل هذا الاختبار لـ Perl عند تشغيله باستخدام Tk على $^O";
}
إرجاع "اختبارات Tk تتطلب وحدة Tk" إذا do { eval "use Tk"; $@ };
my $m = eval { Tk::MainWindow->new() };
إذا ($@) {
$لماذا = $@;
$why =~ s/ at .*//;
return "تعذرت تهيئة Tk: $why";
}
العودة؛
}

تثبيت SCRIPT الاندماج


بدأت اختبارات POE::Loop كجزء من توزيع POE. جميع التوصيات
ويتم كتابة الأمثلة التالية واختبارها مقابل ExtUtils::MakeMaker لأن هذا هو الحال
ما يستخدمه بو. يرجى تعديل هذه الوصفات حسب ذوقك وتفضيلاتك.

دعوة ال اختبار مولد كهرباء
يجب إنشاء الاختبارات قبل قيام المستخدم أو غلاف CPAN بتشغيل "إجراء الاختبار". مرتب
قد تكون طريقة القيام بذلك هي إنشاء هدف Makefile جديد وإدراجه باعتباره تبعية
من أجل "إجراء اختبار". يتخذ POE أسلوبًا أبسط، حيث يستدعي البرنامج النصي من ملف Makefile.PL الخاص به:

النظام(
$^X، "اختبارات poe-gen"، "--dirbase"، "t/30_loops"،
"--loop"، "الحدث"، "--loop"، "Gtk"، "--loop"، "IO::Poll"،
"--حلقة"، "حدد"، "--حلقة"، "تك"،
) ويموت $!;

يُنشئ الأسلوب السابق اختبارات في وقت التثبيت، لذلك ليس من الضروري تضمينها
الملفات التي تم إنشاؤها في MANIFEST. يجب أيضًا استبعاد أدلة الاختبار من ملف
يظهر. ستقوم اختبارات poe-gen بإنشاء المسارات اللازمة.

من الممكن أيضًا إنشاء الاختبارات قبل "إنشاء التوزيع". التوزيعة
يجب أن يتضمن البيان الملفات التي تم إنشاؤها في هذه الحالة.

لن يحتاج معظم الأشخاص إلى إضافة الاختبارات التي تم إنشاؤها إلى مستودعاتهم.

الركض ال اختبارات


بشكل افتراضي، يقوم ExtUtils::MakeMaker بإنشاء ملفات Makefiles التي تقوم فقط بتشغيل الاختبارات المطابقة لـ t/*.t.
ومع ذلك، يُسمح للمؤلفين بتحديد مواقع اختبار أخرى. أضف المعلمة التالية
إلى اكتب مايفيل () بحيث سيتم تنفيذ الاختبارات التي تم إنشاؤها أعلاه:

الاختبارات => {
الاختبارات => "t/*.tt/30_loops/*/*.t"،
}

تنظيف UP


لن تقوم Makefiles بتنظيف الملفات غير الموجودة في البيان. هذا يتضمن
الاختبارات التي تم إنشاؤها في وقت التثبيت. إذا كان هذا يزعجك، فستحتاج إلى إضافة توجيهات إلى
قم بتضمين الاختبارات التي تم إنشاؤها في الأهداف "النظيفة" و"المنظفة".

نظيف => {
الملفات => "t/30_loops/*/* t/30_loops/*"،
}

يفترض هذا أن الدليل "t/30_loops" يحتوي على الاختبارات التي تم إنشاؤها فقط. يوصى به
التي لا تتواجد الاختبارات التي تم إنشاؤها وترميزها يدويًا في نفس الدليل.

يبدو أن حذف الدلائل والملفات الأعمق قبل والديهم فكرة جيدة.

تخطي شبكة اختبارات


تتطلب بعض الاختبارات التي تم إنشاؤها وجود شبكة ويمكن الوصول إليها. ستكون تلك الاختبارات
تم تخطيه ما لم يكن الملف "run_network_tests" موجودًا في دليل التوزيع الرئيسي.
يمكنك تضمين هذا الملف في كرة القطران الخاصة بالتوزيع، ولكن من الأفضل إنشائه على
تثبيت الوقت بعد أن يطلب من المستخدم. وإليك كيف يفعل POE ذلك. بطبيعة الحال أنت حر في القيام بذلك
بطريقة أخرى.

# قم بالتبديل إلى السلوك الافتراضي إذا لم يكن STDIN tty.

ما لم (-t STDIN) {
تحذير(
"\ن"،
"=================================================\n "،
"STDIN ليس محطة طرفية. بافتراض --default.\n\n"،
"=================================================\n "،
);
ادفع @ARGV، "--افتراضي"؛
}

# ذكّر المستخدم بأنه يمكنه استخدام --default.

ما لم (grep /^--default$/, @ARGV) {
تحذير(
"\ن"،
"======================================================================= ن\ن"،
"قد يتم تجاوز الموجهات باستخدام العلامة --default.\n\n"،
"======================================================================= ن\ن"،
);
}

# هل يجب علينا إجراء اختبارات الشبكة؟

موجه $ الخاص بي = (
"تتطلب بعض اختبارات POE شبكة فعالة.\n" .
"يمكنك تخطي هذه الاختبارات إذا كنت ترغب في ذلك.\n\n" .
"هل ترغب في تخطي اختبارات الشبكة؟"
);

$ret = "n";
إذا (grep /^--default$/, @ARGV) {
طباعة $prompt, " [$ret] $ret\n\n";
}
آخر {
$ret = موجه($prompt, "n");
}

علامة $ الخاصة بي = 'run_network_tests'؛
إلغاء ربط $marker;
ما لم ($ret =~ /^Y$/i) {
افتح (TOUCH، "+>$marker") وأغلق TOUCH؛
}

طباعة "\ n" ؛

تخطي أخرى اختبارات


ستعمل اختبارات حلقة POE على تمكين أو تعطيل الاختبارات بناءً على إمكانيات حلقة الحدث.
قد تقوم التوزيعات وحلقات الأحداث بتعيين هذه المتغيرات للإشارة إلى الاختبارات المناسبة لها
يركض.

POE_LOOP_USES_POLL
بعض المنصات لا تدعم تصويت() على أنواع معينة من مقابض الملفات. حلقات الحدث ذلك
تستخدم تصويت() يجب تعيين متغير البيئة هذا إلى قيمة حقيقية. وسوف يسبب الاختبارات
لتخطي هذه المجموعة المزعجة.

بوديتيز
الإصدارات السابقة من POE::Test::الحلقات الموثقة "= for poe_tests" تم إنهاؤها بواسطة الأقسام
= قطع وتحتوي على أسطر فارغة. هذا بناء جملة POD غير صحيح، وهذا هو السبب
Skip_tests() ظهرت الوظائف في perldoc وعلى search.cpan.org. بناء الجملة التالي
خطأ ولا ينبغي استخدامه. أنا آسف جدا.

=for poe_tests

الاختبارات الفرعية Skip_tests {...}

= قص

بناء الجملة الصحيح هو إنهاء "=for poe_tests" بسطر فارغ:

=for poe_tests
اختبارات التخطي الفرعية {

}

يمكن تحديد اختبارات متعددة الأسطر تحتوي على أسطر فارغة باستخدام "=begin poe_tests" الخاص بـ POD
تم إنهاؤه بواسطة "=end poe_tests".

=بدء poe_tests

اختبارات التخطي الفرعية {

}

= نهاية poe_tests

جميع صيغ الجملة الثلاثة المذكورة أعلاه مدعومة اعتبارًا من إصدار POE::Test::Loops 1.034. ال
غير صحيح = for تم إهمال بناء الجملة وستتم إزالته في بعض الإصدارات المستقبلية.

استخدم poe-gen-testsp عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

  • 1
    VBA-M (مؤرشف - الآن على جيثب)
    VBA-M (مؤرشف - الآن على جيثب)
    انتقل المشروع إلى
    https://github.com/visualboyadvance-m/visualboyadvance-m
    الميزات: غش إبداعات حفظ الدول
    النظام يدعم gba ، gbc ، gb ، sgb ،
    sgb2Tu ...
    تنزيل VBA-M (مؤرشف - الآن على Github)
  • 2
    Stacer
    Stacer
    مُحسِّن نظام Linux ومراقبته
    مستودع جيثب:
    https://github.com/oguzhaninan/Stacer.
    الجمهور: المستخدمون النهائيون / سطح المكتب. مستخدم
    الواجهة: كيو تي. برمجة La ...
    تنزيل Stacer
  • 3
    ثعلب البرتقال
    ثعلب البرتقال
    شوكة TeamWinRecoveryProject (TWRP)
    مع العديد من الوظائف الإضافية ، إعادة التصميم
    والمزيد من الميزات: يدعم التريبل و
    نواة أوريو حديثة ،
    مبني...
    تنزيل OrangeFox
  • 4
    itop - المصدر المفتوح ITSM CMDB
    itop - المصدر المفتوح ITSM CMDB
    بوابة عمليات تكنولوجيا المعلومات: مفتوحة بالكامل
    المصدر ، ITIL ، الخدمة المستندة إلى الويب
    بما في ذلك أداة إدارة بشكل كامل
    CMDB قابل للتخصيص ونظام مكتب المساعدة و
    رجل وثيقة ...
    قم بتنزيل itop - ITSM CMDB OpenSource
  • 5
    كليمنتين
    كليمنتين
    كليمنتين هي موسيقى متعددة المنصات
    مشغل ومنظم مكتبة مستوحى من
    أمروك 1.4 لديها سريع و
    واجهة سهلة الاستخدام ، وتتيح لك
    البحث و ...
    تحميل كليمنتين
  • 6
    XISMuS
    XISMuS
    تنبيه: التحديث التراكمي 2.4.3 له
    أطلق سراحه !! التحديث يعمل لأي
    الإصدار 2.xx السابق. في حالة الترقية
    من الإصدار v1.xx ، يرجى التنزيل و
    ط ...
    تنزيل XISMuS
  • أكثر "

أوامر لينكس

Ad