MYSQLTEST(1) MariaDB Database System MYSQLTEST(1)

mysqltest - اجرای فایل‌های آزمون خودکار برای سرور MariaDB
mysqltest_embedded - اجرای فایل‌های آزمون برای سرور توکار (embedded)

mysqltest [گزینه‌ها] [name_db]

mysqltest_embedded [گزینه‌ها] [name_db]

برنامه mysqltest یک مورد آزمون (test case) را روی سرور MariaDB اجرا می‌کند و به صورت اختیاری خروجی حاصل را با یک فایل نتیجه مقایسه می‌نماید. این برنامه ورودی‌های نوشته‌شده به یک زبان آزمون ویژه را می‌خواند. معمولاً mysqltest به جای اجرای مستقیم، از طریق mysql-test-run.pl (یا mariadb-test-run.pl) فراخوانی می‌شود.

برنامه mysqltest_embedded مشابه است اما با پشتیبانی از سرور توکار libmariadbd ساخته شده است.

ویژگی‌های mysqltest:

•امکان ارسال دستورات SQL به سرورهای MariaDB برای اجرا
•امکان اجرای دستورات خارجی شل (Shell)
•امکان بررسی اینکه آیا نتیجه یک عبارت SQL یا دستور شل با مقدار مورد انتظار مطابقت دارد یا خیر
•امکان اتصال به یک یا چند سرور مستقل mariadbd و جابجایی میان اتصالات
•امکان اتصال به سرور توکار (libmariadbd)، در صورتی که MariaDB با پشتیبانی از libmariadbd کامپایل شده باشد. (در این حالت، نام فایل اجرایی mysqltest_embedded خواهد بود نه mysqltest.)

به‌طور پیش‌فرض، mysqltest مورد آزمون را از ورودی استاندارد (standard input) می‌خواند. برای اجرای mysqltest به این روش، معمولاً آن را به شکل زیر فراخوانی می‌کنید:

shell> mysqltest [options] [db_name] < test_file

همچنین می‌توانید نام فایل مورد آزمون را با گزینه --test-file=file_name مشخص کنید.

مقدار خروج (exit value) از mysqltest در صورت موفقیت برابر 0، در صورت شکست برابر 1، و اگر مورد آزمون نادیده گرفته شود (برای نمونه اگر پس از بررسی برخی پیش‌شرط‌ها تصمیم به عدم اجرای آزمون بگیرد) برابر 62 است.

mysqltest از گزینه‌های زیر پشتیبانی می‌کند:

•--help, -?

نمایش پیام راهنما و خروج.

•--basedir=dir_name, -b dir_name

دایرکتوری پایه برای آزمون‌ها.

•--character-sets-dir=path

دایرکتوری محل نصب مجموعه‌های نویسه (character sets).

•--compress, -C

فشرده‌سازی تمامی اطلاعات ارسالی میان کلاینت و سرور در صورتی که هر دو از فشرده‌سازی پشتیبانی کنند.

•--connect-timeout=num

می‌توان از این گزینه برای تنظیم پارامتر MYSQL_OPT_CONNECT_TIMEOUT در mysql_options جهت تغییر تعداد ثانیه‌ها پیش از اتمام مهلت زمانی (timeout) تلاش ناموفق برای اتصال استفاده کرد.

•--continue-on-error

ادامه آزمون حتی در صورت بروز خطا. این گزینه بیشتر هنگام آزمایش یک موتور ذخیره‌سازی برای بررسی اینکه چه دستوراتی از یک فایل آزمون قابل اجرا هستند، یا برای یافتن تمام خطاهای نگارشی در یک فایل آزمون بزرگ تازه ایجادشده کاربرد دارد.

•--cursor-protocol

استفاده از مکان‌نماها (cursors) برای عبارات آماده‌سازی‌شده (prepared statements).

•--database=db_name, -D db_name

پایگاه‌داده پیش‌فرض برای استفاده.

•--debug[=debug_options], -#[debug_options]

ثبت گزارش دیباگ در صورتی که MariaDB با پشتیبانی از دیباگ ساخته شده باشد. مقدار پیش‌فرض debug_options برابر 'd:t:S:i:O,/tmp/mariadb-test.trace' است.

•--debug-check

چاپ برخی اطلاعات دیباگ هنگام خروج برنامه.

•--debug-info

چاپ اطلاعات دیباگ و آمار مصرف حافظه و CPU هنگام خروج برنامه.

•--host=host_name, -h host_name

اتصال به سرور MariaDB روی هاست مشخص‌شده.

•--logdir=dir_name

دایرکتوری مورد استفاده برای فایل‌های گزارش (log).

•--mark-progress

نوشتن شماره خط و زمان سپری‌شده در test_file.progress.

•--max-connect-retries=num

حداکثر تعداد تلاش‌ها برای برقراری اتصال به سرور.

•--max-connections=num

حداکثر تعداد اتصالات همزمان سرور به ازای هر کلاینت (یعنی به ازای هر آزمون). در صورت عدم تنظیم، حداکثر 128 است. حداقل حد مجاز 8 و حداکثر 5120 است.

•--no-defaults

عدم خواندن گزینه‌های پیش‌فرض از هیچ فایل تنظیمی. در صورت استفاده، این گزینه باید نخستین گزینه باشد.

•--non-blocking-api

استفاده از رابط کاربری کلاینت غیرمسدودکننده (non-blocking) برای ارتباط.

•--overlay-dir=dir_name

دایرکتوری همپوشانی (overlay).

•--password[=password], -p[password]

گذرواژه مورد استفاده هنگام اتصال به سرور. اگر از شکل کوتاه گزینه (-p) استفاده کنید، نباید فاصله‌ای میان گزینه و گذرواژه وجود داشته باشد. اگر مقدار password پس از گزینه --password یا -p در خط فرمان حذف شود، از شما خواسته می‌شود آن را وارد کنید.

•--plugin-dir=dir_name

دایرکتوری پلاگین‌های سمت کلاینت.

•--port=port_num, -P port_num

شماره پورت TCP/IP برای اتصال، یا 0 برای پیش‌فرض بر اساس ترتیب اولویت: my.cnf، متغیر $MYSQL_TCP_PORT، فایل /etc/services، و پیش‌فرض توکار (3306).

•--prologue=name

گنجاندن محتوای فایل داده‌شده پیش از پردازش محتوای فایل آزمون. فایل گنجانده‌شده باید ساختاری مشابه سایر فایل‌های آزمون mysqltest داشته باشد. این گزینه اثری یکسان با قرار دادن دستور --source file_name به عنوان نخستین خط فایل آزمون دارد.

•--protocol={TCP|SOCKET|PIPE|MEMORY}

پروتکل اتصال مورد استفاده برای ارتباط با سرور. زمانی کاربرد دارد که سایر پارامترهای اتصال باعث انتخاب پروتکلی غیر از پروتکل مورد نظر شما شوند.

•--ps-protocol

استفاده از پروتکل عبارت آماده‌سازی‌شده (prepared-statement) برای ارتباط.

•--quiet

غیرفعال کردن تمامی خروجی‌های عادی. این گزینه مترادف --silent است.

•--record, -r

ضبط خروجی حاصل از اجرای فایل آزمون درون فایل تعیین‌شده با گزینه --result-file (در صورت تعیین آن گزینه). استفاده از این گزینه بدون استفاده همزمان از --result-file یک خطا محسوب می‌شود.

•--result-file=file_name, -R file_name

این گزینه فایل نتایج مورد انتظار برای مورد آزمون را مشخص می‌کند. گزینه --result-file به همراه --record، نحوه برخورد mysqltest با نتایج واقعی و مورد انتظار آزمون را تعیین می‌کند:

•اگر آزمون هیچ نتیجه‌ای تولید نکند، mysqltest با یک پیام خطا خارج می‌شود، مگر آنکه --result-file داده شده باشد و فایل نام‌برده یک فایل خالی باشد.
•در غیر این صورت، اگر --result-file تعیین نشده باشد، mysqltest نتایج آزمون را به خروجی استاندارد می‌فرستد.
•با تعیین --result-file اما بدون --record، برنامه mysqltest نتایج مورد انتظار را از فایل مشخص‌شده می‌خواند و آن‌ها را با نتایج واقعی مقایسه می‌کند. اگر نتایج مطابقت نداشته باشند، mysqltest یک فایل .reject در همان دایرکتوری فایل نتیجه می‌نویسد، تفاوت (diff) میان دو فایل را در خروجی چاپ می‌کند و با خطا خارج می‌شود.
•با تعیین همزمان --result-file و --record، برنامه mysqltest فایل داده‌شده را با نوشتن نتایج واقعی آزمون در آن به‌روزرسانی می‌کند.
•--result-format-version=#

نسخه قالب فایل نتیجه برای استفاده.

•--server-arg=value, -A value

ارسال مقدار به عنوان یک آرگومان به سرور توکار (embedded). برای نمونه، --server-arg=--tmpdir=/tmp یا --server-arg=--core. می‌توان تا 64 آرگومان تعیین کرد.

