লিনাক্স কার্নেলটি কীভাবে পরীক্ষা করা হয়?


258

লিনাক্স কার্নেল বিকাশকারীরা স্থানীয়ভাবে এবং এটি সম্পাদন করার পরে কীভাবে তাদের কোড পরীক্ষা করে? তারা কি কোনও ধরণের ইউনিট টেস্টিং ব্যবহার করে, অটোমেশন তৈরি করে? পরীক্ষার পরিকল্পনা?


16
youtube.com/watch?v=L2SED6sewRw , কোথাও, আমি ঠিক মনে করতে পারি না, তবে আমি মনে করি QA বিভাগে এটি সম্পর্কে কথা বলা হচ্ছে।
Anders

6
অ্যান্ডারসের লিঙ্কটি দুর্দান্ত - শীর্ষস্থানীয় কার্নেল বিকাশকারী গ্রেগ ক্রোহ হার্টম্যানের গুগল টেক টক। তিনি নীচে প্রদত্ত উত্তরটি কার্নেল বিকাশকারী @ অ্যাডোব্রায়ান দ্বারা বৈধতা দিয়েছেন। গ্রেগ কার্নেলের সম্পর্কে মজাদার জিনিসটি নোট করে - এটি চালানো ছাড়া টেস্ট করার ভাল কোনও উপায় নয় - ইউনিট পরীক্ষা করা কঠিন ইত্যাদি - অনেক অনুমতি ut "আমরা পরীক্ষার জন্য উন্নয়ন সম্প্রদায়ের উপর নির্ভর করি। আমরা যতটা কার্যকরী পরীক্ষা পেতে পারি এবং পারফরম্যান্স টেস্টও চাই।" সরাসরি পরীক্ষার আলোচনার একটি লিঙ্ক হ'ল youtube.com/…
nealmcb

ভিএমগুলির জনপ্রিয়তার সাথে, কি গুচ্ছ কনফিগার পারমুটিশনগুলির সাহায্যে কার্নেলটি তৈরি করে এবং সেগুলি বুট করার চেষ্টা করে এটিকে স্বয়ংক্রিয় করা সম্ভব হবে না? এটি কোনও উপায়ে "ইউনিট" পরীক্ষা হবে না তবে এটি বাগগুলি ধরতে পারে।
ড্যানিয়েল ক্যাপলান

@ ড্যানিয়েলক্যাপলান: আপনি যদি ধরে নেন যে প্রায় 1000 টি মাদারবোর্ড রয়েছে যে প্রত্যেকের 10 টির মধ্যে একটি করে সিপিইউ, প্লাস 1000 পিসিআই ডিভাইসের 3, এবং 1000 ইউএসবি ডিভাইসের 3 টি রয়েছে; এবং যে কার্নেলের 1000 টি পৃথক সম্ভবত সংকলন সময় বিকল্প রয়েছে; তারপরে আপনি পরীক্ষার জন্য প্রায় 1000 * 10 * 1000 * 999 * 9981000 * 999 * 998 * 1000 সম্ভাব্য অনুমতির দিকে তাকিয়ে আছেন। আপনি যদি প্রতিটি অনুক্রমের জন্য পরীক্ষায় একটি দুর্দান্ত 8 ঘন্টা বার্ন করেন এবং একই সাথে সমান্তরালে 400 ভিএম চালানোর জন্য 100 টি সার্ভারের পুল রয়েছে; তারপরে আপনি এর 1 মিলিয়ন ভাগ পেয়েছেন পরীক্ষার ফলাফলগুলি সমস্ত অচল হয়ে যাবে কারণ কেউ কোড পরিবর্তন করেছে এবং আপনাকে আবার শুরু করতে হবে।
ব্রেন্ডন

উত্তর:


76

লিনাক্স কার্নেলের সম্প্রদায়ের পরীক্ষায় জোর দেওয়া হয়।

সাধারণত কোনও বিকাশকারী জমা দেওয়ার আগে তাদের নিজস্ব কোড পরীক্ষা করবে এবং প্রায়শই তারা লিনাস থেকে কার্নেলের একটি বিকাশ সংস্করণ ব্যবহার করবে বা তাদের কাজের সাথে সম্পর্কিত প্রকল্পের জন্য অন্য কোনও অস্থির / উন্নয়ন গাছ ব্যবহার করবে। এর অর্থ তারা প্রায়শই তাদের পরিবর্তন এবং অন্যান্য মানুষের পরিবর্তন উভয়ই পরীক্ষা করে থাকে।

