pmbootstrap/test
Oliver Smith ad5a0d4294
Make proprietary drivers optional (1/2): pmbootstrap changes (#1254)
Here are the changes necessary in pmbootstrap to make proprietary
software installed onto the device (firmware and userspace drivers)
optional (#756). To full close the issue, we need to apply this concept
to all device packages we already have in a follow-up PR.

Changes:
* New config file options nonfree_firmware and nonfree_userland, which
  we ask for during "pmbootstrap init" if there are non-free components
  for the selected device.
* We find that out by checking the APKBUILD's subpakages: The non-free
  packages are called $pkgname-nonfree-firmware and
  $pkgname-nonfree-userland.
* During "pmbootstrap init" we also show the pkgdesc of these
  subpackages. Parsing that is implemented in
  pmb.parse._apkbuild.subpkgdesc(). It was not implemented as part of
  the regular APKBUILD parsing, as this would need a change in the
  output format, and it is a lot *less* code if done like in this
  commit.
* pmb/parse/apkbuild.py was renamed to _apkbuild.py, and
  pmb/install/install.py to _install.py: needed to call the function in
  the usual way (e.g. pmb.parse.apkbuild()) but still being able to
  test the individual functions from these files in the test suite.
  We did the same thing for pmb/build/_package.py already.
* Install: New function get_nonfree_packages() returns the non-free
  packages that will be installed, based on the user's choice in
  "pmbootstrap init" and on the subpackages the device has.
* Added test cases and test data (APKBUILDs) for all new code,
  refactored test/test_questions.py to have multiple functions for
  testing the various questions / question types from
  "pmbootstrap init" instead of having it all in one big function.
  This allows to use another aport folder for testing the new
  non-free related questions in init.
2018-02-24 21:49:10 +00:00
..
testdata Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
check_checksums.py check_checksums.py: Non-zero exit on build error 2018-02-14 00:12:46 +01:00
static_code_analysis.sh static_code_analysis.sh: Find CHANGEMEs in APKBUILDs (#1161) 2018-01-24 21:31:07 +00:00
test_apk_static.py Index parser: support multiple package providers (#1202) 2018-02-20 19:52:28 +00:00
test_aportgen.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_aportgen_device_wizard.py Fix #839: Check pkgver after parsing APKBUILD / various small improvements (#854) 2018-01-18 22:05:27 +00:00
test_aports_deviceinfo.py Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
test_bootimg.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_build_is_necessary.py Index parser: support multiple package providers (#1202) 2018-02-20 19:52:28 +00:00
test_build_package.py pmbootstrap build --src: override source for any package (#1210) 2018-02-19 22:04:01 +00:00
test_buildroot_aarch64_init.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_chroot_interactive_shell.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_config_user.py Remove timestamp based rebuilds (#1174) 2018-01-28 23:27:33 +00:00
test_file.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_folder_size.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_frontend.py pmbootstrap build --src: override source for any package (#1210) 2018-02-19 22:04:01 +00:00
test_install.py Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
test_keys.py Index parser: support multiple package providers (#1202) 2018-02-20 19:52:28 +00:00
test_mount.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_newapkbuild.py Wrap Alpine's newapkbuild (#894) 2018-01-15 22:00:11 +00:00
test_parse_apkbuild.py Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
test_parse_apkindex.py Index parser: support multiple package providers (#1202) 2018-02-20 19:52:28 +00:00
test_parse_depends.py Index parser: support multiple package providers (#1202) 2018-02-20 19:52:28 +00:00
test_pkgrel_bump.py Remove timestamp based rebuilds (#1174) 2018-01-28 23:27:33 +00:00
test_qemu_running_processes.py Testsuite: Run UIs in Qemu and check running processes and more (#982) 2018-02-02 00:16:29 +00:00
test_questions.py Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
test_repo.py Remove rest of 'pmbootstrap challenge' left overs (#1173) 2018-02-01 22:03:21 +00:00
test_shell_escape.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
test_soname_bump.py Gracefully handle packages breaking because of soname bumps (#1116) 2018-01-14 01:26:42 +00:00
test_upstream_compatibility.py Make proprietary drivers optional (1/2): pmbootstrap changes (#1254) 2018-02-24 21:49:10 +00:00
test_version.py Testsuite: Run UIs in Qemu and check running processes and more (#982) 2018-02-02 00:16:29 +00:00
test_version_validate.py version.py: fix validation of 6.0_0002 (#1160) 2018-01-25 18:23:55 +00:00
testcases_fast.sh Testsuite: Run UIs in Qemu and check running processes and more (#982) 2018-02-02 00:16:29 +00:00