Marc Di Luzio
4578af47ba
Combine the two run_external_process functions so they both have the same timeout protection
2019-03-07 17:51:57 +00:00
Marc Di Luzio
e9ff2cbb10
Implement a timeout in run_external_process
2019-03-07 17:51:57 +00:00
Marc Di Luzio
1665447350
Use run_external_process for the script execution
...
This protects the main process against script exection and allows more detailed error handling
2019-03-07 17:51:57 +00:00
Marc Di Luzio
5facf2bba5
Refactor out script execution
2019-03-07 17:51:57 +00:00
Marc Di Luzio
024acddf90
Run the custom start scripts to after the other optimisations
...
This ensures the other featues are applied first, and the scripts can react if needed to those settings
2019-03-07 17:51:57 +00:00
Marc Di Luzio
9df1dd857c
Try waiting for the reaper thread at the start of tests if needed
2019-03-07 17:51:57 +00:00
Alex Smith
3c28e84700
Merge pull request #105 from mdiluz/auto-detect-vendor
...
Detect the GPU vendor automatically
2019-03-04 08:43:58 +00:00
Marc Di Luzio
7f6f32d284
Actually reject requests if require_supervisor is hit
2019-02-22 15:58:46 +00:00
Marc Di Luzio
c1dfd8bbc4
Add gamemode error strings to printouts to help debug issues
2019-02-21 17:34:20 +00:00
Marc Di Luzio
218dc9dab8
Fix up formatting
2019-02-21 17:34:20 +00:00
Marc Di Luzio
70c317233f
Wait for the child to finish up
2019-02-21 17:34:20 +00:00
Marc Di Luzio
3a624350d1
Add flavor to error log messages
2019-02-21 17:34:20 +00:00
Marc Di Luzio
baf295773b
Implement supervisor tests
2019-02-21 17:34:20 +00:00
Marc Di Luzio
b28efdb555
Correct the names and return 0 for success
2019-02-21 17:34:20 +00:00
Marc Di Luzio
602afdcbb7
Add check against require_supervisor variable
2019-02-21 17:34:20 +00:00
Marc Di Luzio
1d40c0cc1b
Refactor to use single internal functions for register, unregister and query
2019-02-21 17:34:20 +00:00
Marc Di Luzio
d4fdd9e3b4
Correct internal name for query_status_for
2019-02-21 17:34:20 +00:00
Marc Di Luzio
de1049f070
Fix comments
2019-02-21 17:34:20 +00:00
Marc Di Luzio
c2f7e971c6
Implement game_mode_query_status_for as well
2019-02-21 17:34:20 +00:00
Marc Di Luzio
1430c0b831
Implement supervisor features using new config variables
...
This allows direct control over who can make requests on behalf of other processes
require_supervisor can also be used to allow a supervisor to take direct control of gamemode on the system (perhaps a GUI, or game launcher)
2019-02-21 17:34:20 +00:00
Marc Di Luzio
d60ac23daa
Add a helper function for getting if a config list contains a string
2019-02-21 17:34:20 +00:00
Marc Di Luzio
c5f58c56d0
Hook up interfaces for functions to register another process
2019-02-21 17:34:20 +00:00
Marc Di Luzio
de390be93d
Add unused to now unused hex function
2019-02-21 17:33:58 +00:00
Marc Di Luzio
ebe525d04e
Fix up testing now that we detect the vendor
2019-02-21 17:26:14 +00:00
Marc Di Luzio
91deffb6b4
Fill in the GPU vendor automatically
2019-02-21 17:26:14 +00:00
Marc Di Luzio
0847d3b452
Remove the vendor config value in prep for it to be auto-detected
2019-02-21 17:26:14 +00:00
Alex Smith
d582b580b2
Merge pull request #104 from mdiluz/more-testing
...
Add more test coverage
2019-02-21 14:10:44 +00:00
Marc Di Luzio
94b6a34f65
Add test for gamemoderun and the reaper thread
...
Using a simple test allows us to check both at once
2019-02-20 18:08:49 +00:00
Marc Di Luzio
42d7503482
Adjust checking in gpuclockctl to assist when errors happen
2019-02-20 18:08:24 +00:00
Marc Di Luzio
ab5fdad3cb
Give the child more time to quit
2019-02-20 17:53:13 +00:00
Marc Di Luzio
e36a172144
Add full test for GPU settings
2019-02-20 17:53:13 +00:00
Marc Di Luzio
784cb0053d
Extract testing to individual functions
2019-02-20 17:53:13 +00:00
Marc Di Luzio
a9572e6896
Begin GPU test implementation
2019-02-20 17:53:13 +00:00
Marc Di Luzio
20a4862888
Add functionality to get the current GPU information in the daemon
2019-02-20 17:53:13 +00:00
Marc Di Luzio
e31a811946
Add run_external_process_get_output function to get output as well
2019-02-20 17:53:13 +00:00
Marc Di Luzio
392fb221dc
Return failure on failure, and don't try and read past the end of argv
2019-02-20 17:53:13 +00:00
Marc Di Luzio
9cd32c63eb
Implement getting GPU clocks for NV
2019-02-20 17:53:13 +00:00
Marc Di Luzio
1bc4ac626a
Comment about register features
...
Also add comment about org.freedesktop.ScreenSaver not being fully testable
2019-02-20 17:53:13 +00:00
Marc Di Luzio
7f5e59b7c4
Add pass/fail for the CPU tests
2019-02-20 17:53:13 +00:00
Marc Di Luzio
6bfedc9692
Call the configured scripts to test them
2019-02-20 17:53:13 +00:00
Marc Di Luzio
f7dce41d8a
Improve test logging output
2019-02-20 17:53:13 +00:00
Marc Di Luzio
cbf7f975d3
Add basic framework to do some script tests
2019-02-20 17:53:13 +00:00
Marc Di Luzio
6ba74284b9
Add test to verify that governor setting works
2019-02-20 17:53:13 +00:00
Marc Di Luzio
7773e5d8b7
Use the logging macros for tests
2019-02-20 17:53:13 +00:00
Marc Di Luzio
97cfc3bb17
Add game_mode_run_feature_tests to start putting feature tests
2019-02-20 17:53:13 +00:00
Marc Di Luzio
938794a69c
Protect the [gpu] config section
...
Don't allow these settings to be set from $HOME or $CWD, as discussed in PR #101
2019-02-20 17:48:23 +00:00
Marc Di Luzio
c0ef843290
Refactor the config values into a sub-struct
...
This makes it much simpler to default all but some to zero
2019-02-19 17:40:50 +00:00
Marc Di Luzio
903fda6dcb
Use a macro to declare some the repeated "get long config value" pattern
2019-02-19 17:40:50 +00:00
Marc Di Luzio
d5ffdcffdb
Fix reaper_frequency naming
2019-02-19 17:40:50 +00:00
Marc Di Luzio
b7dff4265c
Refactor config functions that can return their full value to do so
...
This pattern got a little out of hand, and was only meant for variable length values like strings
2019-02-19 17:40:50 +00:00