test: file-descriptor: Add "fd move" constructor test
Add a test for the newly added "fd move" constructor. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
parent
206fada99d
commit
c7463138c6
1 changed files with 38 additions and 4 deletions
|
@ -56,16 +56,19 @@ protected:
|
|||
delete desc1_;
|
||||
desc1_ = nullptr;
|
||||
|
||||
/* Test creating FileDescriptor from numerical file descriptor. */
|
||||
/*
|
||||
* Test creating FileDescriptor by copying numerical file
|
||||
* descriptor.
|
||||
*/
|
||||
desc1_ = new FileDescriptor(fd_);
|
||||
if (desc1_->fd() == fd_) {
|
||||
std::cout << "Failed fd numerical check (int constructor)"
|
||||
std::cout << "Failed fd numerical check (lvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
if (!isValidFd(fd_) || !isValidFd(desc1_->fd())) {
|
||||
std::cout << "Failed fd validity after construction (int constructor)"
|
||||
std::cout << "Failed fd validity after construction (lvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
@ -76,7 +79,38 @@ protected:
|
|||
desc1_ = nullptr;
|
||||
|
||||
if (!isValidFd(fd_) || isValidFd(fd)) {
|
||||
std::cout << "Failed fd validity after destruction (int constructor)"
|
||||
std::cout << "Failed fd validity after destruction (lvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
/*
|
||||
* Test creating FileDescriptor by taking ownership of
|
||||
* numerical file descriptor.
|
||||
*/
|
||||
int dupFd = dup(fd_);
|
||||
int dupFdCopy = dupFd;
|
||||
|
||||
desc1_ = new FileDescriptor(std::move(dupFd));
|
||||
if (desc1_->fd() != dupFdCopy) {
|
||||
std::cout << "Failed fd numerical check (rvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
if (dupFd != -1 || !isValidFd(fd_) || !isValidFd(desc1_->fd())) {
|
||||
std::cout << "Failed fd validity after construction (rvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
fd = desc1_->fd();
|
||||
|
||||
delete desc1_;
|
||||
desc1_ = nullptr;
|
||||
|
||||
if (!isValidFd(fd_) || isValidFd(fd)) {
|
||||
std::cout << "Failed fd validity after destruction (rvalue ref constructor)"
|
||||
<< std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue