View Issue Details

IDProjectCategoryView StatusLast Update
0006890Talermerchant backend API (C)public2021-08-24 16:22
Reporterttn Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
PlatformLinuxOSDebianOS VersionBullseye/Sid
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006890: "make check" fails in test_merchant_api
DescriptionHEAD at 5e1d3d01a3fdbff3d8583c6d3281bdd7171af1d2
logs attached
TagsNo tags attached.

Activities

ttn

2021-05-26 08:27

developer  

.ttn.merchant-make-check.log (7,421 bytes)   
-*- mode: compilation; default-directory: "~/build/GNU/T/merchant/" -*-
Compilation started at Wed May 26 08:18:51

make check PGHOST=$HOME/pg TMPDIR=$HOME/tmp PATH=$HOME/t/bin:$PATH
Makefile:926: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:921: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:926: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:936: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Making check in .
make[1]: Entering directory '/home/ttn/build/GNU/T/merchant'
Makefile:926: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:921: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:926: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:936: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
make[1]: Leaving directory '/home/ttn/build/GNU/T/merchant'
Making check in src
make[1]: Entering directory '/home/ttn/build/GNU/T/merchant/src'
Making check in include
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/include'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/include'
Making check in mustach
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make  test_mustach_jansson run-original-tests.sh
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
  CC       test_mustach_jansson.o
  CCLD     test_mustach_jansson
make[3]: Nothing to be done for 'run-original-tests.sh'.
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
SKIP: run-original-tests.sh
PASS: test_mustach_jansson
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 2
# PASS:  1
# SKIP:  1
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
Making check in backenddb
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make  test-merchantdb-postgres
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
  CC       test_merchantdb.o
  CCLD     test-merchantdb-postgres
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
PASS: test-merchantdb-postgres
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
Making check in backend
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backend'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backend'
Making check in lib
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
make  test_merchant_api_common
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
  CC       test_merchant_api_common.o
  CCLD     test_merchant_api_common
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
PASS: test_merchant_api_common
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
Making check in testing
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
make  test_merchant_api  test-merchant-walletharness.sh test_merchant_instance_response.sh test_merchant_product_creation.sh test_merchant_order_creation.sh
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
  CC       test_merchant_api.o
  CCLD     test_merchant_api
make[3]: Nothing to be done for 'test-merchant-walletharness.sh'.
make[3]: Nothing to be done for 'test_merchant_instance_response.sh'.
make[3]: Nothing to be done for 'test_merchant_product_creation.sh'.
make[3]: Nothing to be done for 'test_merchant_order_creation.sh'.
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
FAIL: test_merchant_api
SKIP: test-merchant-walletharness.sh
SKIP: test_merchant_instance_response.sh
SKIP: test_merchant_product_creation.sh
SKIP: test_merchant_order_creation.sh
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 5
# PASS:  0
# SKIP:  4
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See src/testing/test-suite.log
Please report to taler-bug@gnunet.org
============================================================================
make[4]: *** [Makefile:1052: test-suite.log] Error 1
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[3]: *** [Makefile:1160: check-TESTS] Error 2
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[2]: *** [Makefile:1269: check-am] Error 2
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[1]: *** [Makefile:411: check-recursive] Error 1
make[1]: Leaving directory '/home/ttn/build/GNU/T/merchant/src'
make: *** [Makefile:472: check-recursive] Error 1

Compilation exited abnormally with code 2 at Wed May 26 08:19:24
.ttn.merchant-make-check.log (7,421 bytes)   
test-suite.log.gz (70,030 bytes)

ttn

2021-05-26 08:49

developer   ~0017901

Interestingly, "make check" finishes successfully for Alpine 3.13.

Christian Grothoff

2021-05-26 09:43

manager   ~0017902

5e1d3d0..3c01b3c adds some logging so we can maybe see what is going on: the exchange is returning an error to the merchant (but we cannot see which one from the current logs). Also, do you have the latest exchange/merchant on both systems?

ttn

2021-05-26 13:01

developer   ~0017903

After doing "git pull" in exchange, i succesfully built and "make check" finished successfully there.
(HEAD at fe72adf6667908615b56668bedde7635a6df3885)

After doing "git pull" in mercahnt, i hit a compilation error that doesn't seem to make sense from inspecting the source.
(HEAD at 3c01b3c1d930b61b87053f623beff982042d0ad5)

AFAICT the variable 'deposit_sum' is properly declared. Could this be a compiler error?
Attached is the log of "make" in the merchant src/lib/ directory.
.ttn.src-lib-make.log (710 bytes)   
-*- mode: compilation; default-directory: "~/build/GNU/T/merchant/src/lib/" -*-
Compilation started at Wed May 26 12:18:01

make
  CC       merchant_api_post_transfers.lo
merchant_api_post_transfers.c: In function ‘handle_post_transfers_finished’:
merchant_api_post_transfers.c:229:30: error: ‘deposit_sum’ undeclared (first use in this function)
  229 |           GNUNET_JSON_parse (deposit_sum,
      |                              ^~~~~~~~~~~
merchant_api_post_transfers.c:229:30: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Makefile:860: merchant_api_post_transfers.lo] Error 1

Compilation exited abnormally with code 2 at Wed May 26 12:18:01
.ttn.src-lib-make.log (710 bytes)   

ttn

2021-05-26 13:18

developer   ~0017904

BTW, same error ('deposit_sum' undeclared) under Alpine (gcc (Alpine 10.2.1_pre1) 10.2.1 20201203).

FWIW, under Debian, we have gcc (Debian 10.2.1-6) 10.2.1 20210110.

ttn

2021-05-26 13:34

developer   ~0017905

Oops, spoke too soon. I checked again and indeed the variable 'deposit_sum' was not declared in the proper scope. I pushed a fix (de7a1c7e5bf46b6388ff6708e963c7bcc39a0db2) and now we are back to the original state where "make check" fails in test_merchant_api.

Latest logs attached.
.ttn.merchant-make-check-2.log (7,421 bytes)   
-*- mode: compilation; default-directory: "~/build/GNU/T/merchant/" -*-
Compilation started at Wed May 26 13:26:25

make check PGHOST=$HOME/pg TMPDIR=$HOME/tmp PATH=$HOME/t/bin:$PATH
Makefile:926: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:921: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:926: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:936: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Making check in .
make[1]: Entering directory '/home/ttn/build/GNU/T/merchant'
Makefile:926: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:921: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:926: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:936: warning: overriding recipe for target 'doxygen-doc/taler-merchant.tag'
Makefile:931: warning: ignoring old recipe for target 'doxygen-doc/taler-merchant.tag'
make[1]: Leaving directory '/home/ttn/build/GNU/T/merchant'
Making check in src
make[1]: Entering directory '/home/ttn/build/GNU/T/merchant/src'
Making check in include
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/include'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/include'
Making check in mustach
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make  test_mustach_jansson run-original-tests.sh
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
  CC       test_mustach_jansson.o
  CCLD     test_mustach_jansson
make[3]: Nothing to be done for 'run-original-tests.sh'.
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/mustach'
SKIP: run-original-tests.sh
PASS: test_mustach_jansson
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 2
# PASS:  1
# SKIP:  1
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/mustach'
Making check in backenddb
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make  test-merchantdb-postgres
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
  CC       test_merchantdb.o
  CCLD     test-merchantdb-postgres
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
PASS: test-merchantdb-postgres
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backenddb'
Making check in backend
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/backend'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/backend'
Making check in lib
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
make  test_merchant_api_common
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
  CC       test_merchant_api_common.o
  CCLD     test_merchant_api_common
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/lib'
PASS: test_merchant_api_common
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/lib'
Making check in testing
make[2]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
make  test_merchant_api  test-merchant-walletharness.sh test_merchant_instance_response.sh test_merchant_product_creation.sh test_merchant_order_creation.sh
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
  CC       test_merchant_api.o
  CCLD     test_merchant_api
