-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Implement chcon #1041
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
Comments
@muzikmoe: it's been a long time. Have you got any results that you can share? |
I've been working on implementing I'm trying to use the helper macros/crates provided by this project, but I'm stuck with a problem: let file = tempfile::NamedTempFile::new().unwrap();
new_ucmd!()
.args(&[
OsStr::new("--user=user1"),
OsStr::new("--type=type1"),
OsStr::new("--role=role1"),
OsStr::new("--range=range1"),
file.path().as_ref(),
])
.succeeds(); This would only succeed if run with Is there a way to run some integration tests as |
I think chown is doing stuff which requires root |
@sylvestre: I couldn't find anything in |
I'm done implementing basic integration tests, but they only succeed when the test binary is run as Example of running as a normal user:
Example of running as
Please advise me on how to proceed. Should I solve this issue somehow before I contribute to the project? Or do I make a pull request with the integration tests failing, unless run as |
yeah, do like: coreutils/tests/by-util/test_date.rs Line 185 in 9b2ee1c
|
This approach would only solve the issue of test failures when run as a normal user, but it will make the tests basically useless, as they are not going to be executed to help avoid regressions. @sylvestre: Do the CI servers ever run tests as |
Given that I didn't receive any answers about this issue, I marked all tests that need to be run as $ target/debug/deps/tests-a36c810d3fd0c415
running 34 tests
test common::util::tests::test_code_is ... ok
test common::util::tests::test_failure ... ok
test common::util::tests::test_no_std_errout ... ok
test common::util::tests::test_code_is_fail ... ok
test common::util::tests::test_failure_fail ... ok
test common::util::tests::test_no_stderr_fail ... ok
test common::util::tests::test_no_stdout_fail ... ok
test common::util::tests::test_std_does_not_contain ... ok
test common::util::tests::test_stderr_does_not_contain_fail ... ok
test common::util::tests::test_stdout_does_not_contain_fail ... ok
test common::util::tests::test_success ... ok
test test_chcon::range_change ... ignored
test test_chcon::role_change ... ignored
test test_chcon::type_change ... ignored
test test_chcon::user_change ... ignored
test common::util::tests::test_success_fail ... ok
test test_chcon::user_role_range_type_with_prior_xattributes ... ignored
test test_chcon::valid_context ... ignored
test test_chcon::valid_context_directory ... ignored
test test_chcon::valid_context_directory_recursive ... ignored
test test_chcon::valid_context_directory_recursive_follow_all_symlinks ... ignored
test test_chcon::valid_context_directory_recursive_follow_args_dir_symlinks ... ignored
test test_chcon::valid_context_on_broken_symlink ... ignored
test test_chcon::valid_context_on_valid_symlink ... ignored
test test_chcon::valid_context_with_prior_xattributes ... ignored
test test_chcon::valid_reference ... ignored
test common::util::tests::test_stdout_matches_fail ... ok
test common::util::tests::test_stdout_matches ... ok
test common::util::tests::test_stdout_not_matches_fail ... ok
test test_chcon::user_role_range_type ... ok
test test_chcon::version ... ok
test test_chcon::help ... ok
test test_chcon::reference_errors ... ok
test test_chcon::recursive_errors ... ok
test result: ok. 20 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.03s Executing those tests requires running as $ sudo target/debug/deps/tests-a36c810d3fd0c415 --include-ignored
running 34 tests
test common::util::tests::test_code_is ... ok
test common::util::tests::test_failure ... ok
test common::util::tests::test_no_std_errout ... ok
test common::util::tests::test_code_is_fail ... ok
test common::util::tests::test_failure_fail ... ok
test common::util::tests::test_no_stdout_fail ... ok
test common::util::tests::test_no_stderr_fail ... ok
test common::util::tests::test_std_does_not_contain ... ok
test common::util::tests::test_stderr_does_not_contain_fail ... ok
test common::util::tests::test_stdout_does_not_contain_fail ... ok
test common::util::tests::test_success ... ok
test common::util::tests::test_success_fail ... ok
test common::util::tests::test_stdout_matches_fail ... ok
test common::util::tests::test_stdout_not_matches_fail ... ok
test test_chcon::range_change ... ok
test common::util::tests::test_stdout_matches ... ok
test test_chcon::role_change ... ok
test test_chcon::type_change ... ok
test test_chcon::user_change ... ok
test test_chcon::user_role_range_type ... ok
test test_chcon::valid_context ... ok
test test_chcon::valid_context_directory ... ok
test test_chcon::user_role_range_type_with_prior_xattributes ... ok
test test_chcon::help ... ok
test test_chcon::valid_context_directory_recursive ... ok
test test_chcon::valid_context_directory_recursive_follow_all_symlinks ... ok
test test_chcon::valid_context_directory_recursive_follow_args_dir_symlinks ... ok
test test_chcon::valid_context_on_broken_symlink ... ok
test test_chcon::valid_context_on_valid_symlink ... ok
test test_chcon::reference_errors ... ok
test test_chcon::version ... ok
test test_chcon::recursive_errors ... ok
test test_chcon::valid_context_with_prior_xattributes ... ok
test test_chcon::valid_reference ... ok
test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s The source code documents the reason behind the ignore attribute: #[test]
#[ignore = "test must be run as root"]
fn valid_context_directory_recursive_follow_all_symlinks() {
/* ... */
} With this change, I'm ready to send a pull request. |
I'll be working on chcon.
The text was updated successfully, but these errors were encountered: