2012-03-02 12 views
14

ऐसा लगता है कि यूनिट परीक्षण इन दिनों सभी क्रोध बन गया है और मुझे पता है कि आप में से कई सोचने जा रहे हैं: "ठीक है क्यों न केवल फ्रेम एक्स के साथ भाषा एक्स का उपयोग करें?" लेकिन मैं इस विचार को अवधारणा के प्रमाण के रूप में, या कंप्यूटर प्रोग्रामिंग के साथ अपने पिछले वर्षों के लिए नास्तिक यादों के बारे में अधिक प्रस्ताव दे रहा हूं।x86 असेंबलर के लिए कौन सी इकाई परीक्षण ढांचे उपलब्ध हैं?

मैं अर्थात् एनएएसएम साथ x86 पर चल BSD पर काम कर रहा हूँ, और उम्मीद (1) इकाई परीक्षण करने के लिए, लेकिन मैं पहले से जानना चाहता था के साथ शेल पटकथा लेखन के उपयोग पर mulled है

क्या इकाई परीक्षण x86 असेंबली में लिखे गए अनुप्रयोगों के लिए ढांचे उपलब्ध हैं?

उत्तर

3

यदि आपके असेंबलर दिनचर्या को 'सी' इंटरफ़ेस दिया गया है या नहीं, तो किसी भी सी/सी ++ इकाई परीक्षण ढांचे को नियोजित किया जा सकता है।

आपको अपने आवेदन के विशाल बहुमत को पुस्तकालय में ले जाना चाहिए जिसे 'सी' प्रोग्राम (यानी एक परीक्षण ढांचा) से बुलाया जा सकता है। अंततः अपने आवेदन को बनाने के लिए आप एक असेंबलर फ्रंट-एंड लिखते हैं जो सिर्फ आपकी नई लाइब्रेरी को कॉल करता है।

+0

ईमानदारी से, यह एक आम तौर पर महान अभ्यास और काफी पोर्टेबल है। तो यूनिक्स प्लेटफ़ॉर्म पर विचार कर रहा हूं, जिसके साथ मैं काम कर रहा हूं। लेकिन आवेदन अभी भी सी से अधिक सिर ले जाएगा और मैं उम्मीद कर रहा था कि कुछ निर्भरता जितनी संभव हो सके। –

+0

आप अपना कोड व्यवस्थित कर सकते हैं ताकि आपका असेंबलर कोड एक या अधिक पुस्तकालयों में हो, आपके 'सी' रैपर को समानांतर पुस्तकालयों के सेट में केवल परीक्षणों द्वारा बुलाया जाता है, और आपका एप्लिकेशन केवल असेंबलर कोड को सीधे कॉल करता है। – quamrana

+0

@DwightSpencer आपको वैसे भी अपने मॉड्यूल निर्भरता (यहां तक ​​कि आपके आवेदन के अंदर भी) को अपनाना चाहिए। नतीजा कोड के टुकड़े होंगे जो कॉलर-अज्ञेयवादी हैं (असंगत कॉलिंग सम्मेलनों को छोड़कर)। डायनामिक लिंकिंग आपको इनके साथ बहुत अच्छा पक्ष भी दे सकती है ... – Powerslave

1

आईएमएचओ यूनिट परीक्षण की धारणा कम-स्तरीय भाषाओं जैसे असेंबलरों पर लागू नहीं होती है। यूनिट परीक्षण विधि, वर्ग, प्रक्रिया की परीक्षण इकाई कार्यक्षमता के साथ सहयोग करता है। मेरी राय में ऐसी चीजें असेंबली कोड में मौजूद नहीं हैं - बेशक, कुछ असेंबलरों (यह टीएएसएम और एमएएसएम में संभव था) में प्रक्रियाओं को घोषित करना संभव है, लेकिन वे मशीन कोड में मौजूद कुछ नहीं हैं।

हालांकि, मुझे लगता है कि हम अभी भी असेंबली कोड के स्वचालित परीक्षण पर विचार कर सकते हैं। निजी तौर पर, मैंने किसी भी ढांचे के बारे में नहीं सुना है जो इसकी अनुमति देगा।

+0

यह भी प्रतीत होता है कि यम/नासम में मैक्रोज़ के उपयोग के बावजूद उसी तस्कर/मस्तिष्क क्षमता है; मैं उल्लिखित असेंबलरों के लिए stdlib के कार्यान्वयन को एक साथ रख रहा हूं। लेकिन मैं सहमत हूं कि वास्तव में असेंबली कोड के लिए अधिक स्वचालित परीक्षण होना चाहिए। विशेष रूप से नंगे धातु के करीब होने के नाते। –

+0

वैसे, आदर्श मोड स्ट्रक्चर हैंडलिंग उदाहरण के लिए बहुत कम ऑब्जेक्ट-आईएसएच और ऑब्जेक्ट्स, निम्न स्तर पर, केवल किसी भी तरह के संकेत हैं, इसलिए इस तरह के ढांचे के लिए यह काफी संभव है। मैंने कभी किसी के बारे में कभी नहीं सुना है। अच्छी खबर यह है कि, सी/सी ++ संगत प्रोग्रामर तक है, इसलिए दिन के अंत में एक सी ++ lib केवल नौकरी करेगा। – Powerslave

संबंधित मुद्दे