main.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #ifndef TEST_DEFINE
  2. # error Expected definition TEST_DEFINE
  3. #endif
  4. #ifndef NEEDS_ESCAPE
  5. # error Expected definition NEEDS_ESCAPE
  6. #endif
  7. #ifdef DO_GNU_TESTS
  8. # ifndef TEST_DEFINE_GNU
  9. # error Expected definition TEST_DEFINE_GNU
  10. # endif
  11. # ifndef TEST_DEFINE_CXX_AND_GNU
  12. # error Expected definition TEST_DEFINE_CXX_AND_GNU
  13. # endif
  14. #endif
  15. #ifndef NO_DEF_TESTS
  16. # ifndef DEF_A
  17. # error Expected definition DEF_A
  18. # endif
  19. # ifndef DEF_B
  20. # error Expected definition DEF_B
  21. # endif
  22. # ifndef DEF_C
  23. # error Expected definition DEF_C
  24. # endif
  25. # ifndef DEF_D
  26. # error Expected definition DEF_D
  27. # endif
  28. # ifndef DEF_STR
  29. # error Expected definition DEF_STR
  30. # endif
  31. #endif
  32. #ifdef DO_FLAG_TESTS
  33. # if FLAG_A != 2
  34. # error "FLAG_A is not 2"
  35. # endif
  36. # if FLAG_B != 2
  37. # error "FLAG_B is not 2"
  38. # endif
  39. # if FLAG_C != 2
  40. # error "FLAG_C is not 2"
  41. # endif
  42. # if FLAG_D != 2
  43. # error "FLAG_D is not 2"
  44. # endif
  45. # if defined(FLAG_E) && FLAG_E != 2
  46. # error "FLAG_E is not 2"
  47. # endif
  48. #endif
  49. #include <string.h>
  50. int main()
  51. {
  52. return (strcmp(NEEDS_ESCAPE, "E$CAPE") == 0
  53. #ifdef TEST_OCTOTHORPE
  54. && strcmp(TEST_OCTOTHORPE, "#") == 0
  55. #endif
  56. #ifndef NO_DEF_TESTS
  57. && strcmp(DEF_STR, "string with spaces") == 0
  58. #endif
  59. &&
  60. strcmp(EXPECTED_C_COMPILER_VERSION, TEST_C_COMPILER_VERSION) == 0 &&
  61. strcmp(EXPECTED_CXX_COMPILER_VERSION, TEST_CXX_COMPILER_VERSION) ==
  62. 0 &&
  63. strcmp(EXPECTED_C_COMPILER_FRONTEND_VARIANT,
  64. TEST_C_COMPILER_FRONTEND_VARIANT) == 0 &&
  65. strcmp(EXPECTED_CXX_COMPILER_FRONTEND_VARIANT,
  66. TEST_CXX_COMPILER_FRONTEND_VARIANT) == 0
  67. #ifdef TEST_FORTRAN
  68. && strcmp(EXPECTED_Fortran_COMPILER_VERSION,
  69. TEST_Fortran_COMPILER_VERSION) == 0 &&
  70. strcmp(EXPECTED_Fortran_COMPILER_FRONTEND_VARIANT,
  71. TEST_Fortran_COMPILER_FRONTEND_VARIANT) == 0
  72. #endif
  73. && TEST_C_COMPILER_VERSION_EQUALITY == 1 &&
  74. TEST_CXX_COMPILER_VERSION_EQUALITY == 1 &&
  75. TEST_C_COMPILER_FRONTEND_VARIANT_EQUALITY == 1 &&
  76. TEST_CXX_COMPILER_FRONTEND_VARIANT_EQUALITY == 1
  77. #ifdef TEST_FORTRAN
  78. && TEST_Fortran_COMPILER_VERSION_EQUALITY == 1 &&
  79. TEST_Fortran_COMPILER_FRONTEND_VARIANT_EQUALITY == 1
  80. #endif
  81. )
  82. ? 0
  83. : 1;
  84. }