()
| 414 | |
| 415 | |
| 416 | def test_set(): |
| 417 | opts = TTypes() |
| 418 | |
| 419 | opts.set("str=foo") |
| 420 | assert opts.str == "foo" |
| 421 | with pytest.raises(exceptions.OptionsError): |
| 422 | opts.set("str") |
| 423 | |
| 424 | opts.set("optstr=foo") |
| 425 | assert opts.optstr == "foo" |
| 426 | opts.set("optstr") |
| 427 | assert opts.optstr is None |
| 428 | with pytest.raises(exceptions.OptionsError, match="Received multiple values"): |
| 429 | opts.set("optstr=foo", "optstr=bar") |
| 430 | |
| 431 | opts.set("bool=false") |
| 432 | assert opts.bool is False |
| 433 | opts.set("bool") |
| 434 | assert opts.bool is True |
| 435 | opts.set("bool=true") |
| 436 | assert opts.bool is True |
| 437 | with pytest.raises(exceptions.OptionsError, match="Failed to parse option bool: "): |
| 438 | opts.set("bool=wobble") |
| 439 | |
| 440 | opts.set("bool=toggle") |
| 441 | assert opts.bool is False |
| 442 | opts.set("bool=toggle") |
| 443 | assert opts.bool is True |
| 444 | |
| 445 | opts.set("int=1") |
| 446 | assert opts.int == 1 |
| 447 | with pytest.raises(exceptions.OptionsError, match="Failed to parse option int: "): |
| 448 | opts.set("int=wobble") |
| 449 | opts.set("optint") |
| 450 | assert opts.optint is None |
| 451 | |
| 452 | assert opts.seqstr == [] |
| 453 | opts.set("seqstr=foo") |
| 454 | assert opts.seqstr == ["foo"] |
| 455 | opts.set("seqstr=foo", "seqstr=bar") |
| 456 | assert opts.seqstr == ["foo", "bar"] |
| 457 | opts.set("seqstr") |
| 458 | assert opts.seqstr == [] |
| 459 | |
| 460 | with pytest.raises(exceptions.OptionsError): |
| 461 | opts.set("deferredoption=wobble") |
| 462 | |
| 463 | opts.set("deferredoption=wobble", defer=True) |
| 464 | assert "deferredoption" in opts.deferred |
| 465 | opts.process_deferred() |
| 466 | assert "deferredoption" in opts.deferred |
| 467 | opts.add_option("deferredoption", str, "default", "help") |
| 468 | opts.process_deferred() |
| 469 | assert "deferredoption" not in opts.deferred |
| 470 | assert opts.deferredoption == "wobble" |
| 471 | |
| 472 | opts.set(*("deferredsequenceoption=a", "deferredsequenceoption=b"), defer=True) |
| 473 | assert "deferredsequenceoption" in opts.deferred |
nothing calls this directly
no test coverage detected
searching dependent graphs…