ReadyTalk / avian

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
https://readytalk.github.io/avian/
Other
1.22k stars 172 forks source link

use size_t instead of unsigned in a bunch of appropriate places #425

Closed joshuawarner32 closed 9 years ago

joshuawarner32 commented 9 years ago

This would theoretically break compatibility with apps using embedded classpaths, on big-endian architectures - because of the size type extension. However, we don't currently support any big-endian architectures, so it shouldn't be a problem.

dicej commented 9 years ago

https://travis-ci.org/ReadyTalk/avian/jobs/54638514#L953

dicej commented 9 years ago

Once again, Travis tells us the build is fine when it's not. Boo. Hiss.

joshuawarner32 commented 9 years ago

Good thing you look at the output; I haven't been. When running ./test/ci.sh locally, it does what we want (fails on errors), so it's either travis's fault, or it's something weird we're doing in our configuration (.travis.yml). @sgoings, could you take a look?

dicej commented 9 years ago

Actually, I'm able to reproduce this with test/ci.sh locally, too. It looks like it might be related to our use of && and || to do conditionals instead of if/then, with the result that when "make mode=debug bootimage=true test" fails, it doesn't error out of the script; it only skips the next item in the && chain.

dicej commented 9 years ago

http://stackoverflow.com/questions/25794905/why-does-set-e-true-false-true-not-exit

dicej commented 9 years ago

This seems to fix it:

diff --git a/test/ci.sh b/test/ci.sh
index 4c99e1d..69c89d2 100755
--- a/test/ci.sh
+++ b/test/ci.sh
@@ -86,17 +86,22 @@ else

   make_target=test

-  (! has_flag arch) && run make ${flags} jdk-test
+  if ! has_flag arch; then
+    run make ${flags} jdk-test
+  fi
+
   run make ${flags} ${make_target}
   run make ${flags} mode=debug ${make_target}
   run make ${flags} process=interpret ${make_target}

-  (has_flag openjdk-src || ! has_flag openjdk) && \
-    run make ${flags} mode=debug bootimage=true ${make_target} && \
+  if has_flag openjdk-src || ! has_flag openjdk; then
+    run make ${flags} mode=debug bootimage=true ${make_target}
     run make ${flags} bootimage=true ${make_target}
+  fi

-  (! has_flag openjdk && ! has_flag android && ! has_flag arch) && \
+  if ! has_flag openjdk && ! has_flag android && ! has_flag arch; then
     run make ${flags} openjdk=$JAVA_HOME ${make_target}
+  fi

   run make ${flags} tails=true continuations=true heapdump=true ${make_target}
   run make ${flags} codegen-targets=all

I'll make a pull request.