Run tests with multiple versions and collect return values in Makefile












0















I am developing Emacs package that runs from Emacs-22 to Emacs26, and I'd like to confirm that the test passes with these Emacs.



However, since each log is long, I would like to gather the return value of each test and display it clearly at the end.



How can I write this in Makefile?
The list of Emacs to be tested has been obtained in ALL_EMACS_VERS as array (22.1 23.4 24.5 25.3 26.1), and now I am running the test as follows.



EMACS          ?= emacs
LOAD_PATH := -L $(dir $(lastword $(MAKEFILE_LIST)))
BATCH := $(EMACS) -Q --batch $(LOAD_PATH)
ALL_EMACS_VERS := $(shell compgen -c emacs- | grep -oP '(?<=emacs-)([0-9]|.)+' | sort | uniq)

test:
$(BATCH) -l srt-tests.el -f srt-run-tests

debug-localtest:
for ver in $(ALL_EMACS_VERS); do
echo "=== test by emacs-$${ver}... ===";
EMACS=emacs-$${ver} make test;
done


I'd like to get information on which version the test passed, or did not pass, and output it as follows.



===  test by emacs-22.1  ===
emacs-22.1 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

Running 30 tests...
GNU Emacs 22.1.1 (mac-apple-darwin)
of 2017-10-07 on osx339.sd.apple.com
[PASSED] simple:equal
[PASSED] simple:=
...

===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'


=== test by emacs-23.4 ===
emacs-23.4 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

Running 30 tests...
GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
of 2012-01-29 on bob.porkrind.org
[PASSED] simple:equal
[PASSED] simple:=
...

===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'

...
(Emacs 24.5, 25.3, 26.1)
...

=== localtest completed!! ===

*FAILED* Emacs-22.1
*FAILED* Emacs-23.4
[PASSED] Emacs-24.5
*FAILED* Emacs-25.3
[PASSED] Emacs-26.1









