'\" t .\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "LIT" "1" "2026-07-15" "22" "LLVM" .SH "نام (NAME)" lit \- ابزار آزمون یکپارچه LLVM .SH "خلاصه دستور (SYNOPSIS)" .sp \fBlit\fP [\fIoptions\fP] [\fItests\fP] .SH "توضیحات (DESCRIPTION)" .sp \fBlit\fP ابزاری قابل‌حمل برای اجرای مجموعه‌های آزمون به سبک LLVM و Clang، خلاصه‌سازی نتایج آن‌ها و نمایش موارد شکست‌خورده است. \fBlit\fP به عنوان ابزاری سبک برای آزمون با رابط کاربری تا حد ممکن ساده طراحی شده است. .sp \fBlit\fP باید با مشخص کردن یک یا چند آزمون (\fItests\fP) در خط فرمان اجرا شود. آزمون‌ها می‌توانند فایل‌های آزمون مجزا یا دایرکتوری‌هایی برای جستجوی آزمون‌ها باشند (به بخش TEST DISCOVERY مراجعه کنید). .sp هر آزمون مشخص‌شده (احتمالاً به‌صورت هم‌روند) اجرا خواهد شد و پس از اجرای تمام آزمون‌ها، \fBlit\fP اطلاعات خلاصه‌ای از تعداد آزمون‌های موفق یا ناموفق را چاپ می‌کند (به بخش TEST STATUS RESULTS مراجعه کنید). در صورت شکست هر یک از آزمون‌ها، برنامه \fBlit\fP با وضعیت خروج غیرصفر خارج خواهد شد. .sp به‌طور پیش‌فرض، \fBlit\fP از نمایش مختصر پیشرفت استفاده می‌کند و تنها اطلاعات خلاصه مربوط به آزمون‌های ناموفق را چاپ خواهد کرد. برای گزینه‌های کنترل نمایش پیشرفت و خروجی \fBlit\fP، به بخش گزینه‌های خروجی (OUTPUT OPTIONS) مراجعه کنید. .sp همچنین \fBlit\fP شامل تعدادی گزینه برای کنترل چگونگی اجرای آزمون‌ها است (ویژگی‌های خاص ممکن است به قالب آزمون مربوطه بستگی داشته باشد). برای اطلاعات بیشتر به بخش EXECUTION OPTIONS مراجعه کنید. .sp در نهایت، \fBlit\fP از گزینه‌های دیگری برای اجرای تنها زیرمجموعه‌ای از گزینه‌های مشخص‌شده در خط فرمان نیز پشتیبانی می‌کند؛ برای اطلاعات بیشتر به بخش SELECTION OPTIONS مراجعه کنید. .sp \fBlit\fP پس از تجزیه گزینه‌های خط فرمان، گزینه‌ها را از متغیر محیطی \fBLIT_OPTS\fP تجزیه می‌کند. \fBLIT_OPTS\fP عمدتاً برای تکمیل یا بازنویسی گزینه‌های خط فرمانی مفید است که از طریق هدف‌های \fBcheck\fP تعریف‌شده توسط سیستم ساخت پروژه به \fBlit\fP داده می‌شوند. .sp همچنین \fBlit\fP می‌تواند گزینه‌ها را از فایل‌های پاسخ (response files) که با استفاده از نحو \fB@path/to/file.rsp\fP به‌عنوان ورودی مشخص می‌شوند بخواند. آرگومان‌های خوانده‌شده از فایل باید در هر خط یکی باشند و به‌گونه‌ای پردازش می‌شوند که گویی در همان جایگاه آرگومان ارجاع‌دهنده فایل در خط فرمان قرار داشته‌اند. یک فایل پاسخ می‌تواند به فایل‌های پاسخ دیگر نیز ارجاع دهد. .sp کاربرانی که به معماری \fBlit\fP یا طراحی یک پیاده‌سازی آزمون برای \fBlit\fP علاقه‌مند هستند، باید بخش LIT INFRASTRUCTURE\& را ببینند. .SH "گزینه‌های عمومی (GENERAL OPTIONS)" .INDENT 0.0 .TP .B \-h, \-\-help نمایش پیام راهنمای \fBlit\fP و خروج. .UNINDENT .INDENT 0.0 .TP .B \-\-version نمایش شماره نسخه \fBlit\fP و خروج. .UNINDENT .INDENT 0.0 .TP .B \-j N, \-\-workers N اجرای موازی \fBN\fP آزمون. به‌طور پیش‌فرض، این مقدار متناسب با تعداد پردازنده‌های شناسایی‌شده و در دسترس به‌طور خودکار انتخاب می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-config\-prefix NAME هنگام جستجوی مجموعه‌های آزمون، به جای \fBlit.cfg\fP و \fBlit.site.cfg\fP به دنبال \fINAME\fP\fB\&.cfg\fP و \fINAME\fP\fB\&.site.cfg\fP بگردد. .UNINDENT .INDENT 0.0 .TP .B \-D NAME[=VALUE], \-\-param NAME[=VALUE] افزودن پارامتر سفارشی \fBNAME\fP با مقدار داده‌شده \fBVALUE\fP (یا رشته خالی در صورت مشخص نشدن). معنا و کاربرد این پارامترها به مجموعه آزمون بستگی دارد. .UNINDENT .SH "گزینه‌های خروجی (OUTPUT OPTIONS)" .INDENT 0.0 .TP .B \-q, \-\-quiet جلوگیری از هرگونه خروجی، به جز موارد شکست آزمون‌ها. .UNINDENT .INDENT 0.0 .TP .B \-s, \-\-succinct نمایش خروجی کمتر؛ برای نمونه اطلاعات مربوط به آزمون‌های موفق نشان داده نمی‌شود. همچنین یک نوار پیشرفت نمایش می‌دهد، مگر اینکه گزینه \fB\-\-no\-progress\-bar\fP مشخص شده باشد. .UNINDENT .INDENT 0.0 .TP .B \-v, \-\-verbose نمایش اطلاعات بیشتر در مورد شکست آزمون‌ها، برای نمونه تمام خروجی آزمون به جای فقط نتیجه آن. .sp هر دستور پیش از اجرا چاپ می‌شود. این کار می‌تواند برای اشکال‌زدایی شکست آزمون‌ها مفید باشد، زیرا آخرین دستور چاپ‌شده همان دستوری است که شکست خورده است. افزون بر این، \fBlit\fP عبارت \fB\(aqRUN: at line N\(aq\fP را پس از هر خط‌لوله دستور در خروجی درج می‌کند تا به یافتن خط مبدا دستور ناموفق کمک کند. .UNINDENT .INDENT 0.0 .TP .B \-vv, \-\-echo\-all\-commands نام مستعار منسوخ‌شده برای \-v. .UNINDENT .INDENT 0.0 .TP .B \-a, \-\-show\-all فعال‌سازی \-v برای تمام آزمون‌ها و نه فقط آزمون‌های ناموفق. .UNINDENT .INDENT 0.0 .TP .B \-o PATH, \-\-output PATH نوشتن نتایج آزمون در مسیر ارائه‌شده. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-progress\-bar عدم استفاده از نوار پیشرفت مبتنی بر curses. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-excluded نمایش آزمون‌های مستثنی‌شده (excluded). .UNINDENT .INDENT 0.0 .TP .B \-\-show\-skipped نمایش آزمون‌های نادیده‌گرفته‌شده (skipped). .UNINDENT .INDENT 0.0 .TP .B \-\-show\-unsupported نمایش آزمون‌های پشتیبانی‌نشده (unsupported). .UNINDENT .INDENT 0.0 .TP .B \-\-show\-pass نمایش آزمون‌های موفق (pass). .UNINDENT .INDENT 0.0 .TP .B \-\-show\-flakypass نمایش آزمون‌هایی که پس از تلاش مجدد موفق شده‌اند (flakypass). .UNINDENT .INDENT 0.0 .TP .B \-\-show\-xfail نمایش آزمون‌هایی که شکست آن‌ها مورد انتظار بوده است (xfail). .UNINDENT.SH "گزینه‌های اجرا (EXECUTION OPTIONS)" .INDENT 0.0 .TP .B \-\-gtest\-sharding فعال‌سازی تکه‌بندی (sharding) برای قالب GoogleTest. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-gtest\-sharding غیرفعال‌سازی تکه‌بندی برای قالب GoogleTest. .UNINDENT .INDENT 0.0 .TP .B \-\-path PATH تعیین یک \fBPATH\fP اضافی برای استفاده هنگام جستجوی فایل‌های اجرایی در آزمون‌ها. .UNINDENT .INDENT 0.0 .TP .B \-\-vg اجرای هر آزمون به صورت جداگانه تحت valgrind (با استفاده از ابزار memcheck). آرگومان \fB\-\-error\-exitcode\fP برای valgrind استفاده می‌شود تا شکست‌های valgrind موجب خروج برنامه با وضعیتی غیر از صفر شوند. .sp هنگام فعال بودن این گزینه، \fBlit\fP همچنین به طور خودکار ویژگی \(dq\fBvalgrind\fP\(dq را ارائه می‌دهد که می‌تواند برای غیرفعال کردن مشروط آزمون‌های خاص (یا انتظار شکست در آن‌ها) استفاده شود. .UNINDENT .INDENT 0.0 .TP .B \-\-vg\-leak هنگام استفاده از \fB\-\-vg\fP، بررسی‌های نشت حافظه را فعال می‌کند. هنگام فعال بودن این گزینه، \fBlit\fP همچنین به طور خودکار ویژگی \(dq\fBvg_leak\fP\(dq را ارائه می‌دهد که می‌تواند برای غیرفعال کردن مشروط آزمون‌های خاص (یا انتظار شکست در آن‌ها) استفاده شود. .UNINDENT .INDENT 0.0 .TP .B \-\-vg\-arg ARG هنگام استفاده از \fB\-\-vg\fP، یک آرگومان اضافی را برای ارسال به خود \fBvalgrind\fP تعیین می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-execute هیچ آزمونی اجرا نشود (فرض می‌شود که همگی با موفقیت پاس شده‌اند). .UNINDENT .INDENT 0.0 .TP .B \-\-xunit\-xml\-output XUNIT_XML_OUTPUT نوشتن گزارش‌های آزمون به صورت XML سازگار با XUnit در فایل مشخص‌شده. .UNINDENT .INDENT 0.0 .TP .B \-\-report\-failures\-only تنها گنجاندن شکست‌ها (بخش TEST STATUS RESULTS را ببینید) در گزارش. .UNINDENT .INDENT 0.0 .TP .B \-\-resultdb\-output RESULTDB_OUTPUT نوشتن JSON سازگار با LuCI ResultDB در فایل مشخص‌شده. .UNINDENT .INDENT 0.0 .TP .B \-\-time\-trace\-output TIME_TRACE_OUTPUT نوشتن JSON سازگار با Chrome tracing در فایل مشخص‌شده. .UNINDENT .INDENT 0.0 .TP .B \-\-timeout MAXINDIVIDUALTESTTIME حداکثر زمان صرف‌شده برای اجرای یک آزمون منفرد (به ثانیه). 0 به معنای نامحدود بودن زمان است. [پیش‌فرض: 0] .UNINDENT .INDENT 0.0 .TP .B \-\-timeout N صرف حداکثر \fBN\fP ثانیه (به طور تقریبی) برای اجرای هر آزمون جداگانه. \fB0\fP به معنای نبود محدودیت زمانی بوده و مقدار پیش‌فرض نیز \fB0\fP است. توجه داشته باشید که این گزینه نام مستعاری برای \fB\-\-max\-time\fP نیست؛ این دو مقادیر بیشینهٔ متفاوتی را کنترل می‌کنند. .UNINDENT .INDENT 0.0 .TP .B \-\-max\-failures MAX_FAILURES توقف اجرا پس از تعداد مشخص‌شده از شکست‌ها. .UNINDENT .INDENT 0.0 .TP .B \-\-max\-retries\-per\-test N تلاش مجدد برای اجرای آزمون‌های ناموفق حداکثر تا \fBN\fP بار. از میان گزینه‌های زیر برای اجرای مجدد آزمون‌های ناموفق، گزینهٔ \fB\-\-max\-retries\-per\-test\fP تنها موردی است که نیازی به تغییر در اسکریپت‌های آزمون یا پیکربندی آزمون ندارد: .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 گزینهٔ lit با نام \fB\-\-max\-retries\-per\-test\fP .IP \(bu 2 گزینهٔ مجموعه آزمون با نام \fBconfig.test_retry_attempts\fP .IP \(bu 2 یادداشت \fBALLOW_RETRIES:\fP در اسکریپت آزمون .UNINDENT .UNINDENT .UNINDENT .sp هر گزینه در فهرست بالا، گزینهٔ پیش از خود را باطل می‌کند (بر آن ارجحیت دارد). .UNINDENT .INDENT 0.0 .TP .B \-\-allow\-empty\-runs در صورتی که تمام آزمون‌ها فیلتر شوند، اجرا با شکست متوقف نشود. .UNINDENT .INDENT 0.0 .TP .B \-\-per\-test\-coverage تولید داده‌های پوشش آزمون لازم، تفکیک‌شده به ازای هر مورد آزمون (شامل تنظیم یک مقدار یکتا برای LLVM_PROFILE_FILE به ازای هر RUN). فایل‌های داده‌های پوشش در دایرکتوری مشخص‌شده توسط \fBconfig.test_exec_root\fP ایجاد خواهند شد. .UNINDENT .INDENT 0.0 .TP .B \-\-ignore\-fail خروج با وضعیت صفر حتی اگر برخی از آزمون‌ها شکست بخورند. .UNINDENT .INDENT 0.0 .TP .B \-\-skip\-test\-time\-recording ردیابی نکردن زمان واقعی سپری‌شده (wall time) برای هر آزمون. .UNINDENT .INDENT 0.0 .TP .B \-\-time\-tests ردیابی زمان واقعی (wall time) صرف‌شده برای اجرای هر آزمون جداگانه و درج نتایج در خروجی خلاصه. این گزینه برای تشخیص اینکه کدام آزمون‌ها در یک مجموعه آزمون بیشترین زمان را برای اجرا مصرف می‌کنند، مفید است. .UNINDENT.SH "گزینه‌های انتخاب (SELECTION OPTIONS)" .sp به‌طور پیش‌فرض، \fIlit\fP ابتدا آزمون‌های ناموفق را اجرا می‌کند، سپس برای بهینه‌سازی همزمانی، آزمون‌ها را به ترتیب نزولی زمان اجرا، اجرا می‌کند. ترتیب اجرا را می‌توان با استفاده از گزینهٔ \fB\-\-order\fP تغییر داد. .sp داده‌های زمان‌بندی در \fItest_exec_root\fP و در فایلی به نام \fI\&.lit_test_times.txt\fP ذخیره می‌شوند. اگر این فایل وجود نداشته باشد، \fIlit\fP برای تسریع اختیاری ساخت‌های تمیز (clean builds)، وجود فایل را در \fItest_source_root\fP بررسی می‌کند. .INDENT 0.0 .TP .B \-\-max\-tests N حداکثر \fBN\fP آزمون را اجرا کرده و سپس پایان یابد. .UNINDENT .INDENT 0.0 .TP .B \-\-max\-time N حداکثر (تقریباً) \fBN\fP ثانیه را صرف اجرای آزمون‌ها کرده و سپس پایان یابد. توجه داشته باشید که این گزینه نام مستعاری برای \fB\-\-timeout\fP نیست؛ این دو نوع متفاوتی از مقادیر حداکثری هستند. .UNINDENT .INDENT 0.0 .TP .B \-\-order {lexical,random,smart} ترتیب اجرای آزمون‌ها را مشخص می‌کند. مقادیر پشتیبانی‌شده عبارتند از: .INDENT 7.0 .IP \(bu 2 lexical \- آزمون‌ها بر اساس مسیر فایل آزمون به ترتیب لغوی اجرا خواهند شد. این گزینه زمانی که ترتیب آزمون قابل‌پیش‌بینی مورد نیاز باشد مفید است. .IP \(bu 2 random \- آزمون‌ها به ترتیب تصادفی اجرا خواهند شد. .IP \(bu 2 smart \- آزمون‌هایی که قبلاً ناموفق بوده‌اند ابتدا اجرا می‌شوند، سپس باقی آزمون‌ها، همگی به ترتیب نزولی زمان اجرا، اجرا خواهند شد. این مقدار پیش‌فرض است زیرا همزمانی را بهینه می‌کند. .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-shuffle آزمون‌ها را به ترتیب تصادفی اجرا می‌کند، نه به صورت ناموفق/کندترین در ابتدا. منسوخ شده است، به جای آن از \fB\-\-order\fP استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-i, \-\-incremental آزمون‌های ناموفق را ابتدا اجرا می‌کند (منسوخ شده است: از \fB\-\-order=smart\fP استفاده کنید). .UNINDENT .INDENT 0.0 .TP .B \-\-filter REGEXP تنها آزمون‌هایی را اجرا می‌کند که نام آن‌ها با عبارت منظم مشخص‌شده در \fBREGEXP\fP مطابقت داشته باشد. متغیر محیطی \fBLIT_FILTER\fP نیز می‌تواند به جای این گزینه استفاده شود، که به‌ویژه در محیط‌هایی که فراخوانی \fBlit\fP به‌طور غیرمستقیم انجام می‌شود مفید است. .UNINDENT .INDENT 0.0 .TP .B \-\-filter\-out REGEXP آزمون‌هایی که نام آن‌ها با عبارت منظم مشخص‌شده در \fBREGEXP\fP مطابقت دارد را فیلتر کرده و کنار می‌گذارد. متغیر محیطی \fBLIT_FILTER_OUT\fP نیز می‌تواند به جای این گزینه استفاده شود، که به‌ویژه در محیط‌هایی که فراخوانی \fBlit\fP به‌طور غیرمستقیم انجام می‌شود مفید است. .UNINDENT .INDENT 0.0 .TP .B \-\-filter\-failed تنها آزمون‌هایی را اجرا می‌کند که قبلاً ناموفق بوده‌اند. آزمون‌هایی که به تازگی اضافه شده‌اند اما هنوز اجرا نشده‌اند شامل نمی‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-xfail LIST آزمون‌هایی که نام آن‌ها در فهرست تفکیک‌شده با نقطه\-ویرگول \fBLIST\fP آمده است را به عنوان \fBXFAIL\fP در نظر می‌گیرد. این امر زمانی که نمی‌خواهید مجموعه آزمون را دستکاری کنید می‌تواند مفید باشد. متغیر محیطی \fBLIT_XFAIL\fP نیز می‌تواند به جای این گزینه استفاده شود، که به‌ویژه در محیط‌هایی که فراخوانی \fBlit\fP به‌طور غیرمستقیم انجام می‌شود مفید است. .sp نام آزمون را می‌توان به عنوان یک نام فایل، نسبت به دایرکتوری مجموعه آزمون مشخص کرد. برای مثال: .INDENT 7.0 .INDENT 3.5 .sp .EX LIT_XFAIL=\(dqaffinity/kmp\-hw\-subset.c;offloading/memory_manager.cpp\(dq .EE .UNINDENT .UNINDENT .sp در این حالت، تمام آزمون‌های زیر به عنوان \fBXFAIL\fP در نظر گرفته می‌شوند: .INDENT 7.0 .INDENT 3.5 .sp .EX libomp :: affinity/kmp\-hw\-subset.c libomptarget :: nvptx64\-nvidia\-cuda :: offloading/memory_manager.cpp libomptarget :: x86_64\-pc\-linux\-gnu :: offloading/memory_manager.cpp .EE .UNINDENT .UNINDENT .sp همچنین، نام آزمون می‌تواند به عنوان نام کامل آزمون گزارش‌شده در خروجی LIT مشخص شود. برای نمونه، می‌توانیم مثال قبلی را طوری تنظیم کنیم که نسخهٔ \fBnvptx64\-nvidia\-cuda\fP از \fBoffloading/memory_manager.cpp\fP به عنوان XFAIL در نظر گرفته نشود: .INDENT 7.0 .INDENT 3.5 .sp .EX LIT_XFAIL=\(dqaffinity/kmp\-hw\-subset.c;libomptarget :: x86_64\-pc\-linux\-gnu :: offloading/memory_manager.cpp\(dq .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-xfail\-not LIST آزمون‌های مشخص‌شده را به عنوان \fBXFAIL\fP در نظر نمی‌گیرد. متغیر محیطی \fBLIT_XFAIL_NOT\fP نیز می‌تواند به جای این گزینه استفاده شود. نحو استفاده همانند \fB\-\-xfail\fP و \fBLIT_XFAIL\fP است. \fB\-\-xfail\-not\fP و \fBLIT_XFAIL_NOT\fP همواره بر تمامی دیگر تعاریف \fBXFAIL\fP، از جمله \fB\-\-xfail\fP که جلوتر در خط فرمان ظاهر شده باشد، اولویت دارند و آن را لغو می‌کنند. هدف اصلی آن، فرونشاندن نتیجهٔ \fBXPASS\fP بدون دستکاری مورد آزمونی است که از دستورالعمل \fBXFAIL\fP استفاده می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-exclude\-xfail آزمون‌های \fBXFAIL\fP اجرا نخواهند شد، مگر اینکه در فهرست‌های \fB\-\-xfail\-not\fP (یا \fBLIT_XFAIL_NOT\fP) قید شده باشند. .UNINDENT .INDENT 0.0 .TP .B \-\-num\-shards M مجموعه آزمون‌های انتخاب‌شده را به \fBM\fP زیرمجموعه هم‌اندازه یا \(dqتکه\(dq (shard) تقسیم کرده و فقط یکی از آن‌ها را اجرا می‌کند. باید همراه با گزینهٔ \fB\-\-run\-shard=N\fP استفاده شود که تکهٔ مورد نظر برای اجرا را انتخاب می‌کند. متغیر محیطی \fBLIT_NUM_SHARDS\fP نیز می‌تواند به جای این گزینه استفاده شود. این دو گزینه سازوکاری کلی برای بخش‌بندی مجموعه‌آزمون‌های بزرگ جهت اجرای موازی روی ماشین‌های مجزا (مثلاً در یک مزرعه آزمون بزرگ) فراهم می‌کنند. .UNINDENT .INDENT 0.0 .TP .B \-\-run\-shard N با فرض اینکه گزینهٔ \fB\-\-num\-shards=M\fP مشخص شده باشد، تعیین می‌کند که کدام تکه اجرا شود. این دو گزینه باید با هم استفاده شوند، و مقدار \fBN\fP باید در بازهٔ \fB1..M\fP باشد. متغیر محیطی \fBLIT_RUN_SHARD\fP نیز می‌تواند به جای این گزینه استفاده شود. .UNINDENT.SH "گزینه‌های اضافی (ADDITIONAL OPTIONS)" .INDENT 0.0 .TP .B \-\-debug اجرای \fBlit\fP در حالت اشکال‌زدایی، برای عیب‌یابی مشکلات پیکربندی و خود \fBlit\fP. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-suites فهرست کردن مجموعه‌آزمون‌های کشف‌شده و خروج. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-tests فهرست کردن تمام آزمون‌های کشف‌شده و خروج. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-used\-features نمایش تمام ویژگی‌های استفاده‌شده در مجموعه‌آزمون (در \fBXFAIL\fP، \fBUNSUPPORTED\fP و \fBREQUIRES\fP) و خروج. .UNINDENT .INDENT 0.0 .TP .B \-\-update\-tests ارسال آزمون‌های ناموفق به توابع موجود در فهرست \fBlit_config.test_updaters\fP برای بررسی اینکه آیا هیچ‌یک از آن‌ها روش به‌روزرسانی آزمون را برای موفقیت آن می‌دانند یا خیر. .UNINDENT .SH "وضعیت خروج (EXIT STATUS)" .sp در صورتی که هرگونه شکستی رخ دهد (بخش نتایج وضعیت آزمون را ببینید) و گزینهٔ \fB\-\-ignore\-fail\fP داده نشده باشد، \fBlit\fP با کد خروج ۱ خارج خواهد شد. در غیر این صورت، با وضعیت ۰ خارج می‌شود. سایر کدهای خروج برای خطاهای غیرمرتبط با آزمون (برای مثال خطای کاربر یا خطای داخلی برنامه) استفاده می‌شوند. .SH "شناسایی آزمون‌ها (TEST DISCOVERY)" .sp ورودی‌های ارائه‌شده به \fBlit\fP می‌توانند آزمون‌های تکی، یا کل دایرکتوری‌ها یا سلسله‌مراتب‌هایی از آزمون‌ها برای اجرا باشند. هنگامی که \fBlit\fP آغاز به کار می‌کند، نخستین کاری که انجام می‌دهد تبدیل ورودی‌ها به فهرستی کامل از آزمون‌ها برای اجرا، به عنوان بخشی از فرایند \fIکشف آزمون\fP\& است. .sp در مدل \fBlit\fP، هر آزمون باید درون یک \fIمجموعه‌آزمون\fP\& قرار داشته باشد. \fBlit\fP ورودی‌های مشخص‌شده در خط فرمان را با جستجوی روبه‌بالا از مسیر ورودی تا رسیدن به فایل \fBlit.cfg\fP یا \fBlit.site.cfg\fP، به مجموعه‌آزمون‌ها نگاشت می‌کند. این فایل‌ها هم به عنوان نشانگر مجموعه‌آزمون و هم به عنوان فایل‌های پیکربندی عمل می‌کنند که \fBlit\fP آن‌ها را بارگذاری می‌کند تا متوجه شود چگونه آزمون‌های درون مجموعه‌آزمون را پیدا کرده و اجرا نماید. .sp پس از اینکه \fBlit\fP ورودی‌ها را به مجموعه‌آزمون‌ها نگاشت کرد، فهرست ورودی‌ها را پیمایش کرده، آزمون‌ها را برای فایل‌های منفرد اضافه نموده و دایرکتوری‌ها را به صورت بازگشتی برای یافتن آزمون‌ها جستجو می‌کند. .sp این رفتار، مشخص کردن زیرمجموعه‌ای از آزمون‌ها را برای اجرا ساده می‌کند، در حالی که همچنان به پیکربندی مجموعه‌آزمون اجازه می‌دهد نحوهٔ دقیق تفسیر آزمون‌ها را کنترل کند. علاوه بر این، \fBlit\fP همواره آزمون‌ها را بر اساس مجموعه‌آزمونی که در آن قرار دارند و مسیر نسبی آن‌ها در داخل مجموعه‌آزمون شناسایی می‌کند. برای پروژه‌هایی با پیکربندی مناسب، این امر به \fBlit\fP اجازه می‌دهد تا پشتیبانی راحت و منعطفی را برای ساخت‌های خارج از درخت (out\-of\-tree) فراهم سازد. .SH "نتایج وضعیت آزمون (TEST STATUS RESULTS)" .sp هر آزمون در نهایت یکی از هشت نتیجهٔ زیر را ایجاد می‌کند: .sp \fBPASS\fP .INDENT 0.0 .INDENT 3.5 آزمون با موفقیت انجام شد. .UNINDENT .UNINDENT .sp \fBFLAKYPASS\fP .INDENT 0.0 .INDENT 3.5 آزمون پس از بیش از یک بار اجرای مجدد، موفق شد. این وضعیت تنها برای آزمون‌هایی اعمال می‌شود که حاوی حاشیه‌نویسی \fBALLOW_RETRIES:\fP باشند. .UNINDENT .UNINDENT .sp \fXFAIL\fP .INDENT 0.0 .INDENT 3.5 آزمون شکست خورد، اما این مورد انتظار بود. این وضعیت برای قالب‌های آزمونی به کار می‌رود که اجازه می‌دهند مشخص شود یک آزمون در حال حاضر کار نمی‌کند، اما ترجیح داده می‌شود در مجموعه‌آزمون باقی بماند. .UNINDENT .UNINDENT .sp \fBXPASS\fP .INDENT 0.0 .INDENT 3.5 آزمون موفق شد، اما انتظار می‌رفت شکست بخورد. این حالت برای آزمون‌هایی به کار می‌رود که به عنوان شکست مورد انتظار مشخص شده بودند، اما اکنون موفق می‌شوند (عموماً به این دلیل که قابلیت مورد آزمایش خراب بوده و برطرف شده است). .UNINDENT .UNINDENT .sp \fBFAIL\fP .INDENT 0.0 .INDENT 3.5 آزمون شکست خورد. .UNINDENT .UNINDENT .sp \fBUNRESOLVED\fP .INDENT 0.0 .INDENT 3.5 نتیجهٔ آزمون قابل تعیین نبود. برای نمونه، این وضعیت زمانی رخ می‌دهد که آزمون نتواند اجرا شود، خود آزمون نامعتبر باشد یا اجرای آزمون متوقف شود. .UNINDENT .UNINDENT .sp \fBUNSUPPORTED\fP .INDENT 0.0 .INDENT 3.5 آزمون در این محیط پشتیبانی نمی‌شود. این وضعیت برای قالب‌های آزمونی استفاده می‌شود که می‌توانند آزمون‌های پشتیبانی‌نشده را گزارش دهند. .UNINDENT .UNINDENT .sp \fBTIMEOUT\fP .INDENT 0.0 .INDENT 3.5 آزمون اجرا شد، اما پیش از اینکه بتواند کامل شود، مهلت زمانی آن به پایان رسید. .UNINDENT .UNINDENT .sp آزمون‌های نامشخص (\fBUNRESOLVED\fP)، دارای پایان مهلت زمانی (\fBTIMEOUT\fP)، شکست‌خورده (\fBFAIL\fP) و به طور غیرمنتظره موفق‌شده (\fBXPASS\fP)، شکست محسوب می‌شوند. .sp بسته به قالب آزمون، ممکن است آزمون‌ها اطلاعات بیشتری دربارهٔ وضعیت خود تولید کنند (معمولاً فقط برای شکست‌ها). برای اطلاعات بیشتر بخش گزینه‌های خروجی (OUTPUT OPTIONS) را ببینید..SH "زیرساخت LIT (LIT INFRASTRUCTURE)" .sp این بخش به توصیف معماری آزمون \fBlit\fP برای کاربرانی می‌پردازد که علاقه‌مند به ایجاد یک پیاده‌سازی آزمون جدید با \fBlit\fP یا گسترش پیاده‌سازی‌های موجود هستند. .sp خود \fBlit\fP اساساً زیرساختی برای کشف و اجرای آزمون‌های دلخواه و ارائه‌ی یک واسط واحد و آسان برای این آزمون‌ها است. \fBlit\fP به خودی خود روش اجرای آزمون‌ها را نمی‌داند، بلکه این منطق توسط \fItest suites\fP تعریف می‌شود\&. .SS "مجموعه‌های آزمون (TEST SUITES)" .sp همان‌طور که در کشف آزمون (TEST DISCOVERY) توضیح داده شد، آزمون‌ها همواره درون یک \fItest suite\fP قرار دارند. مجموعه‌های آزمون قالبی برای تعریف فرمت آزمون‌های درون خود، منطق یافتن آن آزمون‌ها و هرگونه اطلاعات اضافی برای اجرای آزمون‌ها هستند. .sp ابزار \fBlit\fP مجموعه‌های آزمون را به‌عنوان دایرکتوری‌های حاوی فایل‌های \fBlit.cfg\fP یا \fBlit.site.cfg\fP شناسایی می‌کند (همچنین گزینهٔ \fB\-\-config\-prefix\fP را ببینید). مجموعه‌های آزمون در ابتدا با پیمایش بازگشتی سلسله‌مراتب دایرکتوری به سمت بالا برای تمام فایل‌های ورودی ارائه‌شده در خط فرمان کشف می‌شوند. می‌توانید از \fB\-\-show\-suites\fP برای نمایش مجموعه‌های آزمون کشف‌شده در هنگام راه‌اندازی استفاده کنید. .sp به‌محض کشف یک مجموعه آزمون، فایل پیکربندی آن بارگذاری می‌شود. فایل‌های پیکربندی خود ماژول‌های پایتون هستند که اجرا خواهند شد. هنگامی که فایل پیکربندی اجرا می‌شود، دو متغیر سراسری مهم از پیش تعریف شده‌اند: .sp \fBlit_config\fP .INDENT 0.0 .INDENT 3.5 شیء پیکربندی سراسری \fBlit\fP (یک نمونه از \fILitConfig\fP) که فرمت‌های آزمون توکار، پارامترهای پیکربندی سراسری و سایر روال‌های کمکی را برای پیاده‌سازی پیکربندی‌های آزمون تعریف می‌کند. .UNINDENT .UNINDENT .sp \fBconfig\fP .INDENT 0.0 .INDENT 3.5 این شیء پیکربندی (یک نمونه از \fITestingConfig\fP) برای مجموعه آزمون است که انتظار می‌رود فایل پیکربندی آن را مقداردهی کند. متغیرهای زیر نیز در شیء \fIconfig\fP در دسترس هستند که برخی از آن‌ها باید توسط پیکربندی تنظیم شوند و برخی دیگر اختیاری یا از پیش‌تعریف‌شده هستند: .sp \fBname\fP \fI[اجباری]\fP نام مجموعه آزمون، جهت استفاده در گزارش‌ها و پیام‌های خطایابی. .sp \fBtest_format\fP \fI[اجباری]\fP شیء فرمت آزمون که برای کشف و اجرای آزمون‌ها در مجموعه آزمون استفاده خواهد شد. این معمولاً یک فرمت آزمون توکار است که در ماژول \fIlit.formats\fP در دسترس است. .sp \fBtest_source_root\fP مسیر سیستم‌فایل به ریشهٔ مجموعه آزمون. برای ساخت‌های خارج از دایرکتوری منبع (out\-of\-dir builds)، این دایرکتوری‌ای است که برای یافتن آزمون‌ها اسکن می‌شود. .sp \fBtest_exec_root\fP برای ساخت‌های خارج از دایرکتوری منبع، مسیر ریشهٔ مجموعه آزمون درون دایرکتوری شیء (object directory) است. این مکانی است که آزمون‌ها در آن اجرا می‌شوند و فایل‌های خروجی موقت در آن قرار می‌گیرند. .sp \fBenvironment\fP یک دیکشنری نشان‌دهندهٔ محیطی که هنگام اجرای آزمون‌ها در مجموعه استفاده می‌شود. .sp \fBstandalone_tests\fP هنگامی که true باشد، یک دایرکتوری را با آزمون‌هایی که انتظار می‌رود به‌صورت مستقل (standalone) اجرا شوند علامت‌گذاری می‌کند. فرآیند کشف آزمون برای آن دایرکتوری غیرفعال می‌شود. زمانی که این متغیر true است، \fIlit.suffixes\fP و \fIlit.excludes\fP باید خالی باشند. .sp \fBsuffixes\fP برای فرمت‌های آزمون \fBlit\fP که دایرکتوری‌ها را برای آزمون‌ها اسکن می‌کنند، این متغیر فهرستی از پسوندها برای شناسایی فایل‌های آزمون است. استفاده‌شده توسط: \fIShTest\fP\&. .sp \fBsubstitutions\fP برای فرمت‌های آزمون \fBlit\fP که متغیرها را در یک اسکریپت آزمون جایگزین می‌کنند، فهرست جایگزینی‌هایی است که باید انجام شوند. استفاده‌شده توسط: \fIShTest\fP\&. .sp \fBunsupported\fP یک دایرکتوری پشتیبانی‌نشده را مشخص می‌کند؛ تمامی آزمون‌های درون آن به‌عنوان پشتیبانی‌نشده گزارش خواهند شد. استفاده‌شده توسط: \fIShTest\fP\&. .sp \fBparent\fP پیکربندی والد؛ این شیء پیکربندی برای دایرکتوری حاوی مجموعه آزمون یا None است. .sp \fBroot\fP پیکربندی ریشه. این بالاترین پیکربندی \fBlit\fP در پروژه است. .sp \fBpipefail\fP به‌طور معمول آزمونی که از پایپ شل (pipe) استفاده می‌کند، در صورت شکست هر یک از دستورهای درون پایپ با شکست مواجه می‌شود. در صورتی که این رفتار مطلوب نباشد، تنظیم این متغیر روی false باعث می‌شود آزمون تنها زمانی با شکست مواجه شود که آخرین دستور در پایپ شکست بخورد. .sp \fBavailable_features\fP مجموعه‌ای از ویژگی‌ها که می‌توان در دستورالعمل‌های \fIXFAIL\fP، \fIREQUIRES\fP و \fIUNSUPPORTED\fP استفاده کرد. .UNINDENT .UNINDENT .SS "کشف آزمون (TEST DISCOVERY)" .sp پس از تعیین محل مجموعه‌های آزمون، \fBlit\fP به‌صورت بازگشتی دایرکتوری منبع را (بر اساس \fItest_source_root\fP) برای یافتن آزمون‌ها پیمایش می‌کند. هنگامی که \fBlit\fP وارد یک زیردایرکتوری می‌شود، ابتدا بررسی می‌کند که آیا یک مجموعه آزمون تودرتو در آن دایرکتوری تعریف شده است یا خیر. در این صورت، آن مجموعه آزمون را به‌صورت بازگشتی بارگذاری می‌کند؛ در غیر این صورت، یک پیکربندی آزمون محلی برای آن دایرکتوری نمونه‌سازی می‌کند (بخش فایل‌های پیکربندی محلی (LOCAL CONFIGURATION FILES) را ببینید). .sp آزمون‌ها بر اساس مجموعه آزمونی که در آن قرار دارند و مسیر نسبی درون آن مجموعه شناسایی می‌شوند. توجه داشته باشید که مسیر نسبی ممکن است به یک فایل واقعی روی دیسک اشاره نکند؛ برخی از فرمت‌های آزمون (مانند \fIGoogleTest\fP) «آزمون‌های مجازی» (\(dqvirtual tests\(dq) را تعریف می‌کنند که دارای مسیری هستند که هم شامل مسیر فایل آزمون واقعی و هم یک زیرمسیر برای شناسایی آزمون مجازی است. .SS "فایل‌های پیکربندی محلی (LOCAL CONFIGURATION FILES)" .sp هنگامی که \fBlit\fP زیردایرکتوری‌ای را در یک مجموعه آزمون بارگذاری می‌کند، با کلون کردن پیکربندی دایرکتوری والد، یک پیکربندی آزمون محلی ایجاد می‌کند \-\-\- ریشهٔ این زنجیرهٔ پیکربندی همواره یک مجموعه آزمون خواهد بود. پس از کلون شدن پیکربندی آزمون، \fBlit\fP وجود فایل \fIlit.local.cfg\fP را در زیردایرکتوری بررسی می‌کند. در صورت وجود، این فایل بارگذاری می‌شود و می‌تواند برای اختصاصی‌سازی پیکربندی برای هر دایرکتوری مجزا استفاده شود. این امکان می‌تواند برای تعریف زیردایرکتوری‌هایی از آزمون‌های اختیاری، یا تغییر سایر پارامترهای پیکربندی \-\-\- برای مثال تغییر فرمت آزمون، یا پسوندهایی که فایل‌های آزمون را مشخص می‌کنند \-\-\- استفاده شود. .SS "جایگزینی‌ها (SUBSTITUTIONS)" .sp ابزار \fBlit\fP امکان جایگزینی الگوها را درون دستورهای RUN فراهم می‌کند. همچنین مجموعهٔ پایه‌ای زیر از جایگزینی‌ها را ارائه می‌دهد که در TestRunner.py تعریف شده‌اند: .INDENT 0.0 .INDENT 3.5 .TS box center; l|l. T{ ماکرو (Macro) T} T{ جایگزینی (Substitution) T} _ T{ %s T} T{ مسیر منبع (مسیر فایلی که در حال حاضر اجرا می‌شود) T} _ T{ %S T} T{ دایرکتوری منبع (دایرکتوری فایلی که در حال حاضر اجرا می‌شود) T} _ T{ %p T} T{ مشابه %S T} _ T{ %{pathsep} T} T{ جداساز مسیر T} _ T{ %{fs\-src\-root} T} T{ مؤلفهٔ ریشه از مسیرهای سیستم‌فایل که به مخزن LLVM اشاره دارند T} _ T{ %{fs\-tmp\-root} T} T{ مؤلفهٔ ریشه از مسیرهای سیستم‌فایل که به دایرکتوری موقت آزمون اشاره دارند T} _ T{ %{fs\-sep} T} T{ جداساز مسیر سیستم‌فایل T} _ T{ %t T} T{ مسیری یکتا برای آزمون (که ممکن است برای ایجاد فایل‌ها یا دایرکتوری‌ها استفاده شود) T} _ T{ %basename_t T} T{ آخرین مؤلفهٔ مسیر %t بدون پسوند \fB\&.tmp\fP (منسوخ‌شده، به‌جای آن از \fB%{t:stem}\fP استفاده کنید) T} _ T{ %% T} T{ % T} _ T{ %/s T} T{ همان %s اما \fB\e\fP با \fB/\fP جایگزین شده است T} _ T{ %/S T} T{ همان %S اما \fB\e\fP با \fB/\fP جایگزین شده است T} _ T{ %/p T} T{ همان %p اما \fB\e\fP با \fB/\fP جایگزین شده است T} _ T{ %/t T} T{ همان %t اما \fB\e\fP با \fB/\fP جایگزین شده است T} _ T{ %{s:basename} T} T{ آخرین مؤلفهٔ مسیر %s T} _ T{ %{t:stem} T} T{ آخرین مؤلفهٔ مسیر %t بدون پسوند \fB\&.tmp\fP (نام مستعار برای %basename_t) T} _ T{ %{s:real} T} T{ همان %s پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{S:real} T} T{ همان %S پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{p:real} T} T{ همان %p پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{t:real} T} T{ همان %t پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{/s:real} T} T{ همان %/s پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{/S:real} T} T{ همان %/S پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{/p:real} T} T{ همان %/p پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{/t:real} T} T{ همان %/t پس از باز کردن تمام پیوندهای نمادین و درایوهای جایگزین T} _ T{ %{/s:regex_replacement} T} T{ همان %/s اما برای استفاده در جایگزینیِ دستور \fBs@@@\fP در sed اسکیپ شده است T} _ T{ %{/S:regex_replacement} T} T{ همان %/S اما برای استفاده در جایگزینیِ دستور \fBs@@@\fP در sed اسکیپ شده است T} _ T{ %{/p:regex_replacement} T} T{ همان %/p اما برای استفاده در جایگزینیِ دستور \fBs@@@\fP در sed اسکیپ شده است T} _ T{ %{/t:regex_replacement} T} T{ همان %/t اما برای استفاده در جایگزینیِ دستور \fBs@@@\fP در sed اسکیپ شده است T} _ T{ %:s T} T{ در ویندوز، همان %/s اما اگر \fB:\fP نویسهٔ دوم باشد حذف می‌شود. در غیر این صورت، همان %s با حذف یک \fB/\fP ابتدایی. T} _ T{ %:S T} T{ در ویندوز، همان %/S اما اگر \fB:\fP نویسهٔ دوم باشد حذف می‌شود. در غیر این صورت، همان %S با حذف یک \fB/\fP ابتدایی. T} _ T{ %:p T} T{ در ویندوز، همان %/p اما اگر \fB:\fP نویسهٔ دوم باشد حذف می‌شود. در غیر این صورت، همان %p با حذف یک \fB/\fP ابتدایی. T} _ T{ %:t T} T{ در ویندوز، همان %/t اما اگر \fB:\fP نویسهٔ دوم باشد حذف می‌شود. در غیر این صورت، همان %t با حذف یک \fB/\fP ابتدایی. T} _ T{ %{readfile:} T} T{ فایل مشخص‌شده را می‌خواند. T} .TE .UNINDENT .UNINDENT .sp جایگزینی‌های دیگری نیز ارائه می‌شوند که اشکال متفاوتی از این مجموعهٔ پایه هستند و الگوهای جایگزینی بیشتری می‌توانند توسط هر ماژول آزمون تعریف شوند. بخش فایل‌های پیکربندی محلی (LOCAL CONFIGURATION FILES) ماژول‌ها را ببینید\&. .sp اطلاعات دقیق‌تر دربارهٔ جایگزینی‌ها را می‌توان در راهنمای زیرساخت آزمون LLVM \%<>\& یافت..SS قالب خروجی اجرای آزمون (TEST RUN OUTPUT FORMAT) .sp خروجی \fBlit\fP برای یک اجرای آزمون، هم در حالت خلاصه و هم در حالت پرگو (verbose) از طرح‌واره (schema) زیر پیروی می‌کند (اگرچه در حالت خلاصه هیچ خط PASS نشان داده نخواهد شد). این طرح‌واره به‌گونه‌ای انتخاب شده است که تجزیه قابل‌اعتماد آن توسط ماشین (به‌عنوان مثال در استخراج گزارش‌های buildbot) و تولید آن توسط سایر ابزارها نسبتاً آسان باشد. .sp انتظار می‌رود نتیجه هر آزمون در خطی ظاهر شود که با الگوی زیر مطابقت دارد: .INDENT 0.0 .INDENT 3.5 .sp .EX : () .EE .UNINDENT .UNINDENT .sp که در آن \fB\fP یک نتیجه استاندارد آزمون مانند PASS، FAIL، XFAIL، XPASS، UNRESOLVED یا UNSUPPORTED است. کدهای نتیجه کارایی مانند IMPROVED و REGRESSED نیز مجاز هستند. .sp فیلد \fB\fP می‌تواند شامل هر رشته دلخواهی بدون نویسه خط جدید (newline) باشد. .sp فیلد \fB\fP می‌تواند برای گزارش اطلاعات پیشرفت مانند (1/300) استفاده شود یا خالی باشد، اما حتی در صورت خالی بودن نیز پرانتزها الزامی هستند. .sp اگر به یک آزمون اجازه تلاش مجدد داده شده باشد (یادداشت \fBALLOW_RETRIES:\fP را ببینید) و برای موفقیت به بیش از یک تلاش نیاز داشته باشد، فیلد \fB\fP با این اطلاعات بسط می‌یابد: .INDENT 0.0 .INDENT 3.5 .sp .EX , of attempts .EE .UNINDENT .UNINDENT .sp هر نتیجه آزمون ممکن است شامل اطلاعات گزارش تکمیلی (چندخطی) در قالب زیر باشد: .INDENT 0.0 .INDENT 3.5 .sp .EX TEST \(aq()\(aq \&... log message ... .EE .UNINDENT .UNINDENT .sp که در آن \fB\fP باید نام یک آزمون گزارش‌شده پیشین باشد، \fB\fP رشته‌ای از نویسه‌های \(dq*\(dq به طول \fIحداقل\fP چهار نویسه است (طول توصیه‌شده ۲۰ است)، و \fB\fP یک رشته دلخواه (تجزیه‌نشده) است. .sp در ادامه نمونه‌ای از خروجی اجرای آزمون شامل چهار آزمون A، B، C و D، و یک پیام گزارش برای آزمون ناموفق C آمده است: .INDENT 0.0 .INDENT 3.5 .sp .EX PASS: A (1 of 4) PASS: B (2 of 4) FAIL: C (3 of 4) ******************** TEST \(aqC\(aq FAILED ******************** Test \(aqC\(aq failed as a result of exit code 1. ******************** PASS: D (4 of 4) .EE .UNINDENT .UNINDENT .SS ویژگی‌های پیش‌فرض (DEFAULT FEATURES) .sp برای راحتی کار، \fBlit\fP به‌طور خودکار \fBavailable_features\fP را برای برخی موارد استفاده رایج اضافه می‌کند. .sp ابزار \fBlit\fP یک ویژگی بر اساس سیستم‌عامل میزبان ساخت اضافه می‌کند، به‌عنوان مثال: \fIsystem\-darwin\fP، \fIsystem\-linux\fP و غیره. \fBlit\fP همچنین به‌طور خودکار یک ویژگی بر اساس معماری فعلی می‌افزاید، برای نمونه \fItarget\-x86_64\fP، \fItarget\-aarch64\fP و غیره. .sp هنگام ساخت با سانایتایزرهای فعال (sanitizers)، \fBlit\fP به‌طور خودکار نام کوتاه سانایتایزر را اضافه می‌کند، برای مثال: \fIasan\fP، \fItsan\fP و غیره. .sp برای مشاهده فهرست کامل ویژگی‌هایی که می‌توان اضافه کرد، \fIllvm/utils/lit/lit/llvm/config.py\fP\& را ببینید. .SS آزمون‌های نمونه LIT (LIT EXAMPLE TESTS) .sp توزیع \fBlit\fP شامل چندین پیاده‌سازی نمونه از مجموعه‌های آزمون در دایرکتوری \fIExampleTests\fP است. .SH "همچنین ببینید (SEE ALSO)" .sp valgrind(1) .SH "نویسندگان (AUTHORS)" نگه‌داری‌شده توسط تیم LLVM (). .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2003-2026, LLVM Project .\" End of generated man page.