From 9106fb1321651de2df0e9cd5557d4b0bbdc885c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 3 Sep 2015 17:04:30 -0700 Subject: [PATCH 1/4] CI: Run build and connectedCheck in the root This will make sure that all projects in the repository are built and tested. Should come in handy for !126, which splits up the app into two apps and one library. --- .gitlab-ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57c7e7e3d..95025e391 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,15 +25,14 @@ before_script: test: script: - - cd F-Droid - echo " == Building via gradle" - - gradle clean assemble + - gradle build - echo " == Setting up Android 2.3.7 emulator" - echo no | android create avd --force -n fcl-test -t android-10 -b armeabi - echo " == Starting Android 2.3.7 emulator" - emulator -force-32bit -avd fcl-test -no-skin -no-audio -no-window & - - ./tools/wait-for-emulator + - ./F-Droid/tools/wait-for-emulator - echo " == Running Android tests" - - gradle connectedAndroidTest + - gradle connectedCheck - echo " == Stopping Android 2.3.7 emulator" - kill $! From 6821254aeb39c65f19824aa88c8c286a0fcd5fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 3 Sep 2015 17:07:55 -0700 Subject: [PATCH 2/4] README fixes * Don't suggest assembleDebug for building * Use connectedCheck for tests like the CI * Don't split links for readability --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a52822f6b..7f2d01364 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ for Android. Building with Gradle -------------------- -The only required tools are the [Android -SDK](http://developer.android.com/sdk/index.html) and Gradle. +The only required tools are the [Android SDK](http://developer.android.com/sdk/index.html) +and Gradle. You should use a relatively new version of Gradle, such as 2.4, or use the gradle wrapper. @@ -23,7 +23,7 @@ Once you have checked out the version you wish to build, run: If you would like to build from source, add `-PsourceDeps`: cd F-Droid - gradle assembleDebug -PsourceDeps + gradle assembleRelease -PsourceDeps The resulting apk will be in `build/outputs/apk/`. @@ -75,13 +75,12 @@ In order to run the F-Droid test suite, you will need to have either a real devi connected via `adb`, or an emulator running. Then, execute the following from the command line: - gradle connectedAndroidTest + gradle connectedCheck This will build and install F-Droid and the test apk, then execute the entire test suite on the device or emulator. -See the [Android Gradle user -guide](http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing) +See the [Android Gradle user guide](http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing) for more details, including how to use Android Studio to run tests (which provides more useful feedback than the command line). From c725b36ff8a5d84965c261cc992f7de322c06748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 3 Sep 2015 17:09:45 -0700 Subject: [PATCH 3/4] Move RepoXMLHandlerTest into the proper directory This was probably due to a faulty rebase/merge. --- {test => F-Droid/test}/assets/largeRepo.xml | 0 {test => F-Droid/test}/assets/mediumRepo.xml | 0 {test => F-Droid/test}/assets/smallRepo.xml | 0 .../test}/src/org/fdroid/fdroid/RepoXMLHandlerTest.java | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {test => F-Droid/test}/assets/largeRepo.xml (100%) rename {test => F-Droid/test}/assets/mediumRepo.xml (100%) rename {test => F-Droid/test}/assets/smallRepo.xml (100%) rename {test => F-Droid/test}/src/org/fdroid/fdroid/RepoXMLHandlerTest.java (100%) diff --git a/test/assets/largeRepo.xml b/F-Droid/test/assets/largeRepo.xml similarity index 100% rename from test/assets/largeRepo.xml rename to F-Droid/test/assets/largeRepo.xml diff --git a/test/assets/mediumRepo.xml b/F-Droid/test/assets/mediumRepo.xml similarity index 100% rename from test/assets/mediumRepo.xml rename to F-Droid/test/assets/mediumRepo.xml diff --git a/test/assets/smallRepo.xml b/F-Droid/test/assets/smallRepo.xml similarity index 100% rename from test/assets/smallRepo.xml rename to F-Droid/test/assets/smallRepo.xml diff --git a/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java b/F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java similarity index 100% rename from test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java rename to F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java From 16a0344cebc825073d5bb2e0c27e1e18612cae54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 3 Sep 2015 17:28:52 -0700 Subject: [PATCH 4/4] Update RepoXMLHandlerTest to make tests pass --- .../org/fdroid/fdroid/RepoXMLHandlerTest.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java b/F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java index 6527eb3da..d929cc94d 100644 --- a/F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java +++ b/F-Droid/test/src/org/fdroid/fdroid/RepoXMLHandlerTest.java @@ -22,7 +22,7 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -public class RepoXMLHandlerTest extends AndroidTestCase implements ProgressListener { +public class RepoXMLHandlerTest extends AndroidTestCase { private static final String TAG = "RepoXMLHandlerTest"; private Repo repo; @@ -610,10 +610,10 @@ public class RepoXMLHandlerTest extends AndroidTestCase implements ProgressListe private void handlerTestSuite(Repo repo, RepoXMLHandler handler, int appCount, int apkCount) { assertNotNull(handler); - assertFalse(TextUtils.isEmpty(handler.getPubKey())); - assertEquals(repo.pubkey.length(), handler.getPubKey().length()); - assertEquals(repo.pubkey, handler.getPubKey()); - assertFalse(fakePubkey.equals(handler.getPubKey())); + assertFalse(TextUtils.isEmpty(handler.getSigningCertFromIndexXml())); + assertEquals(repo.pubkey.length(), handler.getSigningCertFromIndexXml().length()); + assertEquals(repo.pubkey, handler.getSigningCertFromIndexXml()); + assertFalse(fakePubkey.equals(handler.getSigningCertFromIndexXml())); assertFalse(TextUtils.isEmpty(handler.getName())); assertEquals(repo.name.length(), handler.getName().length()); @@ -637,7 +637,7 @@ public class RepoXMLHandlerTest extends AndroidTestCase implements ProgressListe try { parser = SAXParserFactory.newInstance().newSAXParser(); XMLReader reader = parser.getXMLReader(); - RepoXMLHandler handler = new RepoXMLHandler(repo, this); + RepoXMLHandler handler = new RepoXMLHandler(repo); reader.setContentHandler(handler); String resName = "assets/" + indexFilename; Log.i(TAG, "test file: " + getClass().getClassLoader().getResource(resName)); @@ -661,8 +661,4 @@ public class RepoXMLHandlerTest extends AndroidTestCase implements ProgressListe return null; } - @Override - public void onProgress(Event event) { - // Log.i(TAG, "onProgress " + event.toString()); - } }