ciao-lang / ciao

Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
https://ciao-lang.org
GNU Lesser General Public License v3.0
268 stars 20 forks source link

Tests fail at `append(X2,_,_1)` and `atom_concat(_1,_)` #42

Closed AlbertoGP closed 2 years ago

AlbertoGP commented 2 years ago

Tests fail in the same way on both Linux x64 and Linux ppc64le:

cd /tmp
git clone https://github.com/ciao-lang/ciao.git
cd ciao
./ciao-boot.sh get devenv
./ciao-boot.sh local-install
eval "$(./build/bin/ciao-env --sh)"
./ciao-boot.sh test

Result: (omitted part are all PASSED)

=> core: testing
   running tests at lib/
[...]
PASSED: (lns 67-69) append/3 "Simple call to append".
FAILED: (lns 70-73) append/3 "Simple append test".
append(X2,_,_1) run-time check failure.
Requires in *success*: 
    _1==_2.
But instead:
    _1=[1,2,4,5,6]
    _2=X2
PASSED: (lns 74-77) append/3 "Test of reverse call".
[...]
PASSED: (lns 74-83) atom_concat/2.
FAILED: (lns 84-99) atom_concat/2 "atom_concat that generates several solutions.".
terms:atom_concat(_1,_) run-time check failure.
Requires in *compat*: 
    list(atm,_1).
But instead:
    _1=[a,_|_]
FAILED: (lns 100-123) atom_concat/2 "atom_concat that generates several solutions.".
terms:atom_concat(_1,_) run-time check failure.
Requires in *compat*: 
    list(atm,_1).
But instead:
    _1=[a,_|_]
FAILED: (lns 124-133) atom_concat/2.
terms:atom_concat(_1,_) run-time check failure.
Requires in *compat*: 
    list(atm,_1).
But instead:
    _1=[_,b,_]
FAILED: (lns 134-142) atom_concat/2.
terms:atom_concat(_1,_) run-time check failure.
Requires in *compat*: 
    list(atm,_1).
But instead:
    _1=[_,b,'']
}

{In core/lib/varnames/apply_dict.pl
PASSED: (lns 52-53) apply_dict/4.
}

Note: {Total:
Passed: 37 (88.10%) Failed: 5 (11.90%) Precond Failed: 0 (0.00%) Aborted: 0 (0.00%) Timeouts: 0 (0.00%) Total: 42 Run-Time Errors: 5
}
[...]
[OK] Files are the same
=> ciaodbg: testing
=> ciao_emacs: testing
{ERROR: system:working_directory/2, arg 2 - existence error: source_sink:/tmp/ciao/ciao_emacs/tests does not exist}

After mkdir ciao_emacs/tests/, the tests complete with the same result excep this output after [OK] Files are the same:

[OK] Files are the same
=> ciaodbg: testing
=> ciao_emacs: testing
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading debian-ispell...
Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Loading info...
Cannot open load file: No such file or directory, run-indent-test.el
=> ciaopp: testing
=> lpdoc: testing
   running tests at src/
jfmc commented 2 years ago

Fixed the issue with ciao_emacs/tests/ (the directory was not being distributed when projecting from the monorepo). I'm looking at the other issue.

jfmc commented 2 years ago

It should be fixed now. Thanks!