crash_test.mk 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # This file is used by Meta-internal infrastructure as well as by Makefile
  2. # When included from Makefile, there are rules to build DB_STRESS_CMD. When
  3. # used directly with `make -f crashtest.mk ...` there will be no rules to
  4. # build DB_STRESS_CMD so it must exist prior.
  5. DB_STRESS_CMD?=./db_stress
  6. include common.mk
  7. CRASHTEST_MAKE=$(MAKE) -f crash_test.mk
  8. CRASHTEST_PY=$(PYTHON) -u tools/db_crashtest.py --stress_cmd=$(DB_STRESS_CMD) --cleanup_cmd='$(DB_CLEANUP_CMD)'
  9. .PHONY: crash_test crash_test_with_atomic_flush crash_test_with_txn \
  10. crash_test_with_wc_txn crash_test_with_wp_txn crash_test_with_wup_txn \
  11. crash_test_with_best_efforts_recovery crash_test_with_ts \
  12. crash_test_with_multiops_wc_txn \
  13. crash_test_with_multiops_wp_txn \
  14. crash_test_with_multiops_wup_txn \
  15. crash_test_with_optimistic_txn \
  16. crash_test_with_tiered_storage \
  17. blackbox_crash_test blackbox_crash_test_with_atomic_flush \
  18. blackbox_crash_test_with_wc_txn blackbox_crash_test_with_wp_txn \
  19. blackbox_crash_test_with_wup_txn \
  20. blackbox_crash_test_with_txn blackbox_crash_test_with_ts \
  21. blackbox_crash_test_with_best_efforts_recovery \
  22. blackbox_crash_test_with_multiops_wc_txn \
  23. blackbox_crash_test_with_multiops_wp_txn \
  24. blackbox_crash_test_with_multiops_wup_txn \
  25. blackbox_crash_test_with_optimistic_txn \
  26. blackbox_crash_test_with_tiered_storage \
  27. whitebox_crash_test whitebox_crash_test_with_atomic_flush \
  28. whitebox_crash_test_with_wc_txn whitebox_crash_test_with_wp_txn \
  29. whitebox_crash_test_with_wup_txn \
  30. whitebox_crash_test_with_txn whitebox_crash_test_with_ts \
  31. whitebox_crash_test_with_optimistic_txn \
  32. whitebox_crash_test_with_tiered_storage \
  33. crash_test: $(DB_STRESS_CMD)
  34. # Do not parallelize
  35. $(CRASHTEST_MAKE) whitebox_crash_test
  36. $(CRASHTEST_MAKE) blackbox_crash_test
  37. crash_test_with_atomic_flush: $(DB_STRESS_CMD)
  38. # Do not parallelize
  39. $(CRASHTEST_MAKE) whitebox_crash_test_with_atomic_flush
  40. $(CRASHTEST_MAKE) blackbox_crash_test_with_atomic_flush
  41. crash_test_with_wc_txn: $(DB_STRESS_CMD)
  42. # Do not parallelize
  43. $(CRASHTEST_MAKE) whitebox_crash_test_with_wc_txn
  44. $(CRASHTEST_MAKE) blackbox_crash_test_with_wc_txn
  45. crash_test_with_wp_txn: $(DB_STRESS_CMD)
  46. # Do not parallelize
  47. $(CRASHTEST_MAKE) whitebox_crash_test_with_wp_txn
  48. $(CRASHTEST_MAKE) blackbox_crash_test_with_wp_txn
  49. crash_test_with_wup_txn: $(DB_STRESS_CMD)
  50. # Do not parallelize
  51. $(CRASHTEST_MAKE) whitebox_crash_test_with_wup_txn
  52. $(CRASHTEST_MAKE) blackbox_crash_test_with_wup_txn
  53. crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
  54. # Do not parallelize
  55. $(CRASHTEST_MAKE) whitebox_crash_test_with_optimistic_txn
  56. $(CRASHTEST_MAKE) blackbox_crash_test_with_optimistic_txn
  57. crash_test_with_best_efforts_recovery: blackbox_crash_test_with_best_efforts_recovery
  58. crash_test_with_ts: $(DB_STRESS_CMD)
  59. # Do not parallelize
  60. $(CRASHTEST_MAKE) whitebox_crash_test_with_ts
  61. $(CRASHTEST_MAKE) blackbox_crash_test_with_ts
  62. crash_test_with_tiered_storage: $(DB_STRESS_CMD)
  63. # Do not parallelize
  64. $(CRASHTEST_MAKE) whitebox_crash_test_with_tiered_storage
  65. $(CRASHTEST_MAKE) blackbox_crash_test_with_tiered_storage
  66. crash_test_with_multiops_wc_txn: $(DB_STRESS_CMD)
  67. $(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wc_txn
  68. crash_test_with_multiops_wp_txn: $(DB_STRESS_CMD)
  69. $(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wp_txn
  70. crash_test_with_multiops_wup_txn: $(DB_STRESS_CMD)
  71. $(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wup_txn
  72. blackbox_crash_test: $(DB_STRESS_CMD)
  73. $(CRASHTEST_PY) --simple blackbox $(CRASH_TEST_EXT_ARGS)
  74. $(CRASHTEST_PY) blackbox $(CRASH_TEST_EXT_ARGS)
  75. blackbox_crash_test_with_atomic_flush: $(DB_STRESS_CMD)
  76. $(CRASHTEST_PY) --cf_consistency blackbox $(CRASH_TEST_EXT_ARGS)
  77. blackbox_crash_test_with_wc_txn: $(DB_STRESS_CMD)
  78. $(CRASHTEST_PY) --txn blackbox --txn_write_policy 0 $(CRASH_TEST_EXT_ARGS)
  79. blackbox_crash_test_with_wp_txn: $(DB_STRESS_CMD)
  80. $(CRASHTEST_PY) --txn blackbox --txn_write_policy 1 $(CRASH_TEST_EXT_ARGS)
  81. blackbox_crash_test_with_wup_txn: $(DB_STRESS_CMD)
  82. $(CRASHTEST_PY) --txn blackbox --txn_write_policy 2 $(CRASH_TEST_EXT_ARGS)
  83. blackbox_crash_test_with_best_efforts_recovery: $(DB_STRESS_CMD)
  84. $(CRASHTEST_PY) --test_best_efforts_recovery blackbox $(CRASH_TEST_EXT_ARGS)
  85. blackbox_crash_test_with_ts: $(DB_STRESS_CMD)
  86. $(CRASHTEST_PY) --enable_ts blackbox $(CRASH_TEST_EXT_ARGS)
  87. blackbox_crash_test_with_multiops_wc_txn: $(DB_STRESS_CMD)
  88. $(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 0 blackbox $(CRASH_TEST_EXT_ARGS)
  89. blackbox_crash_test_with_multiops_wp_txn: $(DB_STRESS_CMD)
  90. $(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 1 blackbox $(CRASH_TEST_EXT_ARGS)
  91. blackbox_crash_test_with_multiops_wup_txn: $(DB_STRESS_CMD)
  92. $(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 2 blackbox $(CRASH_TEST_EXT_ARGS)
  93. blackbox_crash_test_with_tiered_storage: $(DB_STRESS_CMD)
  94. $(CRASHTEST_PY) --test_tiered_storage blackbox $(CRASH_TEST_EXT_ARGS)
  95. blackbox_crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
  96. $(CRASHTEST_PY) --optimistic_txn blackbox $(CRASH_TEST_EXT_ARGS)
  97. ifeq ($(CRASH_TEST_KILL_ODD),)
  98. CRASH_TEST_KILL_ODD=888887
  99. endif
  100. whitebox_crash_test: $(DB_STRESS_CMD)
  101. $(CRASHTEST_PY) --simple whitebox --random_kill_odd \
  102. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  103. $(CRASHTEST_PY) whitebox --random_kill_odd \
  104. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  105. whitebox_crash_test_with_atomic_flush: $(DB_STRESS_CMD)
  106. $(CRASHTEST_PY) --cf_consistency whitebox --random_kill_odd \
  107. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  108. whitebox_crash_test_with_wc_txn: $(DB_STRESS_CMD)
  109. $(CRASHTEST_PY) --txn whitebox --txn_write_policy 0 \
  110. --random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  111. whitebox_crash_test_with_wp_txn: $(DB_STRESS_CMD)
  112. $(CRASHTEST_PY) --txn whitebox --txn_write_policy 1 \
  113. --random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  114. whitebox_crash_test_with_wup_txn: $(DB_STRESS_CMD)
  115. $(CRASHTEST_PY) --txn whitebox --txn_write_policy 2 \
  116. --random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  117. whitebox_crash_test_with_ts: $(DB_STRESS_CMD)
  118. $(CRASHTEST_PY) --enable_ts whitebox --random_kill_odd \
  119. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  120. whitebox_crash_test_with_tiered_storage: $(DB_STRESS_CMD)
  121. $(CRASHTEST_PY) --test_tiered_storage whitebox --random_kill_odd \
  122. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  123. whitebox_crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
  124. $(CRASHTEST_PY) --optimistic_txn whitebox --random_kill_odd \
  125. $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
  126. # Old names DEPRECATED
  127. crash_test_with_txn: crash_test_with_wc_txn
  128. whitebox_crash_test_with_txn: whitebox_crash_test_with_wc_txn
  129. blackbox_crash_test_with_txn: blackbox_crash_test_with_wc_txn