Libelektra: typechecker: build fails on travis

Created on 19 May 2018  Β·  4Comments  Β·  Source: ElektraInitiative/libelektra

https://travis-ci.org/ElektraInitiative/libelektra/jobs/381049513

cd /Users/travis/build/ElektraInitiative/build/src/plugins/typechecker && /usr/local/bin/cabal configure --enable-shared -v0 && /usr/local/bin/cabal build -v0
setup: Encountered missing dependencies:
haskell-src-exts -any,
hint >=0.7.0 && <0.8.0,
simple-logger -any,
spectranslator ==1.0.8.23,
text -any
[375/389] Generating dist/build/testhaskell_basic/testhaskell_basic, dist/build/testhaskell_basic_optimized/testhaskell_basic_optimized, dist/build/testhaskell_realworld/testhaskell_realworld, dist/build/testhaskell_realworld_optimized/testhaskell_realworld_optimized
In order, the following will be installed:
libfa-1.0.8.23 (via: specelektra-1.0.8.23) (reinstall)
specelektra-1.0.8.23 (reinstall)
ninja: build stopped: subcommand failed.

Most helpful comment

I see. But i think this will be resolved with the changed build approach where you have to install the dependencies in advance in #2004 which i expect to get done very soon.

All 4 comments

I think the error report above is missing an important part of the output:

dieVerbatim: user error (cabal: '/usr/bin/curl' exited with an error:
curl: (6) Could not resolve host: objects-us-west-1.dream.io
)

. Anyway, it seems the test testshell_markdown_typechecker does sometimes fail, even if Travis was able to install all dependencies. Below I included the output of one of the latest Travis failures from my copy of the repo:

Input: /Users/travis/build/sanssecours/elektra/src/plugins/typechecker/README.md
(kdb mount prelude.ini spec/tests/typechecker/elektra/spec ini &&
    kdb get spec/tests/typechecker/elektra/spec/fallback/#) ||
    (kdb umount spec/tests/typechecker/elektra/spec &&
        kdb mount "$PWD/src/plugins/typechecker/typechecker/prelude.ini" spec/tests/typechecker/elektra/spec ini)
kdb mount simplespecification.ini spec/tests/typechecker ini typechecker
echo 'kdbGet spec/tests/typechecker
keySetName spec/tests/typechecker/key1
keySetMeta check/range 0-5000
ksAppendKey
keyClear
keySetName spec/tests/typechecker/key2
keySetMeta check/range 7200-10000
ksAppendKey
keyClear
keySetName spec/tests/typechecker/key3
keySetMeta check/long
keySetMeta fallback/#1 spec/tests/typechecker/key1
ksAppendKey
keyClear
kdbSet spec/tests/typechecker' | kdb shell
kdb get spec/tests/typechecker/key1
kdb setmeta spec/tests/typechecker/key2 fallback/#1 spec/tests/typechecker/key1
ERROR - RET:
Return value β€œ0” does not match β€œ5”
kdb umount spec/tests/typechecker
kdb umount spec/tests/typechecker/elektra/spec
shell_recorder /var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/tmp.a5nCXwBV RESULTS: 7 test(s) done 1 error(s).
β€”β€” Protocol β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
CMD: (kdb mount prelude.ini spec/tests/typechecker/elektra/spec ini &&
    kdb get spec/tests/typechecker/elektra/spec/fallback/#) ||
    (kdb umount spec/tests/typechecker/elektra/spec &&
        kdb mount "$PWD/src/plugins/typechecker/typechecker/prelude.ini" spec/tests/typechecker/elektra/spec ini)
RET: 0
CMD: kdb mount simplespecification.ini spec/tests/typechecker ini typechecker
RET: 0
CMD: echo 'kdbGet spec/tests/typechecker
keySetName spec/tests/typechecker/key1
keySetMeta check/range 0-5000
ksAppendKey
keyClear
keySetName spec/tests/typechecker/key2
keySetMeta check/range 7200-10000
ksAppendKey
keyClear
keySetName spec/tests/typechecker/key3
keySetMeta check/long
keySetMeta fallback/#1 spec/tests/typechecker/key1
ksAppendKey
keyClear
kdbSet spec/tests/typechecker' | kdb shell
RET: 0
STDOUT: > return value: 1
> > Set meta check/range to 0-5000
> > > > Set meta check/range to 7200-10000
> > > > Set meta check/long to 
> Set meta fallback/#1 to spec/tests/typechecker/key1
> > > return value: 1
> 
CMD: kdb get spec/tests/typechecker/key1
RET: 0
CMD: kdb setmeta spec/tests/typechecker/key2 fallback/#1 spec/tests/typechecker/key1
RET: 0
=== FAILED return value does not match expected pattern 5
CMD: kdb umount spec/tests/typechecker
RET: 0
CMD: kdb umount spec/tests/typechecker/elektra/spec
RET: 0
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

. Exactly the same code worked without problems in the PR I opened here.

I see. But i think this will be resolved with the changed build approach where you have to install the dependencies in advance in #2004 which i expect to get done very soon.

@sanssecours Thank you for improving the bug report.

@e1528532 Are you sure if #2004 fully fixes the problem even though the test case sometimes fails with all installed deps?

dieVerbatim: user error (cabal: '/usr/bin/curl' exited with an error:
curl: (6) Could not resolve host: objects-us-west-1.dream.io
)
Sometimes the mirror seems to be down, i've seen the same happen for some ubuntu repo as well on travis, there is not much we can do against that than restart the job.

Regarding the build failures, i think it should work now with the improvements form #2055 #1944 .

Was this page helpful?
0 / 5 - 0 ratings

Related issues

markus2330 picture markus2330  Β·  3Comments

mpranj picture mpranj  Β·  3Comments

mpranj picture mpranj  Β·  4Comments

markus2330 picture markus2330  Β·  3Comments

markus2330 picture markus2330  Β·  3Comments