CodeIntelligenceTesting / jazzer

Coverage-guided, in-process fuzzing for the JVM
https://code-intelligence.com
Other
1.03k stars 137 forks source link

Add new ANDROID_ONLY compatibility option #780

Closed TheCoryBarker closed 1 year ago

TheCoryBarker commented 1 year ago

This is to correct the Android build targets compatibility configuration. This makes the Android build targets only compatible when building for Android target.

This will also add a check that will fail with a message when building for Android on a non-linux host machine. This is because:

  1. Android modules aren't supported on Windows
  2. the genrule command needed for jvmti.h doesn't work on Mac
TheCoryBarker commented 1 year ago

With this change //launcher/android:jazzer_android can only be built with --config=android_arm - until we can get rid of --config=android_arm

TheCoryBarker commented 1 year ago

I also updated the CI test for Android to work with this new configuration

br-lewis commented 1 year ago

I see that the springboot example is still failing. Are you working on that or do you need some assistance from our side on it?

TheCoryBarker commented 1 year ago

Thanks @br-lewis, looks like I finally got it.

I ended up also needing to fix some of the Android build targets, and update the build test for Android.

br-lewis commented 1 year ago

@TheCoryBarker have you had a chance to address @fmeum's comments?

fmeum commented 1 year ago

@br-lewis CI runs from forks don't have the CI Sense access token that is needed for the CI Fuzz Action. Can we configure the action so that it always passes in that case, perhaps after building the fuzz test?

br-lewis commented 1 year ago

@TheCoryBarker pulling in the recent changes should fix the CI failure

fmeum commented 1 year ago

@TheCoryBarker I pushed a few fixes to get Jazzer to build for Android on macOS. I am also working on getting rid of --config=android_arm and expect that we can reenable CI for Android soon.