আনুষ্ঠানিক পরীক্ষার পরিকল্পনার পথে তেমন কিছু হওয়ার প্রবণতা নেই, তবে বৈশিষ্ট্যগুলি উজানের গাছগুলিতে মিশে যাওয়ার আগে অতিরিক্ত পরীক্ষার জন্য বলা যেতে পারে।

ডিন যেমন উল্লেখ করেছেন, সেখানে কিছু স্বয়ংক্রিয় পরীক্ষাও রয়েছে , লিনাক্স পরীক্ষা প্রকল্প এবং কার্নেল অটোটেস্ট ( ভাল ওভারভিউ )।

বিকাশকারীরা প্রায়শই তাদের পরিবর্তন পরীক্ষা করার জন্য লক্ষ্যযুক্ত স্বয়ংক্রিয় পরীক্ষাগুলিও লিখবেন, তবে আমি নিশ্চিত নই যে এই অ্যাডহক পরীক্ষাগুলি কেন্দ্রীয়ভাবে সংগ্রহ করার জন্য একটি (প্রায়শই ব্যবহৃত) মেকানিজম রয়েছে।

কার্নেলের কোন ক্ষেত্রটি অবশ্যই পরিবর্তন করা হচ্ছে তার উপর এটি অনেকটাই নির্ভর করে - মূল নেটওয়ার্কিং অ্যালগরিদম প্রতিস্থাপন করার সময় আপনি যে নতুন পরীক্ষাটি নতুন নেটওয়ার্ক ড্রাইভারের জন্য করতেন তা যে টেস্টিংয়ের চেয়ে ভাল তা ভিন্ন।


8
+1, অর্ধেক যুদ্ধ কেবল চালকদের উপর নির্ভর করে এমন কিছু ভেঙে দেয় না, তাই বছরের পর বছর ধরে বিকেএল এর অধ্যবসায়। অন্যটি বিবেচনার বিষয় হ'ল বিভিন্ন সাবকিউটার্কে অনেকগুলি সাব-সিস্টেমের পরীক্ষা করা, যা লিনাক্স প্রাপ্ত সম্প্রদায়ের অপব্যবহার, ভুল পরীক্ষা-নিরীক্ষার সাথে কেবল ব্যবহারিকভাবেই সম্ভব।
টিম পোস্ট

66

স্বাভাবিকভাবেই, কার্নেল নিজেই এবং এর অংশগুলি মুক্তির আগে পরীক্ষা করা হয়, তবে এই পরীক্ষাগুলি কেবলমাত্র মৌলিক কার্যকারিতা জুড়ে। কিছু টেস্টিং সিস্টেম রয়েছে যা লিনাক্স কার্নেলের পরীক্ষা করে:

লিনাক্স টেস্ট প্রকল্প (এলটিপি) ওপেন সোর্স সম্প্রদায়ে টেস্ট স্যুট সরবরাহ করে যা লিনাক্সের নির্ভরযোগ্যতা এবং স্থায়িত্বকে বৈধ করে তোলে। LTP টেস্ট স্যুইটে লিনাক্স কার্নেল এবং সম্পর্কিত বৈশিষ্ট্যগুলি পরীক্ষার জন্য সরঞ্জামগুলির সংকলন রয়েছে। https://github.com/linux-test-project/ltp

অটোস্টেস্ট - সম্পূর্ণ স্বয়ংক্রিয় পরীক্ষার জন্য একটি কাঠামো। এটি মূলত লিনাক্স কার্নেল পরীক্ষা করার জন্য ডিজাইন করা হয়েছে, যদিও এটি অন্যান্য হার্ডওয়্যার, ভার্চুয়ালাইজেশন পরীক্ষা এবং অন্যান্য সাধারণ ব্যবহারকারী স্থান স্পেস প্রোগ্রাম পরীক্ষার জন্য লিনাক্স প্ল্যাটফর্মের অধীনে ব্যবহারযোগ্য। এটি জিপিএলের আওতায় একটি ওপেন সোর্স প্রকল্প এবং এটি গুগল, আইবিএম, রেড হ্যাট এবং আরও অনেকগুলি সংস্থার দ্বারা ব্যবহৃত এবং বিকাশিত। http://autotest.github.io/

