এটি হল api-sanity-checker কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
api-sanity-checker - একটি C/C++ লাইব্রেরি API-এর জন্য মৌলিক ইউনিট পরীক্ষার একটি স্বয়ংক্রিয় জেনারেটর।
বর্ণনাঃ
নাম:
API স্যানিটি চেকার (api-sanity-checker) একটি C/C++ এর জন্য মৌলিক ইউনিট পরীক্ষা তৈরি করে
লাইব্রেরি API
বর্ণনাঃ
API স্যানিটি চেকার হল একটি C/C++ এর জন্য মৌলিক ইউনিট পরীক্ষার একটি স্বয়ংক্রিয় জেনারেটর
লাইব্রেরি এটি দ্রুত সহজ ("স্যানিটি" বা "অগভীর" গুণমান) পরীক্ষা তৈরি করতে সাহায্য করে
একটি API-তে প্রতিটি ফাংশনের জন্য তাদের স্বাক্ষর, ডেটা টাইপ সংজ্ঞা এবং ব্যবহার করে
লাইব্রেরি হেডার ফাইল থেকে সরাসরি ফাংশনের মধ্যে সম্পর্ক
("হেডার-চালিত প্রজন্ম")। প্রতিটি পরীক্ষার ক্ষেত্রে একটি ফাংশন কল রয়েছে
যুক্তিসঙ্গত (বেশিরভাগ ক্ষেত্রে, কিন্তু দুর্ভাগ্যবশত সব ক্ষেত্রে নয়) ইনপুট পরামিতি। দ্য
উৎপন্ন পরীক্ষার গুণমান একজনকে সহজে জটিল ত্রুটির অনুপস্থিতি পরীক্ষা করতে দেয়
কেস ব্যবহার করুন এবং অত্যন্ত পুনঃব্যবহারযোগ্য বিশেষায়িতদের জড়িত করে ব্যাপকভাবে উন্নত করা যেতে পারে
লাইব্রেরির জন্য প্রকার।
টুলটি উৎপন্ন পরীক্ষা চালাতে পারে এবং ক্র্যাশ, গর্ভপাত, সব ধরনের সনাক্ত করতে পারে
নির্গত সংকেত, নন-জিরো প্রোগ্রাম রিটার্ন কোড, প্রোগ্রাম হ্যাঙ্গিং এবং প্রয়োজনীয়তা
ব্যর্থতা (যদি নির্দিষ্ট করা হয়)। টুলটিকে আউট-অফ-বক্সের জন্য একটি সরঞ্জাম হিসাবে বিবেচনা করা যেতে পারে
লাইব্রেরি API-এর স্বল্প-মূল্যের স্যানিটি চেকিং বা একটি টেস্ট ডেভেলপমেন্ট ফ্রেমওয়ার্ক হিসাবে
উন্নত পরীক্ষার জন্য টেমপ্লেটের প্রাথমিক প্রজন্ম। এছাড়াও এটি সর্বজনীন সমর্থন করে
Template2Code পরীক্ষার ফরম্যাট, স্প্লিন্ট স্পেসিফিকেশন, র্যান্ডম টেস্ট জেনারেশন মোড
এবং অন্যান্য দরকারী বৈশিষ্ট্য।
এই টুলটি বিনামূল্যের সফ্টওয়্যার: আপনি এটিকে পুনরায় বিতরণ করতে পারেন এবং/অথবা এটির অধীনে পরিবর্তন করতে পারেন
GNU LGPL বা GNU GPL এর শর্তাবলী।
ব্যবহার:
এপিআই-স্যানিটি-চেকার [বিকল্প]
উদাহরণ:
api-স্যানিটি-চেকার -লিব NAME এর -d VER.xml -জেন - নির্মাণ -run
VERSION.xml হল XML- বর্ণনাকারী:
1.0
/path1/to/header(s)/ /path2/to/header(s)/
...
/path1/to/library(ies)/ /path2/to/library(ies)/
...
তথ্য বিকল্পগুলি:
-h|-সহায়তা
এই সাহায্য প্রিন্ট করুন.
-তথ্য
সম্পূর্ণ তথ্য প্রিন্ট করুন।
-v|-সংস্করণ
প্রিন্ট সংস্করণ তথ্য.
- ডাম্প সংস্করণ
টুল সংস্করণ (1.98.7) প্রিন্ট করুন এবং অন্য কিছু করবেন না।
সাধারণ বিকল্পগুলি:
-l|-lib|-লাইব্রেরি NAME
লাইব্রেরির নাম (সংস্করণ ছাড়া)।
-d|-বর্ণনাকারী PATH
লাইব্রেরি বর্ণনাকারীর পথ (VER.xml ফাইল):
1.0
/path1/to/header(s)/ /path2/to/header(s)/ ...
/path1/to/library(ies)/ /path2/to/library(ies)/ ...
আরও তথ্যের জন্য, দেখুন:
http://lvc.github.com/api-sanity-checker/Xml-Descriptor.html
-জেন|-উৎপন্ন করুন
পরীক্ষা(গুলি) তৈরি করুন। অপশন -l এবং -d নির্দিষ্ট করা উচিত। জন্য পরীক্ষা তৈরি করতে
বিশেষ ফাংশন এর সাথে এটি ব্যবহার করুন -f বিকল্প প্রস্থান কোড: পরীক্ষার ক্ষেত্রে ব্যর্থ হয়েছে
নির্মাণের জন্য.
- নির্মাণ|-বানান
বিল্ড পরীক্ষা(গুলি)। অপশন -l এবং -d নির্দিষ্ট করা উচিত। জন্য পরীক্ষা নির্মাণ
বিশেষ ফাংশন এর সাথে এটি ব্যবহার করুন -f বিকল্প প্রস্থান কোড: পরীক্ষার ক্ষেত্রে ব্যর্থ হয়েছে
উৎপাদন করতে.
-run
পরীক্ষা চালান, পরীক্ষার রিপোর্ট তৈরি করুন। অপশন -l এবং -d নির্দিষ্ট করা উচিত। চালানোর জন্য
নির্দিষ্ট ফাংশন জন্য পরীক্ষা সঙ্গে এটি ব্যবহার করুন -f বিকল্প প্রস্থান কোড: সংখ্যা
ব্যর্থ পরীক্ষার ক্ষেত্রে।
-পরিষ্কার
পরিচ্ছন্ন পরীক্ষা(গুলি)। অপশন -l এবং -d নির্দিষ্ট করা উচিত। জন্য পরীক্ষা পরিষ্কার
বিশেষ ফাংশন এর সাথে এটি ব্যবহার করুন -f বিকল্প।
অতিরিক্ত বিকল্পগুলি:
-vnum NUM টি
বর্ণনাকারীর বাইরে লাইব্রেরি সংস্করণ উল্লেখ করুন।
-s|-প্রতীক NAME
নির্দিষ্ট ফাংশনের জন্য পরীক্ষা তৈরি করুন/বিল্ড করুন/চালান (C++ এ ম্যাঙ্গেড নাম)।
-প্রতীক-তালিকা পাথ
এই বিকল্পটি একজনকে ফাংশনের তালিকা সহ একটি ফাইল নির্দিষ্ট করতে দেয় (প্রতি লাইনে একটি,
C++) তে ম্যাঙ্গলড নাম যা পরীক্ষা করা উচিত, অন্যান্য লাইব্রেরি ফাংশন হবে না
পরীক্ষিত।
- শিরোনাম NAME এর
এই বিকল্পটি একজনকে ফাংশনগুলির একটি তালিকা সীমাবদ্ধ করতে দেয় যা দ্বারা পরীক্ষা করা উচিত
একটি হেডার ফাইলের নাম প্রদান করে যেখানে তারা ঘোষণা করা হয়। এই বিকল্পটি উদ্দেশ্যে করা হয়
ধাপে ধাপে পরীক্ষা উন্নয়নের জন্য।
-সব
শিরোনাম ফাইল(গুলি) মধ্যে পুনরাবৃত্তভাবে অন্তর্ভুক্ত সমস্ত প্রতীকের জন্য পরীক্ষা তৈরি করুন।
-xvfb
পরীক্ষা চালানোর জন্য বর্তমান X-সার্ভার (ডিফল্ট) পরিবর্তে Xvfb-সার্ভার ব্যবহার করুন।
-t2c|-template2code
সার্বজনীন Template2Code বিন্যাসে পরীক্ষা তৈরি করুন। আরও তথ্যের জন্য, অনুগ্রহ করে
দেখুন:
http://sourceforge.net/projects/template2code/
কঠোর-জেন
পরীক্ষা তৈরি করার প্রক্রিয়াটি বন্ধ করুন এবং যদি না পারেন তবে ত্রুটি কোড '1' ফেরত দিন
অন্তত একটি টেস্ট কেস তৈরি করুন।
- কঠোর-বিল্ড
বিল্ডিং টেস্টের প্রক্রিয়াটি বন্ধ করুন এবং নির্মাণ করতে না পারলে ত্রুটি কোড '1' ফেরত দিন
অন্তত একটি টেস্ট কেস।
- কঠোরভাবে চালানো
পরীক্ষা চালানোর প্রক্রিয়া বন্ধ করুন এবং ত্রুটি কোড '1' রিটার্ন করুন যদি অন্তত একটি
টেস্ট কেস ব্যর্থ হয়েছে।
-কঠোর
এই বিকল্পটি সমস্ত সক্ষম করে -কঠোর-* বিকল্প।
-r|-এলোমেলো
র্যান্ডম পরীক্ষা প্রজন্ম মোড.
-মিন
মিনিমুন কোড জেনারেট করুন, ন্যূনতম সংখ্যক পরামিতি সহ ফাংশন কল করুন
অন্যান্য ফাংশনের পরামিতি শুরু করুন।
-সর্বোচ্চ
সর্বাধিক কোড তৈরি করুন, সর্বাধিক সংখ্যক পরামিতি সহ ফাংশনগুলিকে কল করুন৷
অন্যান্য ফাংশনের পরামিতি শুরু করুন।
শো-রিভাল
রিপোর্টে ফাংশন রিটার্ন টাইপ দেখান।
-চেক-রিভাল
প্রতিটি কল ফাংশনের জন্য রিটার্ন মান (retval!=NULL) এর প্রয়োজনীয়তা সন্নিবেশ করান।
-স্ট|-বিশেষ-প্রকার PATH
বিশেষ ধরনের সংগ্রহের সাথে ফাইলের পাথ। আরও তথ্যের জন্য,
অনুগ্রহ করে দেখুন:
http://lvc.github.com/api-sanity-checker/Specialized-Type.html
-td|-পরীক্ষা-ডেটা PATH
পরীক্ষার ডেটা ফাইল সহ ডিরেক্টরিতে পাথ। আরও তথ্যের জন্য, অনুগ্রহ করে দেখুন:
http://lvc.github.com/api-sanity-checker/Specialized-Type.html
শুধুমাত্র হেডার
যদি লাইব্রেরিতে শুধুমাত্র ইনলাইন ফাংশন থাকে এবং কোনো শেয়ার করা বস্তু না থাকে তাহলে আপনি
এই বিকল্পটি নির্দিষ্ট করা উচিত।
-নো-ইনলাইন
ইনলাইন ফাংশনগুলির জন্য পরীক্ষা তৈরি করবেন না।
অভ্যন্তরীণ রাখা
অভ্যন্তরীণ চিহ্নগুলির জন্য পরীক্ষা তৈরি করুন ('__' উপসর্গ সহ ফাংশন এবং এর পদ্ধতি
অন্যান্য ক্লাসের ভিতরে ঘোষিত ক্লাস)।
-ভিন্ন
দ্বারা নির্দিষ্ট করা তালিকা দ্বারা ফাংশন ব্যবহার সীমাবদ্ধ করার অনুমতি দিন -ফাংশন-তালিকা
বিকল্প বা বর্ণনাকারীতে গ্রুপ ডিভিশন দ্বারা।
-শুধু দেখো
*.html ফাইলগুলি ছাড়া টেস্ট স্যুট থেকে সমস্ত ফাইল সরান। এই বিকল্পটি একজনকে অনুমতি দেয়
সমস্ত পরীক্ষার জন্য একটি লাইটওয়েট html-সূচক তৈরি করুন।
অক্ষম-ডিফল্ট-মান
ফাংশন পরামিতিগুলির জন্য ডিফল্ট মানগুলির ব্যবহার অক্ষম করুন৷
-অপ্টিমাইজ-অন্তর্ভুক্ত লেভেল
প্রতিটি পরীক্ষার ক্ষেত্রে অন্তর্ভুক্ত শিরোনামগুলির তালিকার অপ্টিমাইজেশন সক্ষম করুন৷ পাওয়া যায়
মাত্রা:
উচ্চ (ডিফল্ট) মাঝারি নিম্ন কোনটি নয় - নিষ্ক্রিয় করুন
-p|-পরম পথ
ফাংশন প্যারামিটার নাম সহ ফাইলের পাথ। এটি উন্নতির জন্য ব্যবহার করা যেতে পারে
লাইব্রেরি হেডার ফাইলে প্যারামিটারের নাম না থাকলে পরীক্ষা তৈরি করা হয়। ফাইল
বিন্যাস:
func1;param1;param2;param3 ... func2;param1;param2;param3 ... ...
-শিরোনাম NAME এর
প্রতিবেদনের শিরোনামে গ্রন্থাগারের নাম।
-রিলপথ|-reldir PATH
লাইব্রেরি বর্ণনাকারীতে PATH দ্বারা {RELPATH} প্রতিস্থাপন করুন।
-ল্যাং ল্যাং
লাইব্রেরি ভাষা সেট করুন (C বা C++)। টুলটি না পারলে আপনি এই বিকল্পটি ব্যবহার করতে পারেন
একটি ভাষা স্বয়ংক্রিয়ভাবে সনাক্ত করুন।
-টার্গেট কম্পাইলার
কম্পাইলার যা উইন্ডোজের অধীনে জেনারেটেড পরীক্ষা তৈরি করতে ব্যবহার করা উচিত।
সমর্থিত:
gcc - GNU কম্পাইলার cl - MS কম্পাইলার (ডিফল্ট)
-ডিবাগ
ডিবাগিংয়ের জন্য বর্ধিত লগ লিখুন।
-ক্যাশে
ABI ডাম্প ক্যাশে করুন এবং পরবর্তী রানে এটি ব্যবহার করুন।
অন্যান্য বিকল্পগুলি:
-test
অভ্যন্তরীণ পরীক্ষা চালান। একটি সাধারণ লাইব্রেরি তৈরি করুন এবং এটিতে টুলটি চালান। এই বিকল্প
টুলটি সিস্টেমে সঠিকভাবে কাজ করে কিনা তা পরীক্ষা করার অনুমতি দেয়।
-অক্ষম-ভেরিয়েবল-পুনঃব্যবহার
পরীক্ষায় পূর্বে তৈরি ভেরিয়েবলের পুনরায় ব্যবহার অক্ষম করুন।
-লং-ভেরিয়েবল-নাম
ছোট নামের পরিবর্তে দীর্ঘ (জটিল) পরিবর্তনশীল নাম সক্ষম করুন।
প্রস্থান করুন কোড:
0 - সফল পরীক্ষা। টুল কোন ত্রুটি ছাড়াই চালানো হয়েছে. অ-শূন্য - টেস্ট ব্যর্থ হয়েছে
অথবা টুলটি ত্রুটি সহ চালানো হয়েছে।
আরও তথ্য:
http://lvc.github.com/api-sanity-checker/
onworks.net পরিষেবা ব্যবহার করে অনলাইনে api-sanity-checker ব্যবহার করুন