share|improve this question





























    0















    I am developing Emacs package that runs from Emacs-22 to Emacs26, and I'd like to confirm that the test passes with these Emacs.



    However, since each log is long, I would like to gather the return value of each test and display it clearly at the end.



    How can I write this in Makefile?
    The list of Emacs to be tested has been obtained in ALL_EMACS_VERS as array (22.1 23.4 24.5 25.3 26.1), and now I am running the test as follows.



    EMACS          ?= emacs
    LOAD_PATH := -L $(dir $(lastword $(MAKEFILE_LIST)))
    BATCH := $(EMACS) -Q --batch $(LOAD_PATH)
    ALL_EMACS_VERS := $(shell compgen -c emacs- | grep -oP '(?<=emacs-)([0-9]|.)+' | sort | uniq)

    test:
    $(BATCH) -l srt-tests.el -f srt-run-tests

    debug-localtest:
    for ver in $(ALL_EMACS_VERS); do
    echo "=== test by emacs-$${ver}... ===";
    EMACS=emacs-$${ver} make test;
    done


    I'd like to get information on which version the test passed, or did not pass, and output it as follows.



    ===  test by emacs-22.1  ===
    emacs-22.1 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

    Running 30 tests...
    GNU Emacs 22.1.1 (mac-apple-darwin)
    of 2017-10-07 on osx339.sd.apple.com
    [PASSED] simple:equal
    [PASSED] simple:=
    ...

    ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

    make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'


    === test by emacs-23.4 ===
    emacs-23.4 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

    Running 30 tests...
    GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
    of 2012-01-29 on bob.porkrind.org
    [PASSED] simple:equal
    [PASSED] simple:=
    ...

    ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

    make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'

    ...
    (Emacs 24.5, 25.3, 26.1)
    ...

    === localtest completed!! ===

    *FAILED* Emacs-22.1
    *FAILED* Emacs-23.4
    [PASSED] Emacs-24.5
    *FAILED* Emacs-25.3
    [PASSED] Emacs-26.1









    share|improve this question



























      0












      0








      0








      I am developing Emacs package that runs from Emacs-22 to Emacs26, and I'd like to confirm that the test passes with these Emacs.



      However, since each log is long, I would like to gather the return value of each test and display it clearly at the end.



      How can I write this in Makefile?
      The list of Emacs to be tested has been obtained in ALL_EMACS_VERS as array (22.1 23.4 24.5 25.3 26.1), and now I am running the test as follows.



      EMACS          ?= emacs
      LOAD_PATH := -L $(dir $(lastword $(MAKEFILE_LIST)))
      BATCH := $(EMACS) -Q --batch $(LOAD_PATH)
      ALL_EMACS_VERS := $(shell compgen -c emacs- | grep -oP '(?<=emacs-)([0-9]|.)+' | sort | uniq)

      test:
      $(BATCH) -l srt-tests.el -f srt-run-tests

      debug-localtest:
      for ver in $(ALL_EMACS_VERS); do
      echo "=== test by emacs-$${ver}... ===";
      EMACS=emacs-$${ver} make test;
      done


      I'd like to get information on which version the test passed, or did not pass, and output it as follows.



      ===  test by emacs-22.1  ===
      emacs-22.1 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

      Running 30 tests...
      GNU Emacs 22.1.1 (mac-apple-darwin)
      of 2017-10-07 on osx339.sd.apple.com
      [PASSED] simple:equal
      [PASSED] simple:=
      ...

      ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

      make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'


      === test by emacs-23.4 ===
      emacs-23.4 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

      Running 30 tests...
      GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
      of 2012-01-29 on bob.porkrind.org
      [PASSED] simple:equal
      [PASSED] simple:=
      ...

      ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

      make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'

      ...
      (Emacs 24.5, 25.3, 26.1)
      ...

      === localtest completed!! ===

      *FAILED* Emacs-22.1
      *FAILED* Emacs-23.4
      [PASSED] Emacs-24.5
      *FAILED* Emacs-25.3
      [PASSED] Emacs-26.1









      share|improve this question
















      I am developing Emacs package that runs from Emacs-22 to Emacs26, and I'd like to confirm that the test passes with these Emacs.



      However, since each log is long, I would like to gather the return value of each test and display it clearly at the end.



      How can I write this in Makefile?
      The list of Emacs to be tested has been obtained in ALL_EMACS_VERS as array (22.1 23.4 24.5 25.3 26.1), and now I am running the test as follows.



      EMACS          ?= emacs
      LOAD_PATH := -L $(dir $(lastword $(MAKEFILE_LIST)))
      BATCH := $(EMACS) -Q --batch $(LOAD_PATH)
      ALL_EMACS_VERS := $(shell compgen -c emacs- | grep -oP '(?<=emacs-)([0-9]|.)+' | sort | uniq)

      test:
      $(BATCH) -l srt-tests.el -f srt-run-tests

      debug-localtest:
      for ver in $(ALL_EMACS_VERS); do
      echo "=== test by emacs-$${ver}... ===";
      EMACS=emacs-$${ver} make test;
      done


      I'd like to get information on which version the test passed, or did not pass, and output it as follows.



      ===  test by emacs-22.1  ===
      emacs-22.1 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

      Running 30 tests...
      GNU Emacs 22.1.1 (mac-apple-darwin)
      of 2017-10-07 on osx339.sd.apple.com
      [PASSED] simple:equal
      [PASSED] simple:=
      ...

      ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

      make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'


      === test by emacs-23.4 ===
      emacs-23.4 -Q --batch -L ./ -l srt-tests.el -f srt-run-tests

      Running 30 tests...
      GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
      of 2012-01-29 on bob.porkrind.org
      [PASSED] simple:equal
      [PASSED] simple:=
      ...

      ===== Run 30 Tests, 29 Expected, 1 Failed, 0 Errored =====

      make[1]: Leaving directory '/Users/conao/Develop/git/.dotfiles/.emacs.d/local/26.1/site-lisp/srt.el'

      ...
      (Emacs 24.5, 25.3, 26.1)
      ...

      === localtest completed!! ===

      *FAILED* Emacs-22.1
      *FAILED* Emacs-23.4
      [PASSED] Emacs-24.5
      *FAILED* Emacs-25.3
      [PASSED] Emacs-26.1






      makefile sh gnu-make






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 23 '18 at 1:16







      Conao3

















      asked Nov 21 '18 at 17:11









      Conao3Conao3

      83316




      83316
























          1 Answer
          1






          active

          oldest

          votes


















          2














          The problem has two parts. The first is to give the desired output for one test. If (as the title of your Question suggests) this depends on the return value of the process, this approach will work:



          single-test:
          (some-command && echo PASS) || echo FAIL


          In your case, this becomes:



          ARGS := -Q --batch $(LOAD_PATH) -l srt-tests.el -f srt-run-tests

          test-emacs-22.1:
          (emacs-22.1 $(ARGS) && echo [PASS] emacs-22.1) || echo *FAIL* emacs-22.1


          The second part is to iterate over a list of versions. I suggest using a pattern rule:



          ALL_EMACS_VERS := 22.1 23.4 24.5 25.3 26.1
          TESTS := $(addprefix test-emacs-, $(ALL_EMACS_VERS))

          all-tests: $(TESTS)

          test-%:
          ($* $(ARGS) && echo [PASS] $*) || echo *FAIL* $*


          Finally, if these processes produce output you wish to suppress:



          test-%:
          ($* $(ARGS) > /dev/null && echo [PASS] $*) || echo *FAIL* $*


          EDIT: To print all of the results after all of the script output, the simplest approach is to save them in a file, called e.g. "results":



          all-tests: $(TESTS)
          @cat results
          @rm results

          test-%:
          @($* $(ARGS) && echo [PASS] $* >> results) || echo *FAIL* $* >> results





          share|improve this answer


























          • Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

            – Conao3
            Nov 23 '18 at 1:17











          • @NaoyaYamashita: it is now unclear what each emacs process should produce.

            – Beta
            Nov 25 '18 at 16:21











          • What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

            – Conao3
            Nov 25 '18 at 16:38











          • @Conao3: Then what is the problem? My solution works.

            – Beta
            Nov 25 '18 at 22:05











          • Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

            – Conao3
            Nov 26 '18 at 4:02











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417323%2frun-tests-with-multiple-versions-and-collect-return-values-in-makefile%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          The problem has two parts. The first is to give the desired output for one test. If (as the title of your Question suggests) this depends on the return value of the process, this approach will work:



          single-test:
          (some-command && echo PASS) || echo FAIL


          In your case, this becomes:



          ARGS := -Q --batch $(LOAD_PATH) -l srt-tests.el -f srt-run-tests

          test-emacs-22.1:
          (emacs-22.1 $(ARGS) && echo [PASS] emacs-22.1) || echo *FAIL* emacs-22.1


          The second part is to iterate over a list of versions. I suggest using a pattern rule:



          ALL_EMACS_VERS := 22.1 23.4 24.5 25.3 26.1
          TESTS := $(addprefix test-emacs-, $(ALL_EMACS_VERS))

          all-tests: $(TESTS)

          test-%:
          ($* $(ARGS) && echo [PASS] $*) || echo *FAIL* $*


          Finally, if these processes produce output you wish to suppress:



          test-%:
          ($* $(ARGS) > /dev/null && echo [PASS] $*) || echo *FAIL* $*


          EDIT: To print all of the results after all of the script output, the simplest approach is to save them in a file, called e.g. "results":



          all-tests: $(TESTS)
          @cat results
          @rm results

          test-%:
          @($* $(ARGS) && echo [PASS] $* >> results) || echo *FAIL* $* >> results





          share|improve this answer


























          • Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

            – Conao3
            Nov 23 '18 at 1:17











          • @NaoyaYamashita: it is now unclear what each emacs process should produce.

            – Beta
            Nov 25 '18 at 16:21











          • What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

            – Conao3
            Nov 25 '18 at 16:38











          • @Conao3: Then what is the problem? My solution works.

            – Beta
            Nov 25 '18 at 22:05











          • Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

            – Conao3
            Nov 26 '18 at 4:02
















          2














          The problem has two parts. The first is to give the desired output for one test. If (as the title of your Question suggests) this depends on the return value of the process, this approach will work:



          single-test:
          (some-command && echo PASS) || echo FAIL


          In your case, this becomes:



          ARGS := -Q --batch $(LOAD_PATH) -l srt-tests.el -f srt-run-tests

          test-emacs-22.1:
          (emacs-22.1 $(ARGS) && echo [PASS] emacs-22.1) || echo *FAIL* emacs-22.1


          The second part is to iterate over a list of versions. I suggest using a pattern rule:



          ALL_EMACS_VERS := 22.1 23.4 24.5 25.3 26.1
          TESTS := $(addprefix test-emacs-, $(ALL_EMACS_VERS))

          all-tests: $(TESTS)

          test-%:
          ($* $(ARGS) && echo [PASS] $*) || echo *FAIL* $*


          Finally, if these processes produce output you wish to suppress:



          test-%:
          ($* $(ARGS) > /dev/null && echo [PASS] $*) || echo *FAIL* $*


          EDIT: To print all of the results after all of the script output, the simplest approach is to save them in a file, called e.g. "results":



          all-tests: $(TESTS)
          @cat results
          @rm results

          test-%:
          @($* $(ARGS) && echo [PASS] $* >> results) || echo *FAIL* $* >> results





          share|improve this answer


























          • Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

            – Conao3
            Nov 23 '18 at 1:17











          • @NaoyaYamashita: it is now unclear what each emacs process should produce.

            – Beta
            Nov 25 '18 at 16:21











          • What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

            – Conao3
            Nov 25 '18 at 16:38











          • @Conao3: Then what is the problem? My solution works.

            – Beta
            Nov 25 '18 at 22:05











          • Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

            – Conao3
            Nov 26 '18 at 4:02














          2












          2








          2







          The problem has two parts. The first is to give the desired output for one test. If (as the title of your Question suggests) this depends on the return value of the process, this approach will work:



          single-test:
          (some-command && echo PASS) || echo FAIL


          In your case, this becomes:



          ARGS := -Q --batch $(LOAD_PATH) -l srt-tests.el -f srt-run-tests

          test-emacs-22.1:
          (emacs-22.1 $(ARGS) && echo [PASS] emacs-22.1) || echo *FAIL* emacs-22.1


          The second part is to iterate over a list of versions. I suggest using a pattern rule:



          ALL_EMACS_VERS := 22.1 23.4 24.5 25.3 26.1
          TESTS := $(addprefix test-emacs-, $(ALL_EMACS_VERS))

          all-tests: $(TESTS)

          test-%:
          ($* $(ARGS) && echo [PASS] $*) || echo *FAIL* $*


          Finally, if these processes produce output you wish to suppress:



          test-%:
          ($* $(ARGS) > /dev/null && echo [PASS] $*) || echo *FAIL* $*


          EDIT: To print all of the results after all of the script output, the simplest approach is to save them in a file, called e.g. "results":



          all-tests: $(TESTS)
          @cat results
          @rm results

          test-%:
          @($* $(ARGS) && echo [PASS] $* >> results) || echo *FAIL* $* >> results





          share|improve this answer















          The problem has two parts. The first is to give the desired output for one test. If (as the title of your Question suggests) this depends on the return value of the process, this approach will work:



          single-test:
          (some-command && echo PASS) || echo FAIL


          In your case, this becomes:



          ARGS := -Q --batch $(LOAD_PATH) -l srt-tests.el -f srt-run-tests

          test-emacs-22.1:
          (emacs-22.1 $(ARGS) && echo [PASS] emacs-22.1) || echo *FAIL* emacs-22.1


          The second part is to iterate over a list of versions. I suggest using a pattern rule:



          ALL_EMACS_VERS := 22.1 23.4 24.5 25.3 26.1
          TESTS := $(addprefix test-emacs-, $(ALL_EMACS_VERS))

          all-tests: $(TESTS)

          test-%:
          ($* $(ARGS) && echo [PASS] $*) || echo *FAIL* $*


          Finally, if these processes produce output you wish to suppress:



          test-%:
          ($* $(ARGS) > /dev/null && echo [PASS] $*) || echo *FAIL* $*


          EDIT: To print all of the results after all of the script output, the simplest approach is to save them in a file, called e.g. "results":



          all-tests: $(TESTS)
          @cat results
          @rm results

          test-%:
          @($* $(ARGS) && echo [PASS] $* >> results) || echo *FAIL* $* >> results






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 27 '18 at 18:39

























          answered Nov 22 '18 at 22:08









          BetaBeta

          72.5k7110129




          72.5k7110129













          • Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

            – Conao3
            Nov 23 '18 at 1:17











          • @NaoyaYamashita: it is now unclear what each emacs process should produce.

            – Beta
            Nov 25 '18 at 16:21











          • What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

            – Conao3
            Nov 25 '18 at 16:38











          • @Conao3: Then what is the problem? My solution works.

            – Beta
            Nov 25 '18 at 22:05











          • Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

            – Conao3
            Nov 26 '18 at 4:02



















          • Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

            – Conao3
            Nov 23 '18 at 1:17











          • @NaoyaYamashita: it is now unclear what each emacs process should produce.

            – Beta
            Nov 25 '18 at 16:21











          • What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

            – Conao3
            Nov 25 '18 at 16:38











          • @Conao3: Then what is the problem? My solution works.

            – Beta
            Nov 25 '18 at 22:05











          • Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

            – Conao3
            Nov 26 '18 at 4:02

















          Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

          – Conao3
          Nov 23 '18 at 1:17





          Thank you for your reply! I could not think of a way to define a job like this. However, I do not want to discard the log of each test (although my question was not well written). I edited the question so I would be happy to see it.

          – Conao3
          Nov 23 '18 at 1:17













          @NaoyaYamashita: it is now unclear what each emacs process should produce.

          – Beta
          Nov 25 '18 at 16:21





          @NaoyaYamashita: it is now unclear what each emacs process should produce.

          – Beta
          Nov 25 '18 at 16:21













          What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

          – Conao3
          Nov 25 '18 at 16:38





          What is unclear? I do not want to discard Emacs's all output log, and show test summary at once.

          – Conao3
          Nov 25 '18 at 16:38













          @Conao3: Then what is the problem? My solution works.

          – Beta
          Nov 25 '18 at 22:05





          @Conao3: Then what is the problem? My solution works.

          – Beta
          Nov 25 '18 at 22:05













          Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

          – Conao3
          Nov 26 '18 at 4:02





          Yes you did. But your solution is discard Emacs detail test log (such as simple:equal is pass,, etc.)

          – Conao3
          Nov 26 '18 at 4:02




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417323%2frun-tests-with-multiple-versions-and-collect-return-values-in-makefile%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to send String Array data to Server using php in android

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Is anime1.com a legal site for watching anime?