aboutsummaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* Support setting environment variables in the inferiorChristopher Baines2024-06-24
| | | | When processing jobs, this is mostly to allow setting GUIX_DOWNLOAD_METHODS.
* Further change job store connection handlingChristopher Baines2024-04-25
| | | | | The guix-dameon WAL is still growing excessively, so avoid doing anything with the long running store connection except registering temporary roots.
* Fixup testsChristopher Baines2024-01-18
|
* Use fibers when processing new revisionsChristopher Baines2023-11-05
| | | | | | | | Just have one fiber at the moment, but this will enable using fibers for parallelism in the future. Fibers seemed to cause problems with the logging setup, which was a bit odd in the first place. So move logging to the parent process which is better anyway.
* Set current-guix-package when computing system test derivationsChristopher Baines2023-02-28
| | | | This is a bit ugly, but might speed up computing derivations for system tests.
* Allow skipping processing system testsChristopher Baines2023-02-08
| | | | | | | | | | | Generating system test derivations are difficult, since you generally need to do potentially expensive builds for the system you're generating the system tests for. You might not want to disable grafts for instance because you might be trying to test whatever the test is testing in the context of grafts being enabled. I'm looking at skipping the system tests on data.guix.gnu.org, because they're not used and quite expensive to compute.
* Add missing test descriptionChristopher Baines2022-11-11
|
* Partition the package_derivations_by_guix_revision_range tableChristopher Baines2022-05-23
| | | | | | | | | | | | And create a proper git_branches table in the process. I'm hoping this will help with slow deletions from the package_derivations_by_guix_revision_range table in the case where there are lots of branches, since it'll separate the data for one branch from another. These migrations will remove the existing data, so rebuild-package-derivations-table will currently need manually running to regenerate it.
* Close the load revision inferior prior to inserting dataChristopher Baines2022-03-11
| | | | | This means that the lock can be acquired after closing the inferior, freeing the large amount of memory that the inferior process is probably using.
* Address a few issues in the load new guix revision testsChristopher Baines2022-03-02
|
* Track package replacementsChristopher Baines2021-07-11
| | | | | | Start at least looking for package replacements, and storing the details (particularly the derivation). I'm looking at doing this so that build servers using the Guix Data Service can build these derivations.
* Fetch the list of system values from the databaseChristopher Baines2021-04-23
| | | | This removes the need to hardcode some values in the code.
* Add powerpc64le-linux as a supported systemChristopher Baines2021-02-12
| | | | | This should not be necessary, but currently the database isn't used to find out the valid system values.
* Fix indentation in (tests model-license-set)Christopher Baines2021-01-02
|
* Improve select-job-for-commitChristopher Baines2020-10-09
| | | | It now returns #f or a list, rather than the empty list or a nested list.
* Use the git repository fetch with authentication valueChristopher Baines2020-10-07
|
* Change the locale codeset representationChristopher Baines2020-09-26
| | | | | | | | | | | From the normalized one, to the one actually contained within glibc. Recent versions of glibc also contain symlinks linking the normalized codeset to the locales with the .UTF-8 ending, but older ones do not. Maybe handling codeset normalisation for queries would be good, but the locale values ending in .UTF-8 are more compatible and allow the code to be simplified. For querying, maybe there should be a locales table which handles different representations.
* Fix the test-model-package-metadata testDanjela Lura2020-06-19
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Fix the test-model-package testDanjela Lura2020-06-19
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Fix lint checker testsDanjela Lura2020-06-07
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Update the valid-systems testChristopher Baines2020-04-20
|
* Do some more mocking in the jobs-load-new-guix-revision testsChristopher Baines2020-02-27
| | | | To help with getting them running on Guile 3.
* Remove unused mock-inferior importChristopher Baines2020-02-27
|
* Don't use the (tests driver) moduleChristopher Baines2020-02-27
| | | | | As I forget why I even added it. I'm sure it was to try and make test failures more understandable, but I'm not sure it worked.
* Add a missing importChristopher Baines2020-02-27
|
* Adapt some license related code to work without mock in the testsChristopher Baines2020-02-24
| | | | | With Guile 3, there's a potential for mock to work in even fewer circumstances. So, adapt the code to enable writing the tests without mock.
* Check that the test database is being used in all the testsChristopher Baines2020-02-24
|
* Clear a couple of tables in the load-new-guix-revision testsChristopher Baines2020-02-24
| | | | | As entries from incomplete previous runs can effect the test, so clean out any old data before the test begins.
* Fake the store connection in the testsChristopher Baines2020-02-14
| | | | So that the tests don't require a store connection.
* Use a more long lived store connection for loading dataChristopher Baines2020-02-13
| | | | | As this will enable registering temporary roots, to avoid store items being garbage collected.
* Start storing channel instance derivationsChristopher Baines2020-02-11
| | | | These are the ones that relate to Guix pull.
* Update the load-new-revision-job testsChristopher Baines2020-02-11
|
* Make valid-systems quickerChristopher Baines2020-01-05
| | | | | In the future, it would be good to pull this from the database again, but in some way which is really quick.
* Insert channel news entries when loading new guix revisionsChristopher Baines2019-11-21
| | | | If the channel-news-for-commit function is present.
* Refactor channel handling in the load-new-guix-revision moduleChristopher Baines2019-11-21
| | | | To allow for passing the channel to channel-news-for-commit.
* Improve the package and package-metadata modulesChristopher Baines2019-09-05
| | | | | | | Add tests around the package module, extract out the use of the inferior-package record assessors so that they aren't part of the tests, and switch across the package-metadata module to use insert-missing-data-and-return-all-ids.
* Put some comments in the mock-inferior moduleChristopher Baines2019-09-05
| | | | About mocking the record file accessors not working :(
* Start handling ids as numbers, rather than stringsChristopher Baines2019-09-05
| | | | | | | | | squee, returns all data as strings, and expects strings as inputs to queries. So, keeping the ids as strings was easy initially, but it means that you can't tell from the type whether it should be quoted, or not... Therefore, handle ids as strings, converting them to numbers when they're fetched from the database, and back to strings as part of the queries.
* Store lint warnings in the databaseChristopher Baines2019-09-01
| | | | | | | | | | This commit adds the relevant tables and code to store lint warnings in the database. Currently, only lint checkers which don't require access to the network will be run, as this allows the processing to happen without network access. Also, this functionality won't work in older versions of Guix which don't expose the lint warnings in a compatible way.
* Avoid erroring when processing emails againChristopher Baines2019-08-05
| | | | | These changes allow processing emails again, and just creating job and branch entries where data is missing.
* Remove test data after the tests have ranChristopher Baines2019-08-05
| | | | | The load-new-guix-revision tests aren't transactional, so truncate some tables after running the tests.
* Fix some duplicated values in tablesChristopher Baines2019-08-04
| | | | | | | | | | | | | The licenses table, along with the package_metadata table had duplicate values. This could happen as the unique constraints on those tables didn't properly account for the nullable fields. The duplicates in those tables also affected the license_sets, packages, package_derivations tables in a similar way. Finally, the guix_revision_package_derivations table was also affected. This commit adds a migration to fix the data, as well as the constraints. THe code to populate the licenses and package_metadata tables is also updated.
* Switch to processing jobs in parallelChristopher Baines2019-07-12
| | | | | | This should speed up processing new revisions, reduce latency between finding out about new revisions and processing them, as well as help manage memory usage, by processing each job in a process that then exits.
* Fix the name for the jobs-load-new-guix-revision test moduleChristopher Baines2019-07-12
|
* Associate a name with database connectionsChristopher Baines2019-07-12
| | | | This helps when working out which connection to the database is doing what.
* Add a new test to cover some of the loading new revisions codeChristopher Baines2019-06-02
|
* Fix the package-metadata testsChristopher Baines2019-05-16
|
* Fix how email dates are inserted in to PostgreSQLChristopher Baines2019-05-16
| | | | | Previously, the timezone was stripped off, so the timestamps were off. This commit changes the code to use a Unix timestamp, which avoids this issue.
* Store license information for packagesChristopher Baines2019-05-15
| | | | | | | | | | And display this on the package page. This uses a couple of new tables, and an additional field in the package_metadata table. Currently, the order of the licenses in the package definition isn't stored, as I'm not sure the order in the list is significant.
* Fix type issues with the location idsChristopher Baines2019-05-14
| | | | | | | | On one code path, they were handled as numbers, whereas elsewhere they were handled as strings. This led to the package-metadata code trying to insert duplicate entries. Instead, just handle them as strings everywhere.