Skip to content
Snippets Groups Projects
  • Keith Maxwell's avatar
    1a7facbc
    community/rstcheck: fix intermittent test failures · 1a7facbc
    Keith Maxwell authored and Rasmus Thomsen's avatar Rasmus Thomsen committed
    Add a patch to close the multiprocessing pool in line with the Python 3
    documentation.
    
    The patch introduced by this commit has been submitted upstream:
    https://github.com/myint/rstcheck/pull/67
    
    Testing inside `dabuild sh`, before this change we can't get above run 11:
    
    ```
    $ cd src/rstcheck-3.3.1/
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1 (stalled)
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 (stalled)
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3 (stalled)
    ```
    
    After this change, 99 runs finish three times in a row:
    
    ```
    $ abuild deps unpack prepare build
    $ cd src/rstcheck-3.3.1/
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    ```
    1a7facbc
    History
    community/rstcheck: fix intermittent test failures
    Keith Maxwell authored and Rasmus Thomsen's avatar Rasmus Thomsen committed
    Add a patch to close the multiprocessing pool in line with the Python 3
    documentation.
    
    The patch introduced by this commit has been submitted upstream:
    https://github.com/myint/rstcheck/pull/67
    
    Testing inside `dabuild sh`, before this change we can't get above run 11:
    
    ```
    $ cd src/rstcheck-3.3.1/
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1 (stalled)
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 (stalled)
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3 (stalled)
    ```
    
    After this change, 99 runs finish three times in a row:
    
    ```
    $ abuild deps unpack prepare build
    $ cd src/rstcheck-3.3.1/
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    $ for i in $(seq 99) ; do printf '%3d' $i && ./rstcheck.py --recursive examples/good || break ; done ; echo
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    ```