Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show toml file location in Figment errors #860

Commits on May 14, 2024

  1. refactor: [torrust#855] show toml file location in Figment errors

    Before this commit we loaded configuration in Figment always using a
    Toml string even if the configuration cames from a toml file. WHen there
    is an error Figment does not show the file location and that's one of
    the main advantages of using Figment. All errors point to the primary
    source of the configuration option.
    
    This commit fixes that problem leting Figment to load the configuration
    from the file when the user provides a file.
    
    Sample error:
    
    ```
    Loading configuration from default configuration file: `./share/default/config/tracker.development.sqlite3.toml` ...
    thread 'main' panicked at src/bootstrap/config.rs:45:32:
    called `Result::unwrap()` on an `Err` value: ConfigError { source: LocatedError { source: Error { tag: Tag(Default, 2), profile: Some(Profile(Uncased { string: "default" })), metadata: Some(Metadata { name: "TOML file", source: Some(File("/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml")), provide_location: Some(Location { file: "packages/configuration/src/v1/mod.rs", line: 330, col: 18 }), interpolater:  }), path: [], kind: Message("TOML parse error at line 2, column 15\n  |\n2 | enabled = truee\n  |               ^\nexpected newline, `#`\n"), prev: None }, location: Location { file: "packages/configuration/src/v1/mod.rs", line: 334, col: 41 } } }
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    ```
    
    Notice how the file path is included is the error: `/home/developer/torrust/torrust-tracker/./share/default/config/tracker.development.sqlite3.toml`
    josecelano committed May 14, 2024
    Configuration menu
    Copy the full SHA
    da6a21e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4de5e7d View commit details
    Browse the repository at this point in the history