•--server-file=file_name, -F file_name

خواندن آرگومان‌های سرور توکار از فایل مشخص‌شده. این فایل باید در هر خط یک آرگومان داشته باشد.

•--silent, -s

سرکوب تمام خروجی‌های عادی.

•--sleep=num, -T num

ایجاد وقفه به مدت num ثانیه برای تمام دستورات sleep در فایل مورد آزمون. این گزینه تاثیری بر دستورات real_sleep ندارد.

می‌توان از مقدار 0 استفاده کرد که عملاً دستورات sleep را در مورد آزمون غیرفعال می‌کند.

•--socket=path, -S path

فایل سوکت برای استفاده هنگام اتصال به localhost (که هاست پیش‌فرض است).

•--sp-protocol

اجرای عبارات DML در قالب یک روتین ذخیره‌شده (stored procedure). برای هر عبارت DML، برنامه mysqltest یک روتین ذخیره‌شده ایجاد و فراخوانی می‌کند که عبارت را به جای اجرای مستقیم، اجرا می‌نماید.

•--ssl

فعال‌سازی SSL برای اتصال (به صورت خودکار با سایر پرچم‌ها فعال می‌شود). غیرفعال‌سازی با --skip-ssl.

•--ssl-ca=name

فایل CA در قالب PEM (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-capath=name

دایرکتوری CA (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-cert=name

گواهی X509 در قالب PEM (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-cipher=name

رمزنگار SSL برای استفاده (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-key=name

کلید X509 در قالب PEM (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-crl=name

فهرست ابطال گواهی (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-crlpath=name

مسیر فهرست ابطال گواهی (اسناد OpenSSL بررسی شود، متضمن --ssl است).

•--ssl-verify-server-cert

اعتبارسنجی «نام عمومی» (Common Name) سرور در گواهی آن در برابر نام هاست استفاده‌شده هنگام اتصال. این گزینه به صورت پیش‌فرض غیرفعال است.

•--suite-dir=dir_name

دایرکتوری مجموعه آزمون (suite).

•--tail-lines=nn

تعیین تعداد خطوطی از نتیجه که در صورت شکست آزمون به دلیل شکست یک عبارت SQL باید در خروجی گنجانده شود. مقدار پیش‌فرض 0 است، یعنی هیچ خطی از نتیجه چاپ نمی‌شود.

•--test-file=file_name, -x file_name

خواندن ورودی آزمون از این فایل. حالت پیش‌فرض خواندن از ورودی استاندارد است.

•--timer-file=file_name, -m file_name

در صورت ارائه، تعداد میکروثانیه‌های صرف‌شده برای اجرای آزمون در این فایل نوشته می‌شود. این گزینه توسط mariadb-test-run.pl (یا mysql-test-run.pl) برای گزارش‌دهی استفاده می‌شود.

•--tmpdir=dir_name, -t dir_name

دایرکتوری موقت که فایل‌های سوکت در آن ایجاد می‌شوند.

•--user=user_name, -u user_name

نام کاربری MariaDB برای استفاده هنگام اتصال به سرور.

•--verbose, -v

حالت پرگو (Verbose). چاپ اطلاعات بیشتر در مورد عملکرد برنامه.

•--version, -V

نمایش اطلاعات نسخه و خروج.

•--view-protocol

هر عبارت SELECT درون یک نما (view) قرار می‌گیرد.

Copyright © 2007, 2010, Oracle and/or its affiliates, 2010-2025 MariaDB Foundation

این مستندات یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط پروانه عمومی همگانی گنو (GNU GPL) منتشرشده توسط بنیاد نرم‌افزارهای آزاد؛ نسخه 2 پروانه، بازتوزیع کرده یا تغییر دهید.

این مستندات به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به پروانه عمومی همگانی گنو مراجعه کنید.

شما باید یک نسخه از پروانه عمومی همگانی گنو را همراه با برنامه دریافت کرده باشید؛ در غیر این صورت، به بنیاد نرم‌افزارهای آزاد به آدرس زیر بنویسید یا به پیوند اینترنتی مراجعه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA یا پیوند http://www.gnu.org/licenses را مشاهده کنید.

برای اطلاعات بیشتر، لطفاً به مستندات MariaDB که به صورت آنلاین در دسترس است مراجعه فرمایید: https://mariadb.com/docs

بنیاد MariaDB (http://www.mariadb.org).

5 March 2025 MariaDB 11.8