'\" t .TH "CARGO\-TEST" "1" .nh .ad l .ss \n[.ss] 0 .SH "نام (NAME)" cargo\-test \- اجرای آزمون‌های واحد و یکپارچه‌سازی بسته در پروژه‌های Rust .SH "خلاصه دستور (SYNOPSIS)" \fBcargo test\fR [\fIگزینه‌ها\fR] [\fIنام_آزمون\fR] [\fB\-\-\fR \fIگزینه‌های_آزمون\fR] .SH "توضیحات (DESCRIPTION)" کامپایل و اجرای آزمون‌های واحد (Unit)، یکپارچه‌سازی (Integration) و مستندات (Doc tests). .sp آرگومان فیلتر کردن آزمون \fBTESTNAME\fR و تمامی آرگومان‌های پس از دو خط تیره (\fB\-\-\fR) به باینری‌های آزمون و در نتیجه به \fIlibtest\fR (چارچوب داخلی rustc برای آزمون‌های واحد و بنچمارک‌های خرد) ارسال می‌شوند. اگر آرگومان‌ها را هم به Cargo و هم به باینری ارسال می‌کنید، مواردی که پس از \fB\-\-\fR می‌آیند به باینری و موارد قبل از آن به Cargo ارسال می‌شوند. برای جزئیات درباره آرگومان‌های libtest خروجی \fBcargo test \-\- \-\-help\fR را مشاهده کنید و فصل مربوط به نحوه کارکرد آزمون‌ها در کتاب rustc را در نشانی بررسی کنید. .sp به عنوان مثال، این دستور آزمون‌هایی را که شامل \fBfoo\fR در نام خود هستند فیلتر کرده و آن‌ها را به صورت موازی روی ۳ ریسه (Thread) اجرا می‌کند: .sp .RS 4 .nf cargo test foo \-\- \-\-test\-threads 3 .fi .RE .sp آزمون‌ها با گزینه \fB\-\-test\fR برای \fBrustc\fR ساخته می‌شوند که با لینک کردن کد شما با libtest یک فایل اجرایی ویژه ایجاد می‌کند. این فایل اجرایی به صورت خودکار تمامی توابعی را که با صفت \fB#[test]\fR نشانه‌گذاری شده‌اند روی چندین ریسه اجرا می‌کند. توابع نشانه‌گذاری‌شده با \fB#[bench]\fR نیز با یک تکرار اجرا می‌شوند تا عملکرد صحیح آن‌ها تأیید شود. .sp اگر بسته شامل چندین هدف آزمون باشد، هر هدف همان‌طور که گفته شد به یک فایل اجرایی ویژه کامپایل شده و سپس به صورت متوالی اجرا می‌شود. .sp بستر اجرایی libtest را می‌توان با تنظیم \fBharness = false\fR در تنظیمات مانیفست هدف غیرفعال کرد؛ در این صورت کد شما باید تابع \fBmain\fR اختصاصی خود را برای مدیریت اجرای آزمون‌ها ارائه دهد. .SS "آزمون‌های مستندات (Documentation tests)" آزمون‌های مستندات نیز به صورت پیش‌فرض اجرا می‌شوند که مدیریت آن بر عهده \fBrustdoc\fR است. این ابزار نمونه‌کدها را از کامنت‌های مستنداتی هدف کتابخانه استخراج کرده و سپس آن‌ها را اجرا می‌کند. .sp برخلاف اهداف آزمون معمولی، هر بلوک کد با \fBrustc\fR در لحظه به یک فایل اجرایی doctest کامپایل می‌شود. این فایل‌های اجرایی به صورت موازی در فرآیندهای جداگانه اجرا می‌شوند. کامپایل یک بلوک کد در واقع بخشی از تابع آزمون است که توسط libtest کنترل می‌شود، بنابراین برخی گزینه‌ها مانند \fB\-\-jobs\fR ممکن است بی‌اثر باشند. توجه داشته باشید که این مدل اجرای doctest تضمین‌شده نیست و ممکن است در آینده تغییر کند؛ از وابستگی به آن خودداری کنید. .sp برای اطلاعات بیشتر درباره نوشتن آزمون‌های مستندات به \fIکتاب rustdoc\fR در نشانی مراجعه کنید. .SS "دایرکتوری کاری آزمون‌ها (Working directory of tests)" دایرکتوری کاری هنگام اجرای هر آزمون واحد و یکپارچه‌سازی روی دایرکتوری ریشه بسته‌ای که آزمون به آن تعلق دارد تنظیم می‌شود. تنظیم دایرکتوری کاری آزمون‌ها روی دایرکتوری ریشه بسته باعث می‌شود آزمون‌ها بتوانند با استفاده از مسیرهای نسبی، بدون توجه به جایی که \fBcargo test\fR از آنجا اجرا شده است، به طور قابل اعتماد به فایل‌های بسته دسترسی داشته باشند. .sp برای آزمون‌های مستندات، دایرکتوری کاری هنگام فراخوانی \fBrustdoc\fR روی دایرکتوری ریشه فضای کاری (Workspace) تنظیم می‌شود و همچنین همان دایرکتوری است که \fBrustdoc\fR به عنوان دایرکتوری کامپایل هر آزمون مستندات استفاده می‌کند. دایرکتوری کاری هنگام اجرای هر آزمون مستندات روی دایرکتوری ریشه بسته‌ای که آزمون به آن تعلق دارد تنظیم می‌شود و از طریق گزینه \fB\-\-test\-run\-directory\fR در \fBrustdoc\fR کنترل می‌شود. .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های آزمون (Test Options)" .sp \fB\-\-no\-run\fR .RS 4 کامپایل کردن آزمون‌ها بدون اجرای آن‌ها. .RE .sp \fB\-\-no\-fail\-fast\fR .RS 4 اجرای تمامی آزمون‌ها صرف‌نظر از شکست هر کدام. بدون این فلگ، Cargo پس از شکست اولین فایل اجرایی متوقف می‌شود. بستر آزمون Rust تمامی آزمون‌های درون فایل اجرایی را تا انتها اجرا خواهد کرد؛ این فلگ تنها برای فایل اجرایی به عنوان یک کل اعمال می‌شود. .RE .SS "انتخاب بسته (Package Selection)" به صورت پیش‌فرض، هنگامی که هیچ گزینه انتخابی برای بسته مشخص نشده باشد، بسته‌های انتخاب‌شده به فایل مانیفست انتخاب‌شده بستگی دارند (بر اساس دایرکتوری کاری جاری اگر \fB\-\-manifest\-path\fR داده نشده باشد). اگر مانیفست ریشه یک فضای کاری باشد، اعضای پیش‌فرض فضای کاری انتخاب می‌شوند، در غیر این صورت تنها بسته تعریف‌شده توسط مانیفست انتخاب خواهد شد. .sp اعضای پیش‌فرض یک فضای کاری را می‌توان با کلید \fBworkspace.default\-members\fR در مانیفست ریشه به صراحت تنظیم کرد. اگر این کلید تنظیم نشده باشد، یک فضای کاری مجازی شامل همه اعضای فضای کاری خواهد بود (معادل ارسال \fB\-\-workspace\fR)، و یک فضای کاری غیرمجازی فقط شامل خود کریت (Crate) ریشه خواهد بود. .sp \fB\-p\fR \fIspec\fR\[u2026], \fB\-\-package\fR \fIspec\fR\[u2026] .RS 4 آزمون تنها بسته‌های مشخص‌شده. برای قالب SPEC به \fBcargo\-pkgid\fR(1) مراجعه کنید. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس مانند \fB*\fR، \fB?\fR و \fB[]\fR پشتیبانی می‌کند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل پیش از پردازش توسط Cargo، باید در اطراف هر الگو از نقل‌قول تکی یا دوتایی استفاده کنید. .RE .sp \fB\-\-workspace\fR .RS 4 آزمون تمام اعضای موجود در فضای کاری. .RE .sp \fB\-\-all\fR .RS 4 نام مستعار منسوخ‌شده برای \fB\-\-workspace\fR\&. .RE .sp \fB\-\-exclude\fR \fISPEC\fR\[u2026] .RS 4 مستثنی کردن بسته‌های مشخص‌شده. باید همراه با فلگ \fB\-\-workspace\fR استفاده شود. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس مانند \fB*\fR، \fB?\fR و \fB[]\fR پشتیبانی می‌کند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل پیش از پردازش توسط Cargo، باید در اطراف هر الگو از نقل‌قول تکی یا دوتایی استفاده کنید. .RE .SS "انتخاب هدف (Target Selection)" هنگامی که هیچ گزینه‌ای برای انتخاب هدف مشخص نشده باشد، \fBcargo test\fR اهداف زیر از بسته‌های انتخاب‌شده را می‌سازد: .sp .RS 4 \h'-04'\(bu\h'+03'lib \[em] برای لینک با باینری‌ها، مثال‌ها، آزمون‌های یکپارچه‌سازی و آزمون‌های مستندات استفاده می‌شود .RE .sp .RS 4 \h'-04'\(bu\h'+03'bins (تنها در صورتی که آزمون‌های یکپارچه‌سازی ساخته شوند و ویژگی‌های مورد نیاز در دسترس باشند) .RE .sp .RS 4 \h'-04'\(bu\h'+03'examples \[em] برای اطمینان از کامپایل شدن آن‌ها .RE .sp .RS 4 \h'-04'\(bu\h'+03'lib به عنوان یک آزمون واحد .RE .sp .RS 4 \h'-04'\(bu\h'+03'bins به عنوان آزمون‌های واحد .RE .sp .RS 4 \h'-04'\(bu\h'+03'آزمون‌های یکپارچه‌سازی (integration tests) .RE .sp .RS 4 \h'-04'\(bu\h'+03'آزمون‌های مستندات برای هدف lib .RE .sp رفتار پیش‌فرض را می‌توان با تنظیم فلگ \fBtest\fR برای هدف در تنظیمات مانیفست تغییر داد. تنظیم مثال‌ها روی \fBtest = true\fR مثال را به عنوان یک آزمون ساخته و اجرا می‌کند و تابع \fBmain\fR مثال را با بستر libtest جایگزین می‌کند. اگر نمی‌خواهید تابع \fBmain\fR جایگزین شود، مقدار \fBharness = false\fR را نیز اضافه کنید؛ در این صورت مثال همان‌طور که هست ساخته و اجرا می‌شود. .sp تنظیم اهداف روی \fBtest = false\fR از آزموده شدن آن‌ها به صورت پیش‌فرض جلوگیری می‌کند. گزینه‌های انتخاب هدف که یک هدف را با نام دریافت می‌کنند (مانند \fB\-\-example foo\fR) فلگ \fBtest\fR را نادیده گرفته و همیشه هدف داده‌شده را آزمایش می‌کنند. .sp آزمون‌های مستندات کتابخانه‌ها را می‌توان با تنظیم \fBdoctest = false\fR برای کتابخانه در مانیفست غیرفعال کرد. .sp برای اطلاعات بیشتر در مورد تنظیمات هر هدف، به بخش \fIپیکربندی یک هدف\fR در نشانی مراجعه کنید. .sp اگر یک آزمون یکپارچه‌سازی یا بنچمارک برای آزمایش انتخاب شده باشد، اهداف باینری به صورت خودکار ساخته می‌شوند. این به آزمون یکپارچه‌سازی اجازه می‌دهد باینری را اجرا کرده تا رفتار آن را بررسی و آزمایش کند. متغیر محیطی \fBCARGO_BIN_EXE_\fR (مشاهده در ) هنگام ساخت و اجرای آزمون یکپارچه‌سازی تنظیم می‌شود تا بتواند با استفاده از \fIماکروی env\fR در یا \fIتابع var\fR در مکان فایل اجرایی را پیدا کند. .sp ارسال فلگ‌های انتخاب هدف، تنها اهداف مشخص‌شده را آزمایش می‌کند. .sp توجه داشته باشید که فلگ‌های \fB\-\-bin\fR، \fB\-\-example\fR، \fB\-\-test\fR و \fB\-\-bench\fR نیز از الگوهای عمومی glob یونیکس مانند \fB*\fR، \fB?\fR و \fB[]\fR پشتیبانی می‌کنند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل پیش از پردازش توسط Cargo، باید در اطراف هر الگوی glob از نقل‌قول تکی یا دوتایی استفاده کنید. .sp \fB\-\-lib\fR .RS 4 آزمون کتابخانه بسته. .RE .sp \fB\-\-bin\fR \fIname\fR\[u2026] .RS 4 آزمون باینری مشخص‌شده. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس پشتیبانی می‌کند. .RE .sp \fB\-\-bins\fR .RS 4 آزمون تمام اهداف باینری. .RE .sp \fB\-\-example\fR \fIname\fR\[u2026] .RS 4 آزمون مثال مشخص‌شده. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس پشتیبانی می‌کند. .RE .sp \fB\-\-examples\fR .RS 4 آزمون تمام اهداف مثال. .RE .sp \fB\-\-test\fR \fIname\fR\[u2026] .RS 4 آزمون آزمون یکپارچه‌سازی مشخص‌شده. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس پشتیبانی می‌کند. .RE .sp \fB\-\-tests\fR .RS 4 آزمون تمام اهدافی که فلگ مانیفست \fBtest = true\fR برای آن‌ها تنظیم شده است. به طور پیش‌فرض این شامل کتابخانه و باینری‌های ساخته‌شده به عنوان آزمون‌های واحد، و آزمون‌های یکپارچه‌سازی است. توجه داشته باشید که این کار هرگونه وابستگی مورد نیاز را نیز می‌سازد، بنابراین هدف lib ممکن است دو بار ساخته شود (یک بار به عنوان آزمون واحد، و یک بار به عنوان وابستگی برای باینری‌ها، آزمون‌های یکپارچه‌سازی و غیره). اهداف را می‌توان با تنظیم فلگ \fBtest\fR در تنظیمات مانیفست هدف فعال یا غیرفعال کرد. .RE .sp \fB\-\-bench\fR \fIname\fR\[u2026] .RS 4 آزمون بنچمارک مشخص‌شده. این فلگ ممکن است چندین بار مشخص شود و از الگوهای عمومی glob یونیکس پشتیبانی می‌کند. .RE .sp \fB\-\-benches\fR .RS 4 آزمون تمام اهدافی که فلگ مانیفست \fBbench = true\fR برای آن‌ها تنظیم شده است. به طور پیش‌فرض این شامل کتابخانه و باینری‌های ساخته‌شده به عنوان بنچمارک، و اهداف bench است. توجه داشته باشید که این کار هرگونه وابستگی مورد نیاز را نیز می‌سازد، بنابراین هدف lib ممکن است دو بار ساخته شود (یک بار به عنوان بنچمارک، و یک بار به عنوان وابستگی برای باینری‌ها، بنچمارک‌ها و غیره). اهداف را می‌توان با تنظیم فلگ \fBbench\fR در تنظیمات مانیفست هدف فعال یا غیرفعال کرد. .RE .sp \fB\-\-all\-targets\fR .RS 4 آزمون تمام اهداف. این معادل مشخص کردن \fB\-\-lib \-\-bins \-\-tests \-\-benches \-\-examples\fR است. .RE .sp \fB\-\-doc\fR .RS 4 آزمون تنها مستندات کتابخانه. این گزینه نمی‌تواند با سایر گزینه‌های هدف ترکیب شود. .RE .SS "انتخاب ویژگی‌ها (Feature Selection)" فلگ‌های ویژگی به شما اجازه می‌دهند کنترل کنید کدام ویژگی‌ها فعال باشند. هنگامی که هیچ گزینه ویژگی مشخص نشده باشد، ویژگی \fBdefault\fR برای هر بسته انتخاب‌شده فعال می‌شود. .sp برای جزئیات بیشتر به \fIمستندات ویژگی‌ها\fR در نشانی مراجعه کنید. .sp \fB\-F\fR \fIfeatures\fR, \fB\-\-features\fR \fIfeatures\fR .RS 4 فهرست جداشده با فاصله یا کاما از ویژگی‌ها برای فعال‌سازی. ویژگی‌های اعضای فضای کاری را می‌توان با نحو \fBpackage\-name/feature\-name\fR فعال کرد. این فلگ ممکن است چندین بار مشخص شود که تمام ویژگی‌های مشخص‌شده را فعال می‌کند. .RE .sp \fB\-\-all\-features\fR .RS 4 فعال‌سازی تمام ویژگی‌های موجود در تمام بسته‌های انتخاب‌شده. .RE .sp \fB\-\-no\-default\-features\fR .RS 4 عدم فعال‌سازی ویژگی \fBdefault\fR در بسته‌های انتخاب‌شده. .RE .SS "گزینه‌های کامپایل (Compilation Options)" .sp \fB\-\-target\fR \fItriple\fR .RS 4 آزمون برای معماری هدف مشخص‌شده. این فلگ ممکن است چندین بار مشخص شود. پیش‌فرض معماری میزبان است. ساختار کلی سه‌گانه (Triple) به صورت \fB\-\-\-\fR است. .sp مقادیر ممکن: .sp .RS 4 \h'-04'\(bu\h'+03'هر هدف پشتیبانی‌شده در \fBrustc \-\-print target\-list\fR\&. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fB"host\-tuple"\fR، که در داخل با هدف میزبان جایگزین خواهد شد. این گزینه به‌ویژه زمانی مفید است که برخی کریت‌ها را به صورت چندسکویی (Cross-compile) کامپایل می‌کنید و نمی‌خواهید ماشین میزبان خود را به عنوان هدف مشخص کنید (به عنوان مثال، یک \fBxtask\fR در یک پروژه مشترک که ممکن است روی چندین میزبان مختلف توسعه داده شود). .RE .sp .RS 4 \h'-04'\(bu\h'+03'یک مسیر به فایل مشخصات هدف سفارشی. برای اطلاعات بیشتر به بخش \fIMasir Jostojuye Hadafe Sefareshi\fR در مراجعه کنید. .RE .sp این مقدار همچنین می‌تواند با مقدار پیکربندی \fBbuild.target\fR در مشخص شود. .sp توجه داشته باشید که مشخص کردن این فلگ باعث می‌شود Cargo در حالت متفاوتی اجرا شود که در آن مصنوعات هدف در یک دایرکتوری جداگانه قرار می‌گیرند. برای جزئیات بیشتر به مستندات \fIحافظه موقت ساخت (build cache)\fR در نشانی مراجعه کنید. .RE .sp \fB\-r\fR, \fB\-\-release\fR .RS 4 آزمون مصنوعات بهینه‌سازی‌شده با پروفایل \fBrelease\fR. همچنین گزینه \fB\-\-profile\fR را برای انتخاب یک پروفایل خاص بر اساس نام ببینید. .RE .sp \fB\-\-profile\fR \fIname\fR .RS 4 آزمون با پروفایل داده‌شده. برای جزئیات بیشتر درباره پروفایل‌ها به \fIمرجع پروفایل‌ها\fR در نشانی مراجعه کنید. .RE .sp \fB\-\-timings\fR .RS 4 خروجی دادن اطلاعات مربوط به مدت زمان هر کامپایل و ردیابی اطلاعات همزمانی در طول زمان. .sp یک فایل \fBcargo\-timing.html\fR در پایان ساخت در دایرکتوری \fBtarget/cargo\-timings\fR نوشته خواهد شد. اگر مایل به بررسی اجرای قبلی باشید، یک گزارش اضافی همراه با برچسب زمان در نام فایل آن نیز نوشته می‌شود. این گزارش‌ها صرفاً برای مطالعه انسانی مناسب هستند و داده‌های زمان‌بندی خواندنی توسط ماشین ارائه نمی‌دهند. .RE .SS "گزینه‌های خروجی (Output Options)" .sp \fB\-\-target\-dir\fR \fIdirectory\fR .RS 4 دایرکتوری برای تمامی مصنوعات تولیدشده و فایل‌های میانی. همچنین می‌تواند با متغیر محیطی \fBCARGO_TARGET_DIR\fR یا مقدار پیکربندی \fBbuild.target\-dir\fR در مشخص شود. پیش‌فرض \fBtarget\fR در ریشه فضای کاری است. .RE .SS "گزینه‌های نمایش (Display Options)" به صورت پیش‌فرض، بستر آزمون Rust خروجی حاصل از اجرای آزمون را پنهان می‌کند تا نتایج خوانا باقی بمانند. خروجی آزمون را می‌توان با ارسال \fB\-\-no\-capture\fR به باینری‌های آزمون بازیابی کرد (مثلاً برای اشکال‌زدایی): .sp .RS 4 .nf cargo test \-\- \-\-no\-capture .fi .RE .sp \fB\-v\fR, \fB\-\-verbose\fR .RS 4 استفاده از خروجی با جزئیات. می‌تواند دو بار برای خروجی «بسیار باجزئیات» مشخص شود که شامل خروجی‌های اضافی مانند هشدارهای وابستگی و خروجی اسکریپت ساخت است. همچنین می‌تواند با مقدار پیکربندی \fBterm.verbose\fR در مشخص شود. .RE .sp \fB\-q\fR, \fB\-\-quiet\fR .RS 4 عدم چاپ پیام‌های لاگ cargo. همچنین می‌تواند با مقدار پیکربندی \fBterm.quiet\fR در مشخص شود. .RE .sp \fB\-\-color\fR \fIwhen\fR .RS 4 کنترل زمان استفاده از خروجی رنگی. مقادیر معتبر: .sp .RS 4 \h'-04'\(bu\h'+03'\fBauto\fR (پیش‌فرض): تشخیص خودکار در دسترس بودن پشتیبانی از رنگ در ترمینال. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBalways\fR: نمایش همیشگی رنگ‌ها. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBnever\fR: عدم نمایش رنگ‌ها در هیچ شرایطی. .RE .sp همچنین می‌تواند با مقدار پیکربندی \fBterm.color\fR در مشخص شود. .RE .sp \fB\-\-message\-format\fR \fIfmt\fR .RS 4 قالب خروجی برای پیام‌های تشخیصی. می‌تواند چندین بار مشخص شود و شامل مقادیر جداشده با کاما است. مقادیر معتبر: .sp .RS 4 \h'-04'\(bu\h'+03'\fBhuman\fR (پیش‌فرض): نمایش در قالب متنی خوانا برای انسان. با \fBshort\fR و \fBjson\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBshort\fR: انتشار پیام‌های متنی کوتاه‌تر و خوانا برای انسان. با \fBhuman\fR و \fBjson\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\fR: انتشار پیام‌های JSON در خروجی استاندارد (stdout). برای جزئیات بیشتر به \fIمرجع\fR در نشانی مراجعه کنید. با \fBhuman\fR و \fBshort\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-diagnostic\-short\fR: تضمین می‌کند که فیلد \fBrendered\fR در پیام‌های JSON شامل رندر «کوتاه» از rustc باشد. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-diagnostic\-rendered\-ansi\fR: تضمین می‌کند که فیلد \fBrendered\fR در پیام‌های JSON شامل کدهای رنگی توکار ANSI برای رعایت طرح رنگی پیش‌فرض rustc باشد. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-render\-diagnostics\fR: به Cargo دستور می‌دهد که پیام‌های تشخیصی rustc را در پیام‌های JSON چاپ نکند، بلکه خود Cargo پیام‌های تشخیصی JSON ارائه‌شده از rustc را رندر کند. پیام‌های تشخیصی JSON اختصاصی Cargo و سایر پیام‌های ناشی از rustc همچنان منتشر می‌شوند. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .RE .SS "گزینه‌های مانیفست (Manifest Options)" .sp \fB\-\-manifest\-path\fR \fIpath\fR .RS 4 مسیر فایل \fBCargo.toml\fR. به صورت پیش‌فرض، Cargo فایل \fBCargo.toml\fR را در دایرکتوری جاری یا هر یک از دایرکتوری‌های والد جستجو می‌کند. .RE .sp \fB\-\-ignore\-rust\-version\fR .RS 4 نادیده گرفتن مشخصات \fBrust\-version\fR در بسته‌ها. .RE .sp \fB\-\-locked\fR .RS 4 تأیید می‌کند که دقیقاً از همان وابستگی‌ها و نسخه‌هایی استفاده شود که هنگام ایجاد اولیه فایل \fBCargo.lock\fR تولید شده بودند. در صورت بروز هر یک از سناریوهای زیر، Cargo با خطا خارج خواهد شد: .sp .RS 4 \h'-04'\(bu\h'+03'فایل lock موجود نباشد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'برنامه Cargo به دلیل تفکیک متفاوت وابستگی‌ها تلاش کند فایل lock را تغییر دهد. .RE .sp این گزینه می‌تواند در محیط‌هایی که ساخت قطعی و تکرارپذیر مورد نظر است، مانند خطوط لوله CI، استفاده شود. .RE .sp \fB\-\-offline\fR .RS 4 جلوگیری از دسترسی Cargo به شبکه به هر دلیلی. بدون این فلگ، اگر Cargo نیاز به دسترسی به شبکه داشته باشد و شبکه در دسترس نباشد، با خطا متوقف می‌شود. با این فلگ، Cargo تلاش می‌کند در صورت امکان بدون شبکه به کار خود ادامه دهد. .sp توجه داشته باشید که این ممکن است به حل وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به کریت‌هایی محدود می‌کند که به صورت محلی بارگیری شده‌اند، حتی اگر نسخه جدیدتری همان‌طور که در نسخه محلی ایندکس مشخص شده است وجود داشته باشد. برای بارگیری وابستگی‌ها قبل از آفلاین شدن، به دستور \fBcargo\-fetch\fR(1) مراجعه کنید. .sp همچنین می‌تواند با مقدار پیکربندی \fBnet.offline\fR در مشخص شود. .RE .sp \fB\-\-frozen\fR .RS 4 معادل مشخص کردن هر دو گزینه \fB\-\-locked\fR و \fB\-\-offline\fR به طور همزمان. .RE .SS "گزینه‌های عمومی (Common Options)" .sp \fB+\fR\fItoolchain\fR .RS 4 اگر Cargo با rustup نصب شده باشد و اولین آرگومان به \fBcargo\fR با \fB+\fR آغاز شود، به عنوان نام زنجیره ابزار rustup (مانند \fB+stable\fR یا \fB+nightly\fR) تفسیر خواهد شد. برای اطلاعات بیشتر درباره نحوه کارکرد لغو زنجیره ابزار، به \fIمستندات rustup\fR در نشانی مراجعه کنید. .RE .sp \fB\-\-config\fR \fIKEY=VALUE\fR یا \fIPATH\fR .RS 4 بازنویسی یک مقدار پیکربندی Cargo. آرگومان باید در نحو TOML به صورت \fBKEY=VALUE\fR باشد، یا به عنوان مسیری به یک فایل پیکربندی اضافی ارائه شود. این فلگ ممکن است چندین بار مشخص شود. برای اطلاعات بیشتر به بخش \fIلغوهای خط فرمان\fR در نشانی مراجعه کنید. .RE .sp \fB\-C\fR \fIPATH\fR .RS 4 تغییر دایرکتوری کاری جاری قبل از اجرای هرگونه عملیات مشخص‌شده. این گزینه بر مواردی مانند جایی که cargo به طور پیش‌فرض به دنبال مانیفست پروژه (\fBCargo.toml\fR) می‌گردد، و همچنین دایرکتوری‌های جستجوشده برای کشف \fB\&.cargo/config.toml\fR تأثیر می‌گذارد. این گزینه باید قبل از نام دستور ظاهر شود، به عنوان مثال \fBcargo \-C path/to/my\-project build\fR\&. .sp این گزینه تنها در \fIکانال nightly\fR در در دسترس است و برای فعال‌سازی به فلگ \fB\-Z unstable\-options\fR نیاز دارد (مشاهده \fI#10098\fR در ). .RE .sp \fB\-h\fR, \fB\-\-help\fR .RS 4 چاپ اطلاعات راهنما. .RE .sp \fB\-Z\fR \fIflag\fR .RS 4 فلگ‌های ناپایدار (تنها در نسخه nightly) برای Cargo. برای جزئیات دستور \fBcargo \-Z help\fR را اجرا کنید. .RE .SS "گزینه‌های متفرقه (Miscellaneous Options)" آرگومان \fB\-\-jobs\fR بر ساخت فایل اجرایی آزمون تأثیر می‌گذارد اما بر تعداد ریسه‌های مورد استفاده هنگام اجرای آزمون‌ها تأثیری ندارد. بستر آزمون Rust شامل گزینه‌ای برای کنترل تعداد ریسه‌های استفاده‌شده است: .sp .RS 4 .nf cargo test \-j 2 \-\- \-\-test\-threads=2 .fi .RE .sp \fB\-j\fR \fIN\fR, \fB\-\-jobs\fR \fIN\fR .RS 4 تعداد کارهای موازی برای اجرا. همچنین می‌تواند با مقدار پیکربندی \fBbuild.jobs\fR در مشخص شود. پیش‌فرض تعداد پردازنده‌های منطقی است. اگر منفی باشد، حداکثر تعداد کارهای موازی را روی تعداد پردازنده‌های منطقی به علاوه مقدار ارائه‌شده تنظیم می‌کند. اگر رشته \fBdefault\fR ارائه شود، مقدار را به پیش‌فرض بازمی‌گرداند. نباید 0 باشد. .RE .sp \fB\-\-future\-incompat\-report\fR .RS 4 نمایش یک گزارش عدم سازگاری آینده (future-incompat report) برای هرگونه هشدارهای ناسازگاری آینده که در طول اجرای این دستور تولید شده است. .sp به \fBcargo\-report\fR(1) مراجعه کنید. .RE .sp اگرچه \fBcargo test\fR شامل کامپایل است، اما فلگ \fB\-\-keep\-going\fR ارائه نمی‌دهد. از \fB\-\-no\-fail\-fast\fR برای اجرای تا حد امکان آزمون‌های بیشتر بدون توقف در اولین شکست استفاده کنید. برای «کامپایل» تا حد امکان آزمون‌های بیشتر، از \fB\-\-tests\fR برای ساخت جداگانه باینری‌های آزمون استفاده کنید. به عنوان مثال: .sp .RS 4 .nf cargo build \-\-tests \-\-keep\-going cargo test \-\-tests \-\-no\-fail\-fast .fi .RE .SH "محیط (ENVIRONMENT)" برای جزئیات درباره متغیرهای محیطی که Cargo می‌خواند، به \fIمرجع\fR در نشانی مراجعه کنید. .SH "وضعیت خروج (EXIT STATUS)" .sp .RS 4 \h'-04'\(bu\h'+03'\fB0\fR: کارگو با موفقیت پایان یافت. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fB101\fR: اجرای کارگو با شکست مواجه شد. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 \h'-04' 1.\h'+01'اجرای تمام آزمون‌های واحد و یکپارچه‌سازی بسته جاری: .sp .RS 4 .nf cargo test .fi .RE .RE .sp .RS 4 \h'-04' 2.\h'+01'اجرای تنها آزمون‌هایی که نام آن‌ها با رشته فیلتر مطابقت دارد: .sp .RS 4 .nf cargo test name_filter .fi .RE .RE .sp .RS 4 \h'-04' 3.\h'+01'اجرای تنها یک آزمون خاص درون یک آزمون یکپارچه‌سازی خاص: .sp .RS 4 .nf cargo test \-\-test int_test_name \-\- modname::test_name .fi .RE .RE .SH "همچنین ببینید (SEE ALSO)" \fBcargo\fR(1), \fBcargo\-bench\fR(1), \fItypes of tests\fR , \fIhow to write tests\fR