Graham Christensen
5c3e48fd0d
CliRunners: decode UTF8 before printing stderr/stdout
...
Fixes yath output. It used to say:
step â is now runnable
Now it says:
step ‘/run...2ipqz6hbc41m4c5w5bkq-dependent-job.drv’ is now runnable
2022-01-21 15:24:33 -05:00
Graham Christensen
e4407f8c93
HydraTestContext: expose the nix state dir
2022-01-21 15:12:10 -05:00
Graham Christensen
0eeced7f08
hydra-create-user: Warn that creating users with a plaintext password is deprecated
2022-01-21 12:56:15 -05:00
Graham Christensen
98928a4125
fixups
2022-01-21 12:52:06 -05:00
Graham Christensen
bb893d0bd5
hydra-create-user: support prompting for passwords
...
I'm not sure this is a good implementation as-is. It does work,
but the password gets echo'd to the screen. I tried to use IO::Prompt
but IO::Prompt really seems to want to read the password from ARGV.
2022-01-21 10:40:56 -05:00
Graham Christensen
3a6c25489c
Hydra::Helper::Nix: expose a captureStdoutStderrWithStdin, make it available in tests
2022-01-21 10:40:06 -05:00
Graham Christensen
4945306a2b
hydra-create-user: make docs about using --password-hash better
2022-01-21 10:39:22 -05:00
Graham Christensen
12d0d0c176
hydra-create-user: use test_context over test_init
2022-01-21 10:37:48 -05:00
Graham Christensen
bb9864bad7
hydra-create-user.t: rename the various users based on their password type
2022-01-21 09:12:47 -05:00
Graham Christensen
9671d4d135
Merge pull request #1119 from DeterminateSystems/project-jobset/update-gc-roots
...
Project jobset: update-gc-roots
2022-01-15 15:57:06 -05:00
Graham Christensen
52dda56b99
hydra-update-gc-roots: add a very basic test validating successful execution
2022-01-15 14:20:11 -05:00
Graham Christensen
b2cdde0901
DeclarativeJobsets: test basic functionality
2022-01-15 13:46:32 -05:00
Graham Christensen
eef633c1cc
tests: create a declarative project spec and the autoconfig machinery
2022-01-15 13:46:32 -05:00
Graham Christensen
2abcd84931
Merge pull request #1115 from DeterminateSystems/project-jobset/builds-json-repr
...
Project jobset: update builds json repr
2022-01-15 12:09:45 -05:00
Graham Christensen
cb68629417
test a Build's json representation
2022-01-14 21:19:48 -05:00
Graham Christensen
f4c4b496d8
Projects: delete: delete all builds first
...
Deleting jobsets first would fail because buildmetrics has an FK
to the jobset. However, the jobset / project relationship is not
marked as CASCADE.
Deleting all the builds automatically cascades to delete
buildmetrics, so deleting the relevant builds first, then deleting
the jobset solves it.
2022-01-14 20:37:55 -05:00
Graham Christensen
0044622198
Projects: test deleting
2022-01-14 20:36:52 -05:00
Graham Christensen
8ae2daece7
root: test /steps and /evals
2022-01-14 16:49:58 -05:00
Graham Christensen
e0e8840d8f
Test /search
2022-01-14 16:38:25 -05:00
Graham Christensen
42a871e413
Merge pull request #1111 from DeterminateSystems/project-jobset/queue-summary-machines
...
Project jobset columns: fixup /queue-summary and /machines
2022-01-14 15:34:43 -05:00
Graham Christensen
bdccad573c
machines: test
2022-01-14 15:23:19 -05:00
Graham Christensen
da516f70a4
queue summary: test
2022-01-14 15:23:19 -05:00
Graham Christensen
a81e358016
API: test api/push-github
2022-01-14 14:57:32 -05:00
Graham Christensen
20db82b001
API test /api/push
2022-01-14 14:57:24 -05:00
Graham Christensen
fe095a56c5
API: test /nrbuilds and fix jobset / project references
2022-01-14 14:57:15 -05:00
Graham Christensen
e5c8a35423
API: test fetching the queue and latestbuilds
2022-01-14 14:57:03 -05:00
Graham Christensen
8383679bf6
test /queue and /status, both of which use buildListColumns
2022-01-14 12:48:51 -05:00
Graham Christensen
59d0259220
test /eval/ID/channel works
...
Uses buildListColumns
2022-01-14 12:48:51 -05:00
Graham Christensen
2de40f86ec
test /job/PROJECT/JOBSET/JOB works
...
Uses buildListColumns
2022-01-14 12:48:51 -05:00
Graham Christensen
4a07622195
test /job/PROJECT/JOBSET/JOB/prometheus works
...
Uses buildListColumns
2022-01-14 12:48:51 -05:00
Graham Christensen
b37ca88fd5
test /job/PROJECT/JOBSET/JOB/shield works
...
Uses buildListColumns
2022-01-14 12:48:51 -05:00
Graham Christensen
796cae0fd0
Test Job's builds and channel pages
2022-01-14 11:52:07 -05:00
Graham Christensen
a2adb8cfb6
Test Jobset's builds and channel pages
2022-01-14 11:28:39 -05:00
Graham Christensen
23d7046522
t/Controller/Build/constituents.t: assert the response is valid JSON, dump if it isn't
2022-01-14 11:28:39 -05:00
Graham Christensen
9291cba89f
Project: tests we can get the channel for the latest builds
2022-01-14 11:28:39 -05:00
Graham Christensen
dcefb88373
test /project/NAME/all returns a 200
2022-01-14 11:28:39 -05:00
Graham Christensen
6d5b234ba2
hydra-eval-jobset/notification.t: comment which jobs produced which messages
...
I tried to write the test in such a way to assert the content matched
what we expected, but since the ordering of them is not known, it
is quite tricky to write.
2022-01-14 09:13:17 -05:00
Graham Christensen
42edd3a9d8
hydra-notify: respond to cached_build_queued
2022-01-14 09:13:17 -05:00
Graham Christensen
6b7f1da11e
hydra-notify: operate on cached_build_finished events
2022-01-14 09:13:17 -05:00
Graham Christensen
4da80e736e
hydra-eval-jobset: send notifications when cached queued / finished builds are submitted
2022-01-11 13:28:04 -05:00
Graham Christensen
769f56f793
Merge pull request #1101 from DeterminateSystems/hydra-eval-jobset-notifications
...
hydra-eval-jobset: test emitted notifications
2022-01-11 13:23:44 -05:00
Graham Christensen
2e195c524d
evalSucceds/evalFails: log that the success or failure was not expected
2022-01-11 13:10:43 -05:00
Graham Christensen
2b163aa78b
CatalystUtils::showJobName: write a basic test that shows it works
2022-01-11 11:48:02 -05:00
Graham Christensen
0ada412979
hydra-eval-jobset: write a test validating the events that comes out
2022-01-11 10:17:14 -05:00
Graham Christensen
ae38cc5d04
test_context: support an override on jobsdir when creating a jobset
2022-01-11 10:17:14 -05:00
Graham Christensen
8d4c448e92
t: create a evalFails helper
2022-01-11 10:17:14 -05:00
Graham Christensen
40e556aee5
tests: evalSucceeds: don't print stdout/stderr unless it fails
2022-01-11 10:17:14 -05:00
Graham Christensen
ca6ba409de
Relocate new tests in to the Hydra subdir
2022-01-11 09:54:51 -05:00
Graham Christensen
b41818e067
Merge pull request #1100 from DeterminateSystems/nest-tests
...
Tests: restructure to more closely mirror the sources
2022-01-11 09:53:16 -05:00
Graham Christensen
a5d1d36fa6
Tests: restructure to more closely mirror the sources
...
t/ had lots of directories and files mirroring src/lib/Hydra. This moves
those files under t/Hydra
2022-01-10 15:34:52 -05:00
Cole Helbling
92bd0fae7d
t/BuildDiff: test jobs without previous history
2022-01-10 12:11:06 -08:00
Cole Helbling
1ca786561f
t/JobsetEval: test GETing the eval page
2022-01-10 12:11:05 -08:00
Cole Helbling
157a02bff7
t/BuildDiff: slightly refactor empty test to be more readable
2022-01-10 12:11:05 -08:00
Cole Helbling
220ccc68df
t/BuildDiff: test diffing two jobs
2022-01-10 12:11:05 -08:00
Cole Helbling
0c51f3ca7d
BuildDiff: make actual hash ref
2022-01-10 12:11:05 -08:00
Cole Helbling
0eb952d72d
t/BuildDiff: init
2022-01-10 12:11:05 -08:00
Graham Christensen
98c88a4dbf
Merge pull request #1097 from DeterminateSystems/api-test-warnings
...
Api test warnings: clean up
2022-01-10 14:03:38 -05:00
Graham Christensen
d8025fcf04
api-test.t: don't print request content
...
It adds noise to the logs
2022-01-10 11:02:01 -05:00
Graham Christensen
6b2f0a9fe1
api-test.t: set a default method
2022-01-10 11:02:01 -05:00
Cole Helbling
35f55279c1
HydraTestContext: prefix names with t
...
This is necessary because jobset and project names are not allowed to
begin with a digit, and yet the generated jobset and project names would
do just that.
Not the most elegant solution, but it works.
2022-01-10 09:39:42 -05:00
Graham Christensen
06360bfbb6
RunCommandLogs.t: use test_context to get a specific build
...
Fixes a build error: Can't use global @_ in 'my' at Schema/Result/RunCommandLogs.t line 20, near ', @_'
2022-01-07 15:05:33 -05:00
Graham Christensen
a7aeb766aa
RunCommandLogs: add a helper for if it failed with an exec error
2022-01-07 15:05:33 -05:00
Graham Christensen
d849856dcd
RunCommandLogs: add helpers for if it is running/failed/signaled
2022-01-07 15:05:33 -05:00
Graham Christensen
c81acbf93e
RunCommandLogs: test recording a signaled process without a core dump
2022-01-07 15:05:33 -05:00
Graham Christensen
d003fec8a5
RunCommandLogs: add a did_succeed helper
2022-01-07 15:05:33 -05:00
Graham Christensen
5bb3e2be78
Record the errno if exec fails
2022-01-07 15:05:33 -05:00
Graham Christensen
4ce8239cea
RunCommand: create run logs for each execution
2022-01-07 15:05:33 -05:00
Graham Christensen
a14501c616
Tasks: only execute the event if the plugin is interested in it
2021-12-21 20:57:53 -05:00
Graham Christensen
d195e545f5
hydra-notify: listen for build_queued events
2021-12-21 20:57:53 -05:00
Graham Christensen
f2f8d571f3
queue-runner-status: fixup from perlcritic-level-2
...
>
> from_json was legacy / deprecated. This was the only use.
2021-12-15 17:24:23 -05:00
Graham Christensen
fbce3b6ed1
default-machine-file: use makeAndEvaluateJobset
2021-12-14 20:52:40 -05:00
Graham Christensen
06f824ca48
notifications.t: use system() with lists
2021-12-14 20:48:19 -05:00
Graham Christensen
5836bc9a11
HydraTestContext::makeAndEvaluateJobset: make a random user
2021-12-14 20:48:07 -05:00
Graham Christensen
c2384a04d8
notifications.t: move to makeAndEvaluateJobset
2021-12-14 20:41:21 -05:00
Graham Christensen
008321d972
build-products: switch to makeAndEvaluateJobset
2021-12-14 20:32:13 -05:00
Graham Christensen
7333d444c6
evaluate-basic.t: move to makeAndEvaluateJobset
2021-12-14 20:25:54 -05:00
Graham Christensen
adfe74b76a
HydraTestContext: give a helper for creating a project, jobset, evaluating jobs, and optionally building them.
...
In return, get a hash of all the build records.
2021-12-14 20:25:42 -05:00
Graham Christensen
3238496b3d
t/Setup: move subs calling hydra-* programs to a CliPrograms module
...
Makes it so HydraTestContext can call them without an import loop
2021-12-14 20:25:02 -05:00
Graham Christensen
1fa141229f
HydraTestContext: explicitly stop the db
...
This might, hopefully, I don't know, possibly force the
database to live a little while longer and *reduce* but not
eliminate errors around stopping the database before we lose all
our DB::PG handles to it.
2021-12-14 19:51:12 -05:00
Graham Christensen
eca09bc980
Attempt to fix errors during test teardown
2021-12-14 16:31:41 -05:00
Graham Christensen
fc49a7129d
JSON -> JSON::MaybeXS
2021-12-14 10:16:25 -05:00
Graham Christensen
30a7f068b7
AttributeSet helper: skip wantarray
2021-12-14 10:16:25 -05:00
Graham Christensen
327d79bc1d
pin
2021-12-14 10:16:25 -05:00
Graham Christensen
7dcf6a01c6
JSON -> JSON::MaybeXS
2021-12-13 15:37:56 -05:00
Graham Christensen
26b197ea62
RunCommand: calculate all the commands to run against before starting
2021-12-08 20:29:32 -05:00
Graham Christensen
b7962c3882
RunCommand: Move the json validation testing to its own test
2021-12-08 20:29:27 -05:00
Graham Christensen
bb91f96381
RunCommand: test isEnabled, configSectionMatches, and eventMatches
2021-12-08 20:03:43 -05:00
Graham Christensen
9dfa34682d
RunCommand tests: move in to a subdirectory
2021-12-08 20:03:43 -05:00
Graham Christensen
7227395a72
Merge pull request #1068 from DeterminateSystems/fix-some-warnings
...
Fix some warnings
2021-12-03 15:38:46 -05:00
Cole Helbling
ecb1454cf1
t/Controller/Root: test narinfo path
2021-12-03 12:12:53 -08:00
Graham Christensen
085b02e092
t/Helper/CatalystUtils.t: test trim functionality
2021-12-03 11:58:19 -08:00
Graham Christensen
4d5dfec8c7
TT.t: fixup $_, since _ is a special variable, not a throwaway
2021-12-01 13:46:58 -05:00
Graham Christensen
ce6805f02b
fixup: TT.t: move the :'s to the next line
2021-11-22 20:20:06 -05:00
Graham Christensen
03323f6ef1
TT: add helpers for linking to jobs, jobsets, and projects, and for generating colon separated names.
2021-11-22 13:38:53 -05:00
Graham Christensen
5917de4948
t/plugins/runcommand.t: output the filename if it fails to open
2021-11-17 15:05:28 -05:00
Graham Christensen
e5a4147f0a
runcommand.t: stop dumping the json
2021-11-17 15:05:28 -05:00
Eelco Dolstra
9ae676072c
Merge pull request #1051 from DeterminateSystems/restart-cancel-resultset-p2
...
Validate and fix canceling builds
2021-10-27 18:22:20 +02:00
Graham Christensen
c1630e6d80
Admin/clear-queue-non-current: test behavior
2021-10-27 11:43:58 -04:00
Graham Christensen
d19890a4e1
JobsetEval/cancel: test & fix
2021-10-27 11:43:36 -04:00
Graham Christensen
ef9a9fa481
Merge pull request #1025 from lukegb/hydra-better-errors
...
Produce better errors for failing jobsets
2021-10-26 12:35:45 -04:00