Comments (7)
test suite seems to be really unstable. Trying all cases (ruby runtest.rb -c, -c -n, -c -n -a) on Ubuntu 14.04, Fedora 23, Fedora 23 with make 3.81 in $PATH
leaves me with 1 to 8 unexpected passes/failures.
I wish I had at least one combination with 0 :-/
from kati.
Now runtest.rb sets SHELL=/bin/bash and "ln -sf /bin/bash /bin/sh" was removed from the travis CI setting: fc24bd2 I also made a bunch of changes for GNU make 4. Hopefully these changes mitigate your issue?
from kati.
Your latest changes improve the situation somewhat. "ruby runtest.rb -c" now passes on my Ubunut 14.04 machine.
But other tests can still fail, I think there is something wrong with handling of echo handling when using ninja?
err_error_in_recipe.mk: FAIL
--- out.make 2016-05-03 09:56:37.074432172 +0300
+++ out.kati 2016-05-03 09:56:37.074432172 +0300
@@ -1,4 +1,5 @@
=== test ===
+/bin/bash -c "echo -e \"Makefile:2: *** foo.\" 2>&1 && false"
Makefile:2: *** foo.
=== FILES ===
fail_ignore_error.mk: FAIL
--- out.make 2016-05-03 09:56:38.302433053 +0300
+++ out.kati 2016-05-03 09:56:38.302433053 +0300
@@ -1,5 +1,6 @@
=== test ===
*** [test] Error 1
+/bin/bash -c "(false ) && (false ; true ) && (echo FAIL )"
=== FILES ===
fail_subshell_in_recipe.mk: FAIL
--- out.make 2016-05-03 09:56:38.330433073 +0300
+++ out.kati 2016-05-03 09:56:38.330433073 +0300
@@ -1,5 +1,6 @@
=== test ===
*** [test] Error 1
+/bin/bash -c "(false ) && ((true) ; echo FAIL )"
=== FILES ===
from kati.
Could you tell me the result of
$ cd out/err_error_in_recipe.mk && ninja
For me, the output is
[1/1] build test
FAILED: /bin/bash -c "echo -e "Makefile:2: *** foo." 2>&1 && false"
Makefile:2: *** foo.
ninja: build stopped: subcommand failed.
The line with "FAILED:" should be removed by https://github.com/google/kati/blob/master/runtest.rb#L114 . But it looks like your ninja doesn't have the FAILED: prefix?
from kati.
I have two lines, where you have one line:
[1/1] build test
FAILED: test
/bin/bash -c "echo -e \"Makefile:2: *** foo.\" 2>&1 && false"
Makefile:2: *** foo.
ninja: build stopped: subcommand failed.
Maybe you are not using upstream master of ninja?
from kati.
Ah, it seems very recent ninja outputs two lines. The above change works?
from kati.
Yes, on Ubuntu 14.04 (make 3.81 in $PATH) and Fedora 23 (make 4.0 in $PATH) I now get passing result for -c, -c -n and -c -n -a
Closing this issue.
from kati.
Related Issues (20)
- Create packages for different distros.
- The root of the repo is untidy mess HOT 2
- status of recursive make? HOT 2
- feature request: -C flag HOT 1
- Find emulator unnecessarily greedy HOT 4
- Why using c++ instead of go? HOT 2
- Two recursive variables referencing each other cause a segfault HOT 1
- Dependency loops cause targets to be missing from ninja graph with --gen_all_targets HOT 1
- Can't generate correct ninja rules for certain Makefile HOT 1
- Escaped percent char is mishandled in patsubst arguments HOT 1
- Assignment statement should not allow a whitespace in variable's name HOT 1
- Ninja file generated by Kati depends on irrelevant variables
- $* gives incorrect value when the stem is in the middle of the pattern
- Implicit rules cannot invoke other implicit rules HOT 2
- Windows port HOT 4
- kati doesn't support .SECONDEXPANSION
- Ignoring errors
- Kati fails to translate # in ninja mode HOT 1
- TestKati/stem_middle.mk: Kati generates "a" and "c" directories. HOT 1
- Target considered up-to-date when prerequisite is newer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kati.