Exercism-এ আপনার C অনুশীলনীগুলো কীভাবে টেস্ট করবেন তা শিখুন।
প্রতিটি অনুশীলনী ইউনিট টেস্ট এবং একটি Make বিল্ড রেসিপি দেয়। আর ইমপ্লিমেন্টেশনটি আপনাকে দিতে হবে।
প্রতিটি টেস্ট ফাইল আপনার ইমপ্লিমেন্টেশনের সাথে লিংক হয়ে এমন একটি কনসোল এক্সিকিউটেবল তৈরি করে, যা টেস্টগুলো রান করে। টেস্ট এক্সিকিউটেবলটি রান করলে প্রতিটি ব্যর্থ টেস্টের জন্য বার্তা প্রিন্ট হয়, আর টেস্ট ব্যর্থ হলে একটি নন-জিরো এক্সিট স্টেটাস রিপোর্ট করে।
একটি অনুশীলনী ধরে ধরে এগোতে:
TEST_IGNORE() লাইনটি মুছে ফেলুন।প্রতিটি অনুশীলনীর সাথে ইউনিট টেস্টসহ একটি makefile ফাইল এবং একটি .c ফাইল আসবে।
আপনার Make ফাইলটি সম্পাদনা করার দরকার পড়ার কথা নয়।
দেওয়া Make ফাইলটি ধরে নেয় যে আপনার ইমপ্লিমেন্টেশন অনুশীলনীর নামে নামকরণ করা একটি হেডার ফাইল (.h) এবং একটি সোর্স ফাইল (.c) হিসেবে আছে।
উদাহরণস্বরূপ, bob অনুশীলনীটি bob.h এবং bob.c ফাইলে একটি ইমপ্লিমেন্টেশন আশা করে।
যে অনুশীলনীগুলোর নামে ড্যাশ থাকে, সেগুলোর সোর্স ফাইলে আন্ডারস্কোর ধরে নেওয়া হয়, তাই word-count অনুশীলনীর জন্য word_count.h এবং word_count.c প্রত্যাশিত।
আপনার ইমপ্লিমেন্টেশন যদি এতটাই সহজ হয় যে তা পুরোপুরি হেডার ফাইলেই থাকতে পারে, তবে আপনি .c ফাইলটি বাদ দিতে পারেন।
Make রান করার আগেই আপনার প্রাথমিক ইমপ্লিমেন্টেশন ফাইলগুলো তৈরি করে নিন।
bob অনুশীলনীর জন্য Make রান করার সময় আপনার কাছে bob.h এবং bob.c ফাইল না থাকলে, ফাইল খুঁজে পাওয়া যায়নি বলে Make একটি এরর তৈরি করবে।
এই ফাইলগুলো খালি থাকতে পারে, তবে থাকতেই হবে।
আপনার কোড বিল্ড করার সবচেয়ে সহজ উপায় হলো কমান্ড লাইনে (CLI) make ব্যবহার করা।
Linux-এ CLI ব্যবহার করা যায় bash বা অনুরূপ শেলে, আর MacOS-এ ব্যবহার করুন Terminal।
Windows 10-এ Windows Subsystem for Linux (WSL) Bash ব্যবহার করা যায়।
এটি করতে, ধরে নিচ্ছি বর্তমান ডিরেক্টরিটি অনুশীলনীর ফোল্ডার:
$ make
এটি আপনার কোড কম্পাইল করবে এবং টেস্টগুলো রান করবে।
makefile-এর সাথে আরও একটি বিল্ড আছে, যা মেমরি লিক এবং অ্যারের সীমার বাইরে অ্যাক্সেস সংক্রান্ত কিছু কমন ভুল পরীক্ষা করে।
এই চেকগুলো রান করতে কমান্ড লাইনে নিচেরটি ব্যবহার করুন:
$ make memcheck
বিল্ডের পরে পরিষ্কার করতে আপনি make-কে বলতে পারেন যে এক্সিকিউটেবলসহ বিল্ডের সব আউটপুট মুছে ফেলুক:
$ make clean
MacOS-এ আপনি Xcode-ও ব্যবহার করতে পারেন। কোড বিল্ড করতে টুলবার থেকে Build নির্বাচন করুন।