ক্রোমিয়াম ক্রনিকল #14: জলপ্রপাতে পরীক্ষা যোগ করা

পর্ব 14: MTV-তে Zhaoyang Li, TOK-এ এরিক আলেশায়ার (অক্টোবর, 2020)
আগের পর্বগুলো

Chrome এ আপনার নতুন বৈশিষ্ট্যের জন্য রিগ্রেশন সনাক্ত করতে চান? জলপ্রপাত (Chrome এর ক্রমাগত নির্মাণ এবং পরিকাঠামো পরীক্ষা) আপনার পরীক্ষা যোগ করুন!

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

নতুন পরীক্ষাগুলি কি একেবারে নতুন স্যুটে থাকা উচিত, নাকি বিদ্যমান একটিতে যোগ করা উচিত?

  • উৎসের অবস্থান এবং থিমের নৈকট্য অনুসারে টেস্ট স্যুটগুলিতে পরীক্ষাগুলি সংগঠিত হয়। যদি আপনার নতুন পরীক্ষাগুলি কোনো বিদ্যমান স্যুটে যৌক্তিকভাবে ফিট করতে না পারে, তাহলে আপনার সম্ভবত একটি নতুন স্যুটের প্রয়োজন।

পরীক্ষাগুলি কি পাবলিক বিল্ডার বা অভ্যন্তরীণ বিল্ডারের উপর চালানো উচিত?

  • যদি কোডটি একটি অভ্যন্তরীণ রেপোতে থাকে বা পরীক্ষায় গোপনীয় তথ্য জড়িত থাকে তাহলে একটি অভ্যন্তরীণ নির্মাতা ব্যবহার করুন৷

পরীক্ষাগুলি কি FYI CI, প্রধান CI বা কমিট কিউ (CQ) এ চালানো উচিত?

  • FYI CI-এর আপনার স্ব-পর্যবেক্ষণ প্রয়োজন এবং পরীক্ষা পরিমার্জন বা পরীক্ষা-নিরীক্ষার জন্য ব্যবহার করা হয়।
  • প্রধান CI পরীক্ষাগুলি শেরিফদের দ্বারা নিয়মিত পর্যবেক্ষণ করা হয়
  • CQ ব্যর্থ হলে CL জমা দেওয়া ব্লক করে কিন্তু আরও ইনফ্রা রিসোর্স লাগেCQ-এ উন্নীত হওয়ার আগে একটি নতুন স্যুট সর্বদা CI থেকে শুরু করা উচিত।
  • আপনি যদি নিশ্চিত না হন, আপনার প্ল্যাটফর্মের EngProd টিম আপনাকে সিদ্ধান্ত নিতে সাহায্য করতে পারে।

আমার ইতিমধ্যেই CI-তে একটি পরীক্ষা স্যুট চলছে, আমি কীভাবে এটি CQ-তে যোগ করব? / আমার যদি একজন নতুন নির্মাতার প্রয়োজন হয়?

কিভাবে একটি বিদ্যমান বিল্ডার একটি পরীক্ষা স্যুট যোগ করুন

একটি বিদ্যমান বিল্ডারে একটি পরীক্ষা স্যুট যোগ করতে, আপনাকে কিছু ফাইল কনফিগার করতে হবে //src/testing/buildbot/ :

  1. টেস্ট টার্গেট লেবেল এবং টাইপ তথ্য সহ নতুন টেস্ট স্যুটের জন্য gn_isolate_map.pylএকটি কী তৈরি করুন
  2. test_suites.pylএকটি পরীক্ষা গ্রুপে সেই কী যোগ করুন । (আপনি waterfalls.pyl এ নির্মাতার নাম থেকে পরীক্ষা গোষ্ঠীতে ম্যাপিং খুঁজে পেতে পারেন।)

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. আরও সূক্ষ্ম টিউনিং।

    • mixins.pyl আর্গুমেন্ট রয়েছে যা বিভিন্ন গ্রুপ স্তরে পরীক্ষার একটি গ্রুপে প্রয়োগ করা যেতে পারে।
    • variants.pyl বিভিন্ন আর্গুমেন্ট সহ একাধিক উদাহরণে একটি স্যুট চালাতে সাহায্য করে।
  4. generate_buildbot_json.py চালিয়ে কনফিগারেশন ফাইলগুলি পুনরায় তৈরি করুন

এর পরে, আপনার কনফিগার পরিবর্তনগুলি পরীক্ষা করা একটি সহজ বিষয়; এই স্যুটটি চালনাকারী নির্মাতারা স্বয়ংক্রিয়ভাবে নতুন পরীক্ষাগুলি গ্রহণ করবে, এবং ফলাফলগুলি জলপ্রপাতের নির্মাতার জন্য ওয়েব ইন্টারফেসে প্রবাহিত হতে শুরু করবে - ব্যর্থতার ক্ষেত্রে প্রচুর ডিবাগ তথ্য সহ সম্পূর্ণ!