forked from drath/libratbag
Update ratbagctl.test
This commit is contained in:
committed by
Yaroslav Chvanov
parent
00f06ba98e
commit
34217a752b
@@ -1977,7 +1977,7 @@ def main(argv: List[str]) -> None:
|
||||
cmd = parser.parse(argv)
|
||||
if cmd.help:
|
||||
parser.print_help()
|
||||
return
|
||||
return 0
|
||||
|
||||
_r = open_ratbagd(verbose=cmd.verbose)
|
||||
if _r is not None:
|
||||
@@ -1986,13 +1986,19 @@ def main(argv: List[str]) -> None:
|
||||
f = cmd.func
|
||||
except AttributeError:
|
||||
parser.print_help()
|
||||
return
|
||||
return 2
|
||||
else:
|
||||
try:
|
||||
f(r, cmd)
|
||||
except RatbagCapabilityError as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
return 1
|
||||
except ValueError as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
return 2
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
ret = main(sys.argv[1:])
|
||||
sys.exit(ret)
|
||||
|
||||
@@ -74,6 +74,8 @@ def main(argv, start_ratbagd=True):
|
||||
time.sleep(0.5)
|
||||
except RatbagCapabilityError as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
except ValueError as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
finally:
|
||||
try:
|
||||
if cmd.keepalive:
|
||||
|
||||
@@ -86,6 +86,8 @@ class TestRatbagCtl(unittest.TestCase):
|
||||
returncode = e.code
|
||||
except AttributeError:
|
||||
returncode = 2
|
||||
except ValueError:
|
||||
returncode = 2
|
||||
except argparse.ArgumentTypeError:
|
||||
returncode = 2
|
||||
output = sys.stdout.getvalue()
|
||||
@@ -140,6 +142,9 @@ class TestRatbagCtl(unittest.TestCase):
|
||||
return stdout
|
||||
|
||||
def launch_fail_with_exception_test(self, params, exception):
|
||||
global run_ratbagctl_in_subprocess
|
||||
if run_ratbagctl_in_subprocess:
|
||||
return ""
|
||||
with self.assertRaises(exception):
|
||||
returncode, stdout, stderr = self.run_ratbagctl(params)
|
||||
return ""
|
||||
@@ -177,18 +182,22 @@ class TestRatbagCtlProfile(TestRatbagCtl):
|
||||
{
|
||||
"profiles": [
|
||||
{
|
||||
"is_active": false
|
||||
"is_active": false,
|
||||
"capabilities": [102]
|
||||
},
|
||||
{
|
||||
"name": "test profile x2",
|
||||
"is_active": false
|
||||
"is_active": false,
|
||||
"capabilities": [102]
|
||||
},
|
||||
{
|
||||
"is_active": true
|
||||
"is_active": true,
|
||||
"capabilities": [102]
|
||||
},
|
||||
{
|
||||
"is_active": false,
|
||||
"is_disabled": true
|
||||
"is_disabled": true,
|
||||
"capabilities": [102]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -485,16 +494,16 @@ class TestRatbagCtlDPI(TestRatbagCtl):
|
||||
self.setProfile(2)
|
||||
r = self.launch_good_test("test_device dpi get")
|
||||
self.assertEqual(r, "2100x2200dpi")
|
||||
self.launch_good_test("test_device " + command + " 1350x1450")
|
||||
self.launch_good_test("test_device " + command + " 1300x1400")
|
||||
r = self.launch_good_test("test_device dpi get")
|
||||
self.assertEqual(r, "1350x1450dpi")
|
||||
self.launch_good_test("test_device " + command + " 2350x2450dpi")
|
||||
self.assertEqual(r, "1300x1400dpi")
|
||||
self.launch_good_test("test_device " + command + " 2300x2400dpi")
|
||||
r = self.launch_good_test("test_device dpi get")
|
||||
self.assertEqual(r, "2350x2450dpi")
|
||||
self.launch_good_test("test_device " + command + " 2350")
|
||||
self.assertEqual(r, "2300x2400dpi")
|
||||
self.launch_good_test("test_device " + command + " 2300")
|
||||
r = self.launch_good_test("test_device dpi get")
|
||||
self.assertEqual(r, "2350x2350dpi")
|
||||
self.launch_fail_test("test_device " + command + " 2350dpi")
|
||||
self.assertEqual(r, "2300x2300dpi")
|
||||
self.launch_fail_test("test_device " + command + " 2300dpi")
|
||||
self.launch_fail_test(command)
|
||||
self.launch_fail_test("test_device " + command + " X")
|
||||
self.launch_fail_test("test_device " + command + " 100 X")
|
||||
@@ -628,7 +637,7 @@ class TestRatbagCtlButton(TestRatbagCtl):
|
||||
r = self.launch_good_test("test_device button 2 get")
|
||||
self.assertEqual(r, "Button: 2 is mapped to 'profile-cycle-up'")
|
||||
r = self.launch_good_test("test_device button 3 get")
|
||||
self.assertEqual(r, "Button: 3 is mapped to macro '↕B 300ms'")
|
||||
self.assertEqual(r, "Button: 3 is mapped to macro '↕KEY_B 300ms'")
|
||||
self.launch_fail_test("test_device button 1 get 10")
|
||||
self.launch_fail_test("test_device button 10 get")
|
||||
self.launch_fail_test("test_device button 1 get X")
|
||||
@@ -671,13 +680,15 @@ class TestRatbagCtlButton(TestRatbagCtl):
|
||||
command = "button 2 action set macro "
|
||||
self.launch_good_test("test_device " + command + "+KEY_B KEY_A -KEY_B KEY_C")
|
||||
r = self.launch_good_test("test_device button 2 get")
|
||||
self.assertEqual(r, "Button: 2 is mapped to macro '↓B ↕A ↑B ↕C'")
|
||||
self.assertEqual(
|
||||
r, "Button: 2 is mapped to macro '↓KEY_B ↕KEY_A ↑KEY_B ↕KEY_C'"
|
||||
)
|
||||
self.launch_good_test("test_device " + command + "t100 t200")
|
||||
r = self.launch_good_test("test_device button 2 get")
|
||||
self.assertEqual(r, "Button: 2 is mapped to macro '100ms 200ms'")
|
||||
self.launch_good_test("test_device " + command + "KeY_z")
|
||||
r = self.launch_good_test("test_device button 2 get")
|
||||
self.assertEqual(r, "Button: 2 is mapped to macro '↕Z'")
|
||||
self.assertEqual(r, "Button: 2 is mapped to macro '↕KEY_Z'")
|
||||
self.launch_good_test("test_device " + command)
|
||||
r = self.launch_good_test("test_device button 2 get")
|
||||
self.assertEqual(r, "Button: 2 is mapped to macro 'None'")
|
||||
@@ -697,43 +708,34 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
"profiles": [
|
||||
{ "is_active": true,
|
||||
"leds": [
|
||||
{ "type": 1,
|
||||
"mode": 0,
|
||||
{ "mode": 0,
|
||||
"duration": 1000,
|
||||
"brightness": 20 },
|
||||
{ "type": 1,
|
||||
"mode": 1,
|
||||
{ "mode": 1,
|
||||
"duration": 333,
|
||||
"brightness": 40,
|
||||
"color": [255, 0, 0] },
|
||||
{ "type": 1,
|
||||
"mode": 2,
|
||||
{ "mode": 2,
|
||||
"duration": 333,
|
||||
"brightness": 40 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"leds": [
|
||||
{ "type": 1,
|
||||
"mode": 1 },
|
||||
{ "type": 1,
|
||||
"mode": 0 },
|
||||
{ "type": 1,
|
||||
"mode": 1 }
|
||||
{ "mode": 1 },
|
||||
{ "mode": 0 },
|
||||
{ "mode": 1 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"leds": [
|
||||
{ "type": 1,
|
||||
"mode": 1,
|
||||
{ "mode": 1,
|
||||
"color": [255, 0, 0],
|
||||
"duration": 1000 },
|
||||
{ "type": 1,
|
||||
"mode": 2,
|
||||
{ "mode": 2,
|
||||
"brightness": 40,
|
||||
"duration": 333 },
|
||||
{ "type": 1,
|
||||
"mode": 1 }
|
||||
{ "mode": 1 }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user