এছাড়াও কয়েকটি বড় জিএনইউ / লিনাক্স বিতরণ সংস্থাগুলি দ্বারা বিকাশ করা শংসাপত্র সিস্টেম রয়েছে। এই সিস্টেমগুলি সাধারণত হার্ডওয়্যার সাথে সামঞ্জস্যের জন্য সম্পূর্ণ GNU / লিনাক্স বিতরণ পরীক্ষা করে। সার্টিফিকেশন সিস্টেম দ্বারা উন্নত আছে নোভেল, রেড হ্যাট, ওরাকল, ক্যানোনিকাল, গুগল

লিনাক্স কার্নেলের গতিশীল বিশ্লেষণের জন্য সিস্টেমগুলি রয়েছে:

Kmemleak লিনাক্স কার্নেলের অন্তর্ভুক্ত একটি মেমরি ফাঁস সনাক্তকারী। এটি একটি ট্র্যাসিং আবর্জনা সংগ্রহকারীর মতো পার্থক্যের সাথে অনাথ বস্তুগুলি মুক্তি দেওয়া হয় না তবে কেবলমাত্র / sys / কার্নেল / ডিবাগ / কেমেলেকের মাধ্যমে রিপোর্ট করা সম্ভব কর্নেল মেমরি ফাঁস সনাক্ত করার একটি উপায় সরবরাহ করে।

কেমেচেক প্রতিটি পাঠ্য এবং মেমরির লেখাকে ফাঁদে ফেলে যা ডায়নামিকভাবে বরাদ্দ করা হয়েছিল (যেমন কেমলোক () সহ)। যদি কোনও মেমরি ঠিকানা পড়ে থাকে যা আগে লেখা হয় নি, কার্নেল লগে একটি বার্তা মুদ্রিত হবে। লিনাক্স কার্নেলের একটি অংশও

ফল্ট ইনজেকশন ফ্রেমওয়ার্ক (লিনাক্স কার্নেলের অন্তর্ভুক্ত) সিস্টেমের উচ্চতর কভারেজ এবং ফল্ট সহনশীলতা অর্জনের জন্য একটি অ্যাপ্লিকেশনটির লজিকটিতে ত্রুটি এবং ব্যতিক্রমগুলি সংযোজন করার অনুমতি দেয়।


62

লিনাক্স কার্নেল বিকাশকারীরা কীভাবে তাদের কোডটি স্থানীয়ভাবে এবং এটি প্রতিশ্রুতিবদ্ধ হওয়ার পরে পরীক্ষা করে?

তারা কি কোনও ধরণের ইউনিট টেস্টিং ব্যবহার করে, অটোমেশন তৈরি করে?

শব্দগুলির ক্লাসিক অর্থে, না।

E. g। ইনগো মোলনার নিম্নলিখিত ওয়ার্কলোডটি চালাচ্ছেন: 1. কনফিগার বিকল্পের র্যান্ডম সেট সহ নতুন কার্নেল তৈরি করুন 2. এটিতে বুট করুন 3. গোটো 1

প্রতিটি বিল্ড ব্যর্থ, বুট ব্যর্থ, বিইউজি বা রানটাইম সতর্কতা মোকাবেলা করা হয়। 24/7। বেশ কয়েকটি বাক্সে গুণ করুন এবং একটি বেশ কয়েকটি সমস্যার সমাধান করতে পারে।

পরীক্ষার পরিকল্পনা?

না।

সেখানে ভুল বোঝাবুঝি হতে পারে যে এখানে কেন্দ্রীয় পরীক্ষার সুবিধা রয়েছে, সেখানে কিছুই নেই। প্রত্যেকে যা চায় তাই করে।


6
এই যেমন সাইটের অস্তিত্ব দেওয়া এবং এটি আমি এই উত্তরের বৈধতা নিয়েও প্রশ্ন করব।
ডিন হার্ডিং

3
আমি মনে করি অ্যাডোব্রায়ানের উত্তরের মূলটি "সেখানে কেন্দ্রীয় পরীক্ষার সুবিধা আছে, কিছুই নেই"। প্রায় সঠিক। তবে বিভিন্ন গ্রুপ বিভিন্ন স্তরের পরীক্ষার কাজ করে, এটি কার্নেলটি সম্পূর্ণরূপে অনির্ধারিত বলে মনে হয় না।
stsquad

2
আমি মনে করি SUSE এবং RedHat উভয়ই তাদের নিজস্ব কার্নেল পরীক্ষা করার পাশাপাশি প্রায়শই ভ্যানিলা পরীক্ষা করে। এখানে প্রতি সেন্ট্রাল কোনও টেস্টিং নেই, তবে তবুও একটি পরীক্ষা চলছে - লিনাক্সের প্রধান ব্যবহারকারীরা। অন্যথায় মন্তব্য দাঁড়িয়ে। যদি এটি কম কৌতুকপূর্ণভাবে লেখা থাকে তবে আমি এটিকে আরও মোড করে তুলতাম।
ডমি 100001

55
Errr, আপনি সমস্ত লোক বুঝতে পারি যে আলেক্সি Dobriyan না হয় একটি Linux কার্নেল ডেভেলপার?
নিনজাল্জ

9
অন্য কার্নেল বিকাশকারী হিসাবে, আমি অবশ্যই বলব যে এটি প্রশ্নের সবচেয়ে সৎ উত্তর: কার্নেলটি ক্লাসিক অর্থে পরীক্ষা করা হয় না, কেবল এটি অসম্ভব বলেই। পরীক্ষার জন্য উপলব্ধ বিকাশকারী সময়ের চেয়ে কনফিগারেশন এবং হার্ডওয়্যারের আরও সংমিশ্রণ রয়েছে। কয়েকটি ডিভাইস পরীক্ষা করার জন্য খুব কম লোকেরই প্রয়োজনীয় দক্ষতা রয়েছে এবং কিছু ক্ষেত্রে খুব কম লোকই আসলে কিছু নির্দিষ্ট ডিভাইসের মালিক হন।
ইজাকুইল গার্সিয়া

19

গাছের মধ্যে সরঞ্জাম

কার্নেলের মধ্যে পরীক্ষার সরঞ্জামগুলি খুঁজে পাওয়ার একটি ভাল উপায় হ'ল:

V4.0 এ, এটি আমার দিকে নিয়ে যায়:

কার্নেল সিআই

https://kernelci.org/ হ'ল এমন একটি প্রকল্প যা লক্ষ্য কর্নেল পরীক্ষাকে আরও স্বয়ংক্রিয় ও দৃশ্যমান করে তোলা।

এটি কেবল বিল্ড এবং বুট পরীক্ষা করে দেখা যাচ্ছে (বুট কাজের উত্সটি https://github.com/kernelci/ এ থাকা উচিত কীভাবে স্বয়ংক্রিয়ভাবে এটি পরীক্ষা করতে হবে ) do

লিনারো অনেক বড় সংস্থার অবদানের সাথে এই প্রকল্পের প্রধান রক্ষণাবেক্ষণকারী বলে মনে হচ্ছে: https://kernelci.org/sponsors/

লিনারো লাভা

http://www.linaro.org/initiatives/lava/ এ সিআই সিস্টেমের মতো দেখায় যা বিকাশ বোর্ড আনয়ন এবং লিনাক্স কার্নেলের উপর দৃষ্টি নিবদ্ধ করে।

আর্ম লিসা

https://github.com/ARM-software/lisa

এটি বিশদে কী করে তা নিশ্চিত নয়, তবে এটি এআরএম এবং অ্যাপাচি লাইসেন্সযুক্ত, তাই সম্ভবত এটি দেখার মতো মূল্য রয়েছে।

ডেমো: https://www.youtube.com/watch?v=yXZzzUEngiU

পদক্ষেপ ডিবাগার

সত্যই ইউনিট পরীক্ষা নয়, তবে একবার আপনার পরীক্ষাগুলি ব্যর্থ হওয়া শুরু করতে সহায়তা করতে পারে:

আমার নিজের কিউইউ + বিল্ড্রুট + পাইথন সেটআপ up

আমি উন্নয়নের স্বাচ্ছন্দ্যে একটি সেটআপও শুরু করেছি, তবে আমি এতে কিছু সাধারণ পরীক্ষার ক্ষমতা যুক্ত করেও শেষ করেছি: https://github.com/cirosantilli/linux-kernel-module-cheat/tree/8217e5508782827320209644dcbaf9a6b3141724#test- এই -repo

আমি অন্যান্য সমস্ত সেটআপগুলি বিশদভাবে বিশ্লেষণ করিনি, এবং তারা সম্ভবত আমার চেয়ে আরও অনেক কিছু করেছে, তবে আমি বিশ্বাস করি যে আমার সেটআপটি দ্রুত শুরু করা খুব সহজ কারণ এতে প্রচুর ডকুমেন্টেশন এবং অটোমেশন রয়েছে।


13

কার্নেল পরীক্ষার স্বয়ংক্রিয় করা এটি খুব সহজ নয়। বেশিরভাগ লিনাক্স বিকাশকারীরা নিজেরাই টেস্টিং করেন, যেমনটি অ্যাডোব্রায়ানের উল্লেখ করা হয়েছে।

তবে লিনাক্স কার্নেলটি ডিবাগ করার জন্য কয়েকটি জিনিস রয়েছে:

  • কেক্সেক: একটি সিস্টেম কল যা আপনাকে BIOS এ ফিরে না গিয়ে স্মৃতিতে পুনরায় বুট করার জন্য আর একটি কার্নেল স্থাপন করতে দেয় এবং যদি এটি ব্যর্থ হয় তবে পুনরায় বুট করুন।
  • dmesg: কার্নেল বুটের সময় কী ঘটেছিল এবং এটি কাজ করে / কাজ করে না সে সম্পর্কে অবশ্যই তথ্য অনুসন্ধান করার জায়গা।
  • কার্নেল ইনস্ট্রুমেন্টেশন: প্রিন্টকের (এবং 'CONFIG_PRINTK_TIME' নামে একটি বিকল্প যা কার্নেল আউটপুট কী যখন আপনাকে দেখার জন্য মাইক্রোসেকেন্ড নির্ভুলতার জন্য অনুমতি দেয়) ছাড়াও, কার্নেল কনফিগারেশন আপনাকে প্রচুর ট্রেসার চালু করতে দেয় যা তাদের ডিবাগ করতে সক্ষম করে হচ্ছে.

তারপরে, বিকাশকারীদের সাধারণত অন্যরা তাদের প্যাচগুলি পর্যালোচনা করে। একবার প্যাচগুলি স্থানীয়ভাবে পর্যালোচনা করা হলে এবং অন্য কোনও কাজে হস্তক্ষেপ না করতে দেখা যায় এবং প্যাচগুলি লিনাসের সর্বশেষ কার্নেলের সাথে কোনও কিছু না ভেঙে কাজ করার জন্য পরীক্ষা করা হয়, প্যাচগুলি উপরের দিকে প্রবাহিত করা হয়।

সম্পাদনা করুন: প্যানেল কার্নেলের সাথে একীভূত হওয়ার আগে একটি প্যাচটি যে প্রক্রিয়াটি পেরেছিল তার বিশদটি দেওয়ার জন্য এখানে একটি দুর্দান্ত ভিডিও


6

উপরে / নীচের পয়েন্টগুলি ছাড়াও, যেগুলি লিনাক্স কার্নেলের কার্যকারিতা পরীক্ষা, হার্ডওয়্যার সার্টিফিকেশন টেস্টিং এবং পারফরম্যান্স পরীক্ষার উপর বেশি জোর দেয়।

আসলে অনেকগুলি পরীক্ষার মধ্য দিয়ে ঘটে, আসলে স্ক্রিপ্টস, স্ট্যাটিক কোড বিশ্লেষণ সরঞ্জামগুলি, কোড পর্যালোচনা ইত্যাদি যা বাগগুলি ধরতে খুব দক্ষ, যা অন্যথায় অ্যাপ্লিকেশনটিতে কিছু ভাঙবে।

স্পার্স - লিনাক্স কার্নেলের ত্রুটিগুলি সন্ধানের জন্য ডিজাইন করা একটি মুক্ত-উত্স সরঞ্জাম।

কোকিনেল হ'ল আরেকটি প্রোগ্রাম যা ম্যাচিং এবং ট্রান্সফর্মেশন ইঞ্জিন করে যা সি কোডে কাঙ্ক্ষিত ম্যাচগুলি এবং রূপান্তরকরণের জন্য ভাষা স্মিপিএল (শব্দার্থ প্যাচ ল্যাঙ্গুয়েজ) সরবরাহ করে।

চেকপ্যাচ.পিএল এবং অন্যান্য স্ক্রিপ্টস - কোডিং শৈলী সংক্রান্ত সমস্যাগুলি কার্নেল উত্স ট্রিতে ডকুমেন্টেশন / কোডিং স্টাইল ফাইলটিতে পাওয়া যাবে। এটি পড়ার সময় মনে রাখা গুরুত্বপূর্ণ বিষয়টি এই নয় যে এই শৈলীটি অন্য কোনও শৈলীর চেয়ে একরকম ভাল, কেবল এটি সামঞ্জস্যপূর্ণ। এটি বিকাশকারীদের সহজেই কোডিং শৈলীর সমস্যাগুলি সহজে সমাধান এবং সমাধান করতে সহায়তা করে, কার্নেল উত্স ট্রিতে স্ক্রিপ্ট স্ক্রিপ্ট / চেকপ্যাচ.পিএল বিকাশ করা হয়েছে। এই স্ক্রিপ্টটি সমস্যাগুলি সহজেই চিহ্নিত করতে পারে এবং পর্যালোচককে পরে সমস্যাগুলি নির্দেশ করে তাদের সময় নষ্ট না করে পরিবর্তে সর্বদা তাদের পরিবর্তনগুলি বিকাশকারী দ্বারা চালিত করা উচিত।


3

আমি কল্পনা করব যে তারা দ্রুত পরীক্ষা করতে কিউইউএমইউ, ভার্চুয়ালবক্স বা জেনের মতো কিছু এবং কনফিগারেশন এবং স্বয়ংক্রিয় পরীক্ষার জন্য কিছু স্ক্রিপ্ট ব্যবহার করতে ভার্চুয়ালাইজেশন ব্যবহার করে।

অটোমেটেড টেস্টিং সম্ভবত অনেকগুলি এলোমেলো কনফিগারেশন বা কয়েকটি নির্দিষ্ট (যদি তারা একটি নির্দিষ্ট সমস্যা নিয়ে কাজ করে থাকে) চেষ্টা করে হয়। লিনাক্সের কার্নেল থেকে ডেবিগ ডেটা নিরীক্ষণ এবং লগ করার জন্য প্রচুর নিম্ন-স্তরের সরঞ্জাম রয়েছে (যেমন dmesg), তাই আমি কল্পনা করি যে এটিও ব্যবহৃত হয়।


আপনি অবশ্যই সঠিক। যখন আমি আমার কার্নেল মডিউলটি বিকাশ করেছি, আমি ভার্চুয়ালবক্স + কেজিডিবি-র উপর নির্ভর করে লাইন-বাই-লাইন দ্বারা কার্নেল কার্যকারিতাটি সনাক্ত করতে। হ্যাঁ, সম্পূর্ণ কার্নেলটি লাইন-বাই-লাইন চালানো দেখতে জিডিবি সত্যিই দুর্দান্ত। : ভ্যালেরি অররা, বিখ্যাত কার্নেল ডেভেলপার, যেমন সঙ্গে একই youtube.com/watch?v=Tach2CheAc8 । ভিডিওটির অভ্যন্তরে আপনি দেখতে পাচ্ছেন যে কীভাবে তিনি কার্নেলের মধ্য দিয়ে যাওয়ার জন্য ব্যবহারকারীমোডলিনাক্স ভার্চুয়ালাইজেশন ব্যবহার করেন।
পিটার টেওহ

3

এছাড়াও আছে:

ফলাফল বিশ্লেষণের জন্য এমএমটি টেস্টগুলি যা বেঞ্চমার্ক এবং স্ক্রিপ্টগুলির সংগ্রহ

https://github.com/gormanm/mmtests

ট্রিনিটি যা লিনাক্স সিস্টেম কল ফজ পরীক্ষক

http://codemonkey.org.uk/projects/trinity/

এছাড়াও সোর্সফোজের এলটিপি পৃষ্ঠাগুলি বেশ পুরানো এবং প্রকল্পটি গিটহাব https://github.com/linux-test-project/ltp এ চলে গেছে


1

যতদূর আমি জানি, একটি স্বয়ংক্রিয়ভাবে পারফরম্যান্স রিগ্রেশন চেক টুল রয়েছে (নাম দেওয়া হয়েছে lkp / 0 দিন) ইন্টেলের দ্বারা চালিত / তহবিল, এটি মেলিং তালিকায় প্রেরিত প্রতিটি বৈধ প্যাচ পরীক্ষা করবে এবং হ্যাকবেঞ্চের মতো বিভিন্ন মাইক্রোব্যাঙ্কমার্ক থেকে পরিবর্তিত স্কোরগুলি পরীক্ষা করবে , ফাইও, ইউনিক্সবেঞ্চ, নেটপার্ফ ইত্যাদি একবার পারফরম্যান্স রিগ্রেশন / উন্নতি হয়ে গেলে, সম্পর্কিত প্রতিবেদনটি সরাসরি প্যাচ লেখক এবং সিসি সম্পর্কিত রক্ষণাবেক্ষণকারীদের কাছে প্রেরণ করা হবে।



0

অ্যাডোব্রায়ান ইনগোয়ের এলোমেলো কনফিগার বিল্ড পরীক্ষার উল্লেখ করেছে। এটি এখন 0-দিনের টেস্ট বট (ওরফে কেবিল্ড টেস্ট বট) দ্বারা আচ্ছাদিত। পরিকাঠামো সম্পর্কে একটি দুর্দান্ত নিবন্ধ এখানে উপস্থাপন করা হয়েছে: কার্নেল বিল্ড / বুট পরীক্ষা

এই সেট আপের পিছনে ধারণাটি হ'ল বিকাশকারীদের এএসএপকে অবহিত করা যাতে তারা খুব শীঘ্রই ত্রুটিগুলি সংশোধন করতে পারে। (প্যাচগুলি কিছু ক্ষেত্রে লিনাসের গাছে পরিণত করার আগে কেবিল্ড অবকাঠামো রক্ষণাবেক্ষণকারীদের সাবসিস্টেম গাছের বিরুদ্ধেও পরীক্ষা করে)


0

আমি লিনাক্স কার্নেল সংকলন করেছি এবং অ্যান্ড্রয়েডের জন্য কিছু পরিবর্তন করেছি (মার্শমালো এবং নুগ্যাট) যেখানে আমি লিনাক্স সংস্করণটি ব্যবহার করি I. আমি এটি লিনাক্স সিস্টেমে ক্রস-সংকলিত করেছি, ত্রুটিগুলি নিজেই ডিবাগ করেছি এবং তারপরে অ্যান্ড্রয়েডে এটির বুট চিত্র ফাইলটি চালাচ্ছি এবং পরীক্ষা করে দেখুন কিনা এটি লুপ-গর্তে যাচ্ছিল কি না। যদি এটি নিখুঁত হয় তবে এর অর্থ এটি সিস্টেমের প্রয়োজনীয়তা অনুযায়ী নিখুঁতভাবে সংকলিত।
মোটোগুলি কার্নেল সংকলনের জন্য

দ্রষ্টব্য: - লিনাক্স কার্নেল সিস্টেম হার্ডওয়ারের উপর নির্ভরশীল প্রয়োজনীয়তা অনুসারে পরিবর্তন হবে


0

অবদানকারীরা তাদের প্যাচ ফাইলগুলি জমা দেওয়ার পরে এবং মার্জ করার অনুরোধ করার পরে লিনাক্স গেটকিপাররা প্যাচটি সংহত করে পর্যালোচনা করছে it এটি সফল হলে যদি তারা প্যাচটিকে প্রাসঙ্গিক শাখায় মার্জ করে এবং নতুন সংস্করণ প্রকাশ করবে। লিনাক্স টেস্ট প্রকল্প ( https://github.com/linux-test-project/ltp ) হ'ল প্রধান উত্স যা প্যাচ প্রয়োগের পরে কার্নেলের বিরুদ্ধে চালানোর জন্য পরীক্ষার পরিস্থিতি (টেস্ট কেসগুলি) সরবরাহ করে। এটি প্রায় 2 ~ 4 ঘন্টা সময় নিতে পারে এবং নির্ভর করে। নির্বাচিত কার্নেলের ফাইল সিস্টেম সম্পর্কিত পরীক্ষা করুন। উদাহরণস্বরূপ: Ext4 এক্সট 3 এর বিপরীতে বিভিন্ন ফলাফল উত্পন্ন করে।

কার্নেল পরীক্ষার পদ্ধতি।

  1. সংগ্রহস্থল থেকে সর্বশেষতম কার্নেল উত্স পান (( https://www.kernel.org/ বা Github.com)
  2. প্যাচ ফাইল প্রয়োগ করুন (ডিফ সরঞ্জাম ব্যবহার করে)
  3. নতুন কার্নেল তৈরি করুন।
  4. এলটিপিতে পরীক্ষার পদ্ধতির বিরুদ্ধে পরীক্ষা ( https://github.com/linux-test-project/ltp )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.