make[3]: Nothing to be done for 'test-merchant-walletharness.sh'.
make[3]: Nothing to be done for 'test_merchant_instance_response.sh'.
make[3]: Nothing to be done for 'test_merchant_product_creation.sh'.
make[3]: Nothing to be done for 'test_merchant_order_creation.sh'.
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make  check-TESTS
make[3]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[4]: Entering directory '/home/ttn/build/GNU/T/merchant/src/testing'
FAIL: test_merchant_api
SKIP: test-merchant-walletharness.sh
SKIP: test_merchant_instance_response.sh
SKIP: test_merchant_product_creation.sh
SKIP: test_merchant_order_creation.sh
============================================================================
Testsuite summary for taler-merchant 0.8.0
============================================================================
# TOTAL: 5
# PASS:  0
# SKIP:  4
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See src/testing/test-suite.log
Please report to taler-bug@gnunet.org
============================================================================
make[4]: *** [Makefile:1052: test-suite.log] Error 1
make[4]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[3]: *** [Makefile:1160: check-TESTS] Error 2
make[3]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[2]: *** [Makefile:1269: check-am] Error 2
make[2]: Leaving directory '/home/ttn/build/GNU/T/merchant/src/testing'
make[1]: *** [Makefile:411: check-recursive] Error 1
make[1]: Leaving directory '/home/ttn/build/GNU/T/merchant/src'
make: *** [Makefile:472: check-recursive] Error 1

Compilation exited abnormally with code 2 at Wed May 26 13:26:58
.ttn.merchant-make-check-2.log (7,421 bytes)   
test-suite.log-2.gz (69,736 bytes)

ttn

2021-05-26 13:41

developer   ~0017906

FWIW, "make check" finishes successfully under Alpine Linux.

Christian Grothoff

2021-05-27 10:53

manager   ~0017913

So is it still breaking or is it now fixed?

Christian Grothoff

2021-05-27 11:08

manager   ~0017914

Oh, I see what is going on. In one case, we have no HTTP server on localhost, but on your other system you do.
This changes the expected HTTP status from 502 to 504, which the test does not tolerate!

Christian Grothoff

2021-05-27 11:23

manager   ~0017915

Fixed in de7a1c7..72e50cb

Issue History

Date Modified Username Field Change
2021-05-26 08:27 ttn New Issue
2021-05-26 08:27 ttn Status new => assigned
2021-05-26 08:27 ttn Assigned To => Christian Grothoff
2021-05-26 08:27 ttn File Added: .ttn.merchant-make-check.log
2021-05-26 08:27 ttn File Added: test-suite.log.gz
2021-05-26 08:49 ttn Note Added: 0017901
2021-05-26 09:43 Christian Grothoff Note Added: 0017902
2021-05-26 09:43 Christian Grothoff Assigned To Christian Grothoff => ttn
2021-05-26 09:43 Christian Grothoff Status assigned => feedback
2021-05-26 13:01 ttn Note Added: 0017903
2021-05-26 13:01 ttn File Added: .ttn.src-lib-make.log
2021-05-26 13:18 ttn Note Added: 0017904
2021-05-26 13:34 ttn Note Added: 0017905
2021-05-26 13:34 ttn File Added: .ttn.merchant-make-check-2.log
2021-05-26 13:34 ttn File Added: test-suite.log-2.gz
2021-05-26 13:34 ttn Assigned To ttn => Christian Grothoff
2021-05-26 13:41 ttn Note Added: 0017906
2021-05-26 13:41 ttn Status feedback => assigned
2021-05-27 10:53 Christian Grothoff Note Added: 0017913
2021-05-27 11:08 Christian Grothoff Note Added: 0017914
2021-05-27 11:23 Christian Grothoff Note Added: 0017915
2021-05-27 11:23 Christian Grothoff Status assigned => resolved
2021-05-27 11:23 Christian Grothoff Resolution open => fixed
2021-05-27 11:23 Christian Grothoff Fixed in Version => 0.9
2021-05-27 11:23 Christian Grothoff Target Version => 0.9
2021-07-30 13:57 Christian Grothoff Fixed in Version 0.9 => 0.8.1
2021-07-30 13:59 Christian Grothoff Target Version 0.9 => 0.8.1
2021-07-30 14:01 Christian Grothoff Fixed in Version 0.8.1 => 0.8
2021-07-30 14:02 Christian Grothoff Target Version 0.8.1 => 0.8
2021-08-24 16:22 Christian Grothoff Status resolved => closed