рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ Apache рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЯреЗрд╕реНрдЯ рдХрд╡рд░реЗрдЬ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛

рдореИрдВ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реВрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ рдФрд░ рдпрд╣реА рд╕реЗ рдпрд╣ рд╣реБрдЖред



рдЯреЗрд╕реНрдЯ рдХрд╡рд░реЗрдЬ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдореАрдЯреНрд░рд┐рдХ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рдж рдкрд░реАрдХреНрд╖рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдпрд╣ рдХреБрдЫ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рдХрд╛рд░рдг рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдШрдЯрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред


рдкреВрд░реНрдг рдЬрд╛рд╡рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдпрд╛рдВрдХрди рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрдВрдЯреЗрд▓реАрдЬреЗ рдЖрдИрдбреАрдИрдП рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрд╡рд░реЗрдЬ рдзрд╛рд╡рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдХреНрд▓рд┐рдХреЛрдВ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдмрд╛рдж рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреАрдврд╝реА рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг


рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ JUnit 3 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ ~ 82 рд╣рдЬрд╛рд░ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ JVM рд╕рд╣рд┐рдд рдХрдИ рдиреЛрдбреНрд╕ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдард╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕рд╣рд╡рд░реНрддреА рддреИрдпрд╛рд░реА рдХреЗ рд╕рд╛рдеред


рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрддрдиреЗ рдмрдбрд╝реЗ рдкреНрд░рддрд┐рдЧрдорди рдЖрдзрд╛рд░ рдХреА рдкрд░рд┐рдЪрд╛рд▓рдирддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рд╕рдореБрджрд╛рдп рд▓рдЧрд╛рддрд╛рд░ рдЙрддреНрдкрд╛рдж рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЗрдХ рдЯреАрдорд╕рд┐рдЯреА рдЧреНрд░реАрди рдЕрдЧреЗрди рдкрд╣рд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреАрдбрд╝реЗ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред


рд╕рдВрдХреЗрддрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдПрдХ рдмрд╛рд░ JVM рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИрдВ:


  • рд╕рдВрднрд╡ рддреНрд░реБрдЯрд┐ OutOfMemoryError;
  • рдЬреЗрд╡реАрдПрдо рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рджреБрд░реНрдШрдЯрдирд╛;
  • рд╕рдВрднрд╡ рдЧрддрд┐рд░реЛрдз;
  • рдкрд┐рдЫрд▓реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдмрд┐рдирд╛ рд░реБрдХреЗ рдиреЛрдб рдХреЗ рдХрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛;
  • рд░рди рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рддреАрди рджрд┐рди рд▓рдЧреЗрдЧрд╛ред

рдпрд╣ рд╕рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IntelliJ IDEA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред


рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдпрд╛рдВрдХрди рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛


рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:


  1. рдкрд░реАрдХреНрд╖рдг рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛;
  2. рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди:
    2.1ред рд╡реЙрдЪрдбреЙрдЧ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ JVM рдореЗрдВ рдХрдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢реБрд░реВ рдФрд░ рдЪрд▓рд╛рдПрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬрдорд╛ рдпрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдереНрд░реЗрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдЧрд╛;
    2.2ред рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди;
    2.3ред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕рдлрд╛рдИ;
  3. рдЕрдиреБрдЪреНрдЫреЗрдж 2 рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдореАрдЯреНрд░рд┐рдХ рдХрд╛ рд╡рд┐рд▓рдп;
  4. рдкреВрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдкреАрдврд╝реАред

рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ:



рдореИрдВ рдЙрдирдХреЗ рдорддрднреЗрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛; рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рджреГрд╢реНрдп рддрд╛рд▓рд┐рдХрд╛ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИ ред


рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, JaCoCo рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЯреАрдорд╕рд┐рдЯреА рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕ рдкрд░ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдореМрдЬреВрджрд╛ рдкрд░реАрдХреНрд╖рдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪрд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЯреАрдорд╕рд┐рдЯреА JaCoCo рдХреЗ рд╕рд╛рде рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред


рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдЬреИрдХреЛрдХреЛ рдорд╛рд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди pom.xml рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдорд╛рд╡реЗрди рдкреНрд░реЛрдлрд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


JaCoCo рдкреНрд▓рдЧрдЗрди рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рд░рдВрднреЛрдВ рдореЗрдВ рдПрдХ рдкреГрдердХреНрдХрд░рдг:


  1. рдЯреЗрд╕реНрдЯ рдХрд╡рд░реЗрдЬ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯреЗрдб JCoCo рдПрдЬреЗрдВрдЯ ( рд░реЗрдбреА -рдПрдЬреЗрдВрдЯ ) рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ 'рд░рдирдбрд╛рдпрд░реЗрд░реА' рд╕рдВрдкрддреНрддрд┐ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдЬреЛ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рд░рдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛;
  2. рдорд░реНрдЬ рд░рди рдкрд░рд┐рдгрд╛рдо ( рдорд░реНрдЬ ) рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрд╢рди ( рд░рд┐рдкреЛрд░реНрдЯ )ред

рдорд╛рд╡рди рдЬреИрдХреЛрд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
<profile> <id>coverage</id> <properties> <argLine> -ea \ -server \ -Xms1g \ -Xmx6g \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:+AggressiveOpts \ -DIGNITE_UPDATE_NOTIFIER=false \ -DIGNITE_NO_DISCO_ORDER=true \ -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true \ -DIGNITE_QUIET=false \ -Djava.net.preferIPv4Stack=true \ </argLine> <coverage.dataFile>${runDirectory}/coverage-reports/jacoco-ut.exec</coverage.dataFile> <coverage.outputDir>${runDirectory}/jacoco-ut</coverage.outputDir> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> </configuration> <executions> <execution> <id>default-test</id> <phase>test</phase> <goals> <goal>test</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.1</version> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <destFile>${coverage.dataFile}</destFile> </configuration> </execution> <execution> <id>post-merge</id> <phase>validate</phase> <goals> <goal>merge</goal> </goals> <configuration> <fileSets> <fileSet> <directory>${basedir}</directory> <includes> <include>results/*/coverage-reports/jacoco-ut.exec</include> </includes> </fileSet> </fileSets> <destFile>merged.exe</destFile> </configuration> </execution> <execution> <id>generate-report</id> <phase>validate</phase> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${basedir}/merged.exe</dataFile> <outputDirectory>${basedir}/coverage-report</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> 

рдиреАрдЪреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред


рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ
 #!/bin/bash #        DEVNOTES.txt # #    : ignite/modules/core # #   : 'nohup ./coverage.sh >/dev/null 2>&1 &' SCRIPT_DIR=$(cd $(dirname "$0"); pwd) echo "***** ." echo "*****   ..." tests=() while IFS= read -r -d $'\0'; do tests+=("$REPLY") done < <(find $SCRIPT_DIR/src/test/java/org/apache/ignite -type f -name "*Test*" ! -name "*\$*" ! -name "*Abstract*" ! -name "*TestSuite*" -print0) testsCount=${#tests[@]} echo "*****   ="$testsCount idx=0 for path in ${tests[@]} do idx=$((idx+1)) echo "*****  "$idx"  "$testsCount echo "*****  : "$path filename=$(basename -- "$path") filename="${filename%.*}" echo "*****  : "$filename runDir=$SCRIPT_DIR"/results/"$filename mkdir -p $runDir if [ "$(ls -A $runDir)" ]; then continue fi echo "*****  ..." timeout 30m mvn -P surefire-fork-count-1,coverage test -Dmaven.main.skip=true -Dmaven.test.failure.ignore=true -Dtest=$filename -DfailIFNoTests=false -DrunDirectory=$runDir echo "*****  ..." pkill java done #      mvn -X -P surefire-fork-count-1,coverage validate echo "***** ." 

рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд░рди рдиреЗ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдкрд░ ~ 50 рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд▓рд┐рдпрд╛: 4 vCPU, 8RAM, 50 SSD, Ubuntu x64 16.04 ред


рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдИ рд╕реНрдЯреИрдВрдбреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╕рдВрд╕рд╛рдзрди рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдХрд╡рд░реЗрдЬ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрдЧрд╛ред TeamCity рдкрд░ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдордп рд▓рдЧрднрдЧ 2 рдШрдВрдЯреЗ рд▓рдЧрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдкрд░рд┐рдгрд╛рдо


рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдХрд╡рд░реЗрдЬ ~ 61% рд╣реИред


рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╡рд░рд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢:


  • рдХреИрд╢ - 66%
  • рдбрд┐рд╕реНрдХрд╡рд░реА - 57%
  • рдЧрдгрдирд╛ - 60%
  • рд╕реНрдЯреНрд░реАрдо - 51%
  • рдмрд╛рдЗрдирд░реА - 68%
  • рд▓реЗрдирджреЗрди - 71%

рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рднреА рдЧрд░реНрдо рдХреЛрдб рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рднреАред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рдж рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╡рд░реЗрдЬ рдХреЛ рджреБрд░реНрд▓рдн рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред


рдкреБрдирд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреБрдирд╢реНрдЪ рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ ред

Source: https://habr.com/ru/post/hi413587/


All Articles