ايٿيرس ، هڪ پئٿون ڪوڊ ٽيسٽنگ ٽوليڪٽ

گوگل لانچ ٿي وئي تازو رليز ٿيو ايٿيرس منصوبو، جيڪو هڪ ترقي آهي کليل ذريعو اوزار جو هڪ سيٽ خاص پٿن ڪوڊ جي فيوزن ٽيسٽ لاءِ ۽ سي پيٿون لاءِ سي / سي ++ ۾ لکيو ويو آهي.

پروجيڪٽ ليب فيوزر جي بنياد تي انجن استعمال ڪندو آهي ۽ اضافي غلطين جي نشاندهي ڪرڻ لاءِ ايڊريس سينٽريٽر ۽ اڻ efاتل رويي سينٽيٽرن اوزارن سان گڏ استعمال ٿي سگهي ٿو. ڪوڊ ايڪسچي 2.0 لائسنس تحت کليل آهي.

گوگل ايٿريس بابت

گوگل ايٿريس جي لفظن ۾ ، هي هڪ ٽول کٽ آهي ، جيڪو پائٿون ڪوڊ ۽ ڏيهي ڏيensionsي ۾ پاڻمرادو غلطيون ڳولڻ لاءِ استعمال ڪري سگهجي ٿو. ايٿيرس هڪ ’ڪوريج تي ڀاڙيندڙ‘ فيوزر آهي ، جنهن جو مطلب اهو آهي ته ايٿريس توهان جي پروگرام ۾ مختلف انپٽ بار بار ڪوشش ڪندو جڏهن ته ان کي هلندو ۽ دلچسپ رستا ڳولڻ جي ڪوشش ڪندو.

ڪوڊ جو جائزو پٿن 2.7 ۽ پٿن 3.3+ جي حمايت ڪئي وئي آهيپر ، مڪمل ، هدايت واري ڪوريج لاءِ ، اسان پائٿون 3.8 ۽ 3.9 برانچ استعمال ڪرڻ جي صلاح ڏيون ٿا ، جيڪي هاڻ اوپي ڪوڊ پاران اوپڪوڊ شماريات جي مدد ڪن ٿا.

پروسيس ۾ ايٿيرس انپٽ ڊيٽا جي ممڪن گڏجاڻين جي فهرست ٺاهي ٿو ۽ رپورٽ ٺاهي ٿو سڀني معلوم ٿيل نقصن ۽ غير محفوظ استثنائن تي.

مثال طور ، جڏهن ايٿريس ۾ YAML پارسنگ لائبريري کي چڪاس ڪيو ويو ، اهو معلوم ٿيو ته ڪجهه YAML تعميرون ، جهڙوڪ "-_" کي انجيگر ويليو جي بدران يا چيلينج جي بدران هڪ فهرست استعمال ڪندي ، اڻ exceptionاڻائي ڪٽ YAMLE غلطي جي غلطي آهي.

فيوز ٽيسٽ پروگرامنگ جي غلطين کي دريافت ڪرڻ لاءِ هڪ مشهور ٽيڪنالاجي آهي. انهن مان گهڻيون قابل شناخت غلطيون سخت حفاظتي اثر رکن ٿيون. هن ٽيڪنالاجي کي استعمال ڪندي گوگل هزارين حفاظتي خاميون ۽ ٻيا ڪيڙا ڳولي لڌا آهن. فائيزنگ روايتي طور تي آيائي ٻولين ۾ سي يا سي ++ وانگر استعمال ٿئي ٿي ، پر گذريل سال اسان هڪ نئين پيٿن فيوزن انجڻ ٺاهي. ا ، اسان ايٿيرس فيوزننگ انجن کي اوپن سورس جي طور تي جاري ڪيو.

ايٿريس رويي ۾ اختلافن جي نشاندهي لاءِ به استعمال ڪري سگهجي ٿو لائبريريون هڪ ئي ڪم کي ھدف بڻائيندي مثال طور ، پئٿون پيڪيج جو خلاصو چيڪ “idna” ۽ لائبريري “libidn2” ، جيڪي بين القوامي ڊومين جي نالن کي ڊيڪ ڪرڻ جو ڪم سرانجام ڏين ٿيون ، ڏٺائين ته اهي هميشه ساڳيا نتيجا پيدا نه ڪندا آهن.

Atheris لاءِ بهترين استعمالن مان ھڪڙو آھي diffusers. هي اهي فائيزر آهن جيڪي ٻن لائبريرين جي رويي ۾ اختلافن کي ڳوليندا آهن جيڪي هڪ ئي ڪم ڪرڻ لاءِ هوندا آهن. مثال طور استعمال ڪيو ويو آهي فيوزرز ايٿيرس سان گڏ هڪ ترتيب هن پينٿون جي ”آئيڊنا“ جي نسبت سان سي ”ليبڊ 2“ جي پيشڪش سان سمجهه ۾ ايندا آهن.

خاص طور تي ، اگر ڊومين يونيڪوڊ جي تسلسل استعمال ڪندو آهي ، ته پوءِ ”idna“ ۽ ”libidn2“ بين الاقوامي ڪيل ڊومين جو نالو مختلف ميزبانن ۾ تبديل ڪيو.

عام طور تي ، ايٿيرس خالص پائٿون ڪوڊ ۾ مفيد آهي جيستائين اهو اظهار ڪرڻ جو هڪ طريقو آهي ته ”صحيح“ رويو ڇا آهي ، يا گهٽ ۾ گهٽ اهو ظاهر ڪرڻ ته ڪهڙا رويا ضرور صحيح نه آهن. اھو پيچيده طور تي ڪسٽم ڪوڊ ٿي سگھي ٿو فوزر ۾ جيڪو لائبريري جي پيداوار جي درستگي جو جائزو وٺي ٿو ، يا سادو اھو چڪاس ڪرڻ سان ته ڪو اڻ unexpectedاتل استثنا بلند نه ٿيو وڃي.

انهي کي نظر ۾ رکڻ ضروري آهي فيوزننگ ٽيسٽ ان پٽ جي ڊيٽا جي هر قسم جي بي ترتيب ترتيب جو هڪ وهڪرو ٺاهن ٿا ، اصل ڊيٽا جي ويجهو (مثال طور HTML صفحا بي ترتيب ٽيگ جا پيرا ميٽرز ، فائلون يا تصويرون غير معمولي عنوانن وغيره سان) ۽ پروسيس ۾ ممڪن خرابين کي درست ڪريو.

جيڪڏهن ڪنهن به تسلسل هڪ استثنا جو نتيجو آهي يا متوقع ردعمل سان مطابقت ناهي رکي ، اهو رويو گهڻو ڪري ڪنهن خرابي يا نقصان جي نشاندهي ڪري ٿو.

آخرڪار ، جيئن ذڪر ڪيو ويو آهي Atheris پٿرن ڪوڊ سان گڏ ورجن 2.7 ۽ 3.3+ ۾ ڪم ڪري ٿو. حالانڪه گوگل سختي سان سي پيٿون لاءِ 3.8+ ۽ اصلي واڌايون استعمال ڪرڻ جي سفارش ڪري ٿو.

ونڊوز اڃا تائين سهولتن واري آپريٽنگ سسٽم ۾ شامل ناهي، انهي ڪري انجڻ صرف لينڪس ۽ ميڪ او ايس ايڪس جي استعمال ڪندڙن لاءِ هاڻي دلچسپي آهي.

ان پليٽ فارمن تي استعمال ڪرڻ لاءِ ، ڊولپرز کي ڪلنگ ڪمپليئر فرنٽ وينڊ جو موجوده ورزن انسٽال ٿيل هجڻ ضروري آهي.

جيڪڏهن توهان انهي بابت وڌيڪ toاڻڻ چاهيندا، توھان اصل ۾ جانچ ڪري سگھوٿا هيٺين لنڪ.


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

تبصرو ڪرڻ جو پهريون

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.