Coverage for src / competitive_verifier / oj / languages / haskell.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-04-26 12:38 +0900

1from typing import Literal 

2 

3from pydantic import Field 

4 

5from competitive_verifier.models import ShellCommand, ShellCommandLike 

6 

7from .base import OjVerifyUserDefinedConfig 

8from .user_defined import UserDefinedLanguage 

9 

10 

11class OjVerifyHaskellConfig(OjVerifyUserDefinedConfig): 

12 execute: ShellCommandLike = Field( 

13 default_factory=lambda: ShellCommand( 

14 command=["runghc", "{basedir}/{path}"], 

15 ), 

16 ) 

17 

18 

19class HaskellLanguage(UserDefinedLanguage): 

20 extension: Literal["hs"] = "hs" # pyright: ignore[reportIncompatibleVariableOverride] 

21 config: OjVerifyHaskellConfig = Field(default_factory=OjVerifyHaskellConfig) # pyright: ignore[reportIncompatibleVariableOverride]