static List<String> constructPythonCommands(final PythonDriverOptions pythonDriverOptions) {
        final List<String> commands = new ArrayList<>();
        // disable output buffer
        commands.add("-u");
        if (pythonDriverOptions.getEntryPointScript().isPresent()) {
            commands.add(pythonDriverOptions.getEntryPointScript().get());
        } else {
            commands.add("-m");
            commands.add(pythonDriverOptions.getEntryPointModule());
        }
        commands.addAll(pythonDriverOptions.getProgramArgs());
        return commands;
    }
@Test
    void testConstructCommandsWithEntryPointModule() {
        List<String> args = new ArrayList<>();
        args.add("--input");
        args.add("in.txt");

        PythonDriverOptions pythonDriverOptions = new PythonDriverOptions("xxx", null, args);
        List<String> commands = PythonDriver.constructPythonCommands(pythonDriverOptions);
        // verify the generated commands
        assertThat(commands).containsExactly("-u", "-m", "xxx", "--input", "in.txt");
    }