मेरे पैकेज में कुछ फ़ंक्शन सी ++ 11 कंटेनर का उपयोग करके बहुत तेजी से चलते हैं, लेकिन सीआरएएन $(SHLIB_OPENMP_CXXFLAGS)
और $(CXX1XSTD)
दोनों का उपयोग करके मेरे पैकेज को स्वीकार नहीं करता है क्योंकि यह सोलारिस (या अन्य मामूली प्लेटफॉर्म)। सीआरएएन की सिफारिश एक कॉन्फ़िगर स्क्रिप्ट लिखना था, लेकिन मुझे लगता है कि यह सीखने में मेरे लिए बहुत समय लगेगा, और प्लेटफॉर्म के लिए अनावश्यक रूप से मेरे कोड को जटिल कर देगा जो कुछ लोग उपयोग करते हैं।परीक्षण के लिए जांच की जा रही है कि सीआरएएन
फिलहाल, मैंने अभी सभी सी ++ 11 कोड पर टिप्पणी की है, और को Makevars
से CRAN सबमिशन के लिए हटा दिया है। यह चारों ओर एक खराब काम है, और मैं Makevars
में सीआरएएन का पता लगाने और आवास बनाने में सक्षम हूं, इसलिए मुझे प्रत्येक संस्करण के लिए एक सीआरएएन कांटा बनाए रखने की आवश्यकता नहीं है।
मैं अभी भी परीक्षण करता हूं कि सी ++ 11 उपलब्ध है या नहीं, लेकिन यह केवल मेकवार्स में सी ++ 11 और ओपनएमपी झंडे का संयोजन है जो सीआरएएन सबमिशन के साथ सोलारिस पर ठोकर खा रहा है। मुझे लगता है कि इसके चारों ओर एक छोटा रास्ता होना चाहिए।
क्या कोई पर्यावरण चर है, मुझे यह जांचने के लिए उपयोग करना चाहिए कि क्या सीआरएएन स्वयं ही मेरे पैकेज की जांच कर रहा है, और जिसे मैं Makevars
में परीक्षण कर सकता हूं? मैंने आर कोड बेस की खोज की है और आर आंतरिक और लेखन आर एक्सटेंशन पढ़ा है, हालांकि मैं नहीं कह सकता कि मैं उन्हें दिल से जानता हूं, जो कुछ सीआरएएन रखरखाव उम्मीद करते हैं। ऐसे पर्यावरण चर हैं जो CRAN संभावित सेट हैं, लेकिन मुझे उम्मीद है कि _R_CHECK_CRAN_INCOMING_=TRUE
जैसे कुछ के लिए परीक्षण रखरखाव की उछाल उठाएगा।
मुझे नहीं लगता कि Makevars
में "यदि सौरलिस" परीक्षण पर्याप्त होगा: यह सी ++ 11 और ओपनएमपी झंडे दोनों की मौजूदगी है, जिनकी अनुमति नहीं है, क्योंकि वे संभावित रूप से प्लेटफ़ॉर्म पर असफल हो जाते हैं अक्सर Solaris से।
शायद मैं इसे गलत तरीके से देख रहा हूं।
कुछ सुझाव (अधिक समाधानों की तरह) यहाँ देखते हैं: http: // stackoverflow.com/questions/36166288/skip-tests-on-cran-but-run-locally – Helix123