![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/utility.h"#include "common/variables.h"#include "common/conf.h"#include "common/image.h"#include "control/control.h"#include "control/jobs/import_jobs.h"#include "darktable.h"#include "imageio/imageio_jpeg.h"#include "system/macros.h"#include "system/mem_alloc.h"#include <setjmp.h>#include <stdarg.h>#include <stddef.h>#include <stdint.h>#include <stdlib.h>#include <fcntl.h>#include <cmocka.h>#include <glib/gstdio.h>#include <io.h>
Include dependency graph for test_import_jobs.c:Go to the source code of this file.
Data Structures | |
| struct | extension_case_t |
| struct | import_completion_t |
| struct | directory_failure_case_t |
| struct | directory_failure_fixture_t |
Macros | |
| #define | test_dup _dup |
| #define | test_dup2 _dup2 |
| #define | test_close _close |
Variables | |
| static const extension_case_t | _extension_cases [] |
| static char * | _rcfile = NULL |
| static char * | _integration_config = NULL |
| static char * | _integration_cache = NULL |
| static char * | _integration_tmp = NULL |
| static char * | _integration_datadir = NULL |
| static const directory_failure_case_t | _directory_failure_cases [] |
| #define test_close _close |
Definition at line 35 of file test_import_jobs.c.
| #define test_dup _dup |
Definition at line 33 of file test_import_jobs.c.
| #define test_dup2 _dup2 |
Definition at line 34 of file test_import_jobs.c.
|
static |
Definition at line 146 of file test_import_jobs.c.
References L.
Referenced by _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_fixed_destination_follows_all_policies(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
|
static |
Definition at line 136 of file test_import_jobs.c.
Referenced by _test_public_delete_source_requires_successful_copy(), _test_public_fixed_destination_follows_all_policies(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), and _test_public_unrelated_collision_has_no_sibling_fallback().
|
static |
Definition at line 152 of file test_import_jobs.c.
References import_completion_t::completed, import_completion_t::expected, import_completion_t::job_disposed, L, import_completion_t::sources, and import_completion_t::succeeded.
Referenced by _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
|
static |
Definition at line 102 of file test_import_jobs.c.
References L, and import_completion_t::sources.
Referenced by _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
|
static |
Definition at line 96 of file test_import_jobs.c.
References dt_free_gpointer(), import_completion_t::expected, L, and import_completion_t::sources.
Referenced by _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
|
static |
Definition at line 160 of file test_import_jobs.c.
References _import_completed(), _import_job_disposed(), dt_control_import_t::base_folder, dt_control_import_t::callback_data, dt_control_import_t::callback_data_free, dt_control_import_t::copy, dt_control_import_t::datetime, dt_control_import_t::file_imported, dt_control_import_t::imgs, L, dt_control_import_t::on_conflict, dt_control_import_t::target_file_pattern, dt_control_import_t::target_subfolder_pattern, and TRUE.
Referenced by _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
Prepare both diagnostic cases without redirecting process-wide output.
Definition at line 907 of file test_import_jobs.c.
References _directory_failure_teardown(), darktable_t::control, darktable, dt_pthread_mutex_init(), dt_util_test_writable_dir(), IS_NULL_PTR, L, state, directory_failure_case_t::target_is_file, directory_failure_case_t::target_name, test_dup, and TRUE.
Referenced by main().
Release fixture resources after setup failure, assertion failure, or skip.
Definition at line 875 of file test_import_jobs.c.
References darktable_t::control, darktable, dt_free, dt_free_gpointer(), dt_pthread_mutex_destroy(), IS_NULL_PTR, L, state, and test_close.
Referenced by _directory_failure_setup(), and main().
Definition at line 82 of file test_import_jobs.c.
References import_completion_t::completed, L, import_completion_t::sources, and import_completion_t::succeeded.
Referenced by _copy_import().
|
extern |
copy a file to a destination path after checking if everything is allright.
| filename | source file path. |
| dest_file_path | final borrowed destination selected before import. |
| data | import module information. |
| img_path_to_db | will be set to the file path for import. |
| pathname_len | the img_path_to_db size. |
| discarded | the list of file pathes discarded because the target already exists |
Definition at line 288 of file import_jobs.c.
References _copy_file(), _create_dir(), _file_exist(), _import_copy_txt(), _import_copy_xmp(), cleanup(), DT_DEBUG_IMPORT, DT_DEBUG_PRINT, dt_free, DT_IMPORT_ONCONFLICT_OVERWRITE, DT_IMPORT_ONCONFLICT_UNIQUE, dt_print(), dt_util_dir_exist(), dt_util_test_writable_dir(), FALSE, L, dt_control_import_t::on_conflict, and dt_control_import_t::target_dir.
Referenced by _import_image(), and _test_copy_directory_failure_reports_only_its_cause().
Definition at line 90 of file test_import_jobs.c.
References import_completion_t::job_disposed, and TRUE.
Referenced by _copy_import().
Definition at line 127 of file test_import_jobs.c.
References directory, dt_imageio_jpeg_write(), L, name, and value.
Referenced by _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), and _test_public_unrelated_collision_has_no_sibling_fallback().
Definition at line 688 of file test_import_jobs.c.
References ANSEL_TEST_SOURCE_DIR, dt_free, and L.
Referenced by main().
Definition at line 107 of file test_import_jobs.c.
References _remove_tree(), directory, dt_free, IS_NULL_PTR, L, and name.
Referenced by _remove_tree(), _test_pattern_expansion_rejects_missing_patterns(), _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), _test_public_unrelated_collision_has_no_sibling_fallback(), and main().
Definition at line 707 of file test_import_jobs.c.
References _rcfile, darktable_t::conf, darktable, dt_conf_init(), and L.
Referenced by main().
Definition at line 716 of file test_import_jobs.c.
References _rcfile, darktable_t::conf, darktable, dt_conf_cleanup(), dt_free, and L.
Referenced by main().
Definition at line 948 of file test_import_jobs.c.
References _import_copy_file(), DT_PATH_MAX, directory_failure_case_t::expected_diagnostic, L, state, directory_failure_case_t::target_is_file, test_dup2, and directory_failure_case_t::unexpected_diagnostic.
Referenced by main().
Definition at line 727 of file test_import_jobs.c.
References _extension_cases, dt_copy_filename_extension(), dt_free, dt_has_same_path_basename(), dt_util_path_get_extension(), dt_variables_expand(), dt_variables_params_destroy(), dt_variables_params_init(), extension(), extension_case_t::extension, FALSE, i, L, params, extension_case_t::path, extension_case_t::replacement, and extension_case_t::variables.
Referenced by main().
Definition at line 771 of file test_import_jobs.c.
References dt_copy_filename_extension(), dt_has_same_path_basename(), and L.
Referenced by main().
Definition at line 808 of file test_import_jobs.c.
References directory, dt_free, dt_image_flags_from_extension(), dt_image_import(), DT_IMAGE_LDR, DT_IMAGE_RAW, FALSE, and L.
Referenced by main().
Definition at line 784 of file test_import_jobs.c.
References _remove_tree(), dt_control_import_t::base_folder, dt_control_import_t::datetime, directory, dt_build_filename_from_pattern(), dt_free, dt_image_init(), L, dt_control_import_t::target_dir, dt_control_import_t::target_file_pattern, and dt_control_import_t::target_subfolder_pattern.
Referenced by main().
|
static |
Definition at line 536 of file test_import_jobs.c.
References _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, L, import_completion_t::sources, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 570 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, L, import_completion_t::sources, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 242 of file test_import_jobs.c.
References _assert_file_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import_t::delete_source, dt_control_import(), dt_free, DT_IMPORT_ONCONFLICT_SKIP, L, size, and TRUE.
Referenced by main().
|
static |
Definition at line 493 of file test_import_jobs.c.
References _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, L, import_completion_t::sources, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 394 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_file_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_OVERWRITE, DT_IMPORT_ONCONFLICT_SKIP, DT_IMPORT_ONCONFLICT_UNIQUE, L, and UNKNOWN_IMAGE.
Referenced by main().
Definition at line 217 of file test_import_jobs.c.
References _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import_t::copy, dt_control_import_t::delete_source, dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, FALSE, L, TRUE, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 614 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_file_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, DT_IMPORT_ONCONFLICT_OVERWRITE, DT_IMPORT_ONCONFLICT_SKIP, DT_IMPORT_ONCONFLICT_UNIQUE, L, name, and import_completion_t::sources.
Referenced by main().
Definition at line 353 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_file_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, L, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 177 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, dt_image_get_id_full_path(), DT_IMPORT_ONCONFLICT_SKIP, L, and UNKNOWN_IMAGE.
Referenced by main().
|
static |
Definition at line 443 of file test_import_jobs.c.
References _assert_different_bytes(), _assert_file_bytes(), _assert_import(), _completion_cleanup(), _completion_init(), _copy_import(), _make_jpeg(), _remove_tree(), dt_control_import(), dt_free, DT_IMPORT_ONCONFLICT_OVERWRITE, DT_IMPORT_ONCONFLICT_SKIP, DT_IMPORT_ONCONFLICT_UNIQUE, and L.
Referenced by main().
Definition at line 285 of file test_import_jobs.c.
References cleanup(), directory, dt_free, dt_util_streams_equal(), i, IS_NULL_PTR, L, and TRUE.
Referenced by main().
| int main | ( | void | ) |
Definition at line 988 of file test_import_jobs.c.
References _directory_failure_cases, _directory_failure_setup(), _directory_failure_teardown(), _integration_cache, _integration_config, _integration_datadir, _integration_tmp, _prepare_test_datadir(), _remove_tree(), _setup(), _teardown(), _test_copy_directory_failure_reports_only_its_cause(), _test_extension_contract(), _test_extension_utility_rejections(), _test_image_import_extension_boundaries(), _test_pattern_expansion_rejects_missing_patterns(), _test_public_copy_failure_reservation_forces_sibling_fallback(), _test_public_database_failure_reservation_forces_sibling_fallback(), _test_public_delete_source_requires_successful_copy(), _test_public_failures_consume_sequences_and_complete_once(), _test_public_fixed_destination_follows_all_policies(), _test_public_in_place_import_preserves_source(), _test_public_reserved_fallback_reaches_policy_without_third_expansion(), _test_public_sibling_collision_reexpands_once(), _test_public_siblings_keep_sequence_for_distinct_destinations(), _test_public_unrelated_collision_has_no_sibling_fallback(), _test_stream_comparison_boundaries(), ANSEL_TEST_BINARY_DIR, ANSEL_TEST_SOURCE_DIR, darktable_t::control, darktable, dt_cleanup(), dt_free, dt_init(), dt_pthread_mutex_destroy(), dt_pthread_mutex_init(), FALSE, L, dt_control_t::mutex, dt_control_t::progress_system, and directory_failure_fixture_t::test_case.
|
static |
|
static |
Definition at line 54 of file test_import_jobs.c.
Referenced by _test_extension_contract().
|
static |
Definition at line 69 of file test_import_jobs.c.
Referenced by main().
|
static |
Definition at line 68 of file test_import_jobs.c.
Referenced by main().
|
static |
Definition at line 71 of file test_import_jobs.c.
Referenced by main().
|
static |
Definition at line 70 of file test_import_jobs.c.
Referenced by main().
|
static |
Definition at line 67 of file test_import_jobs.c.
Referenced by _setup(), and _teardown().