[SystemZ][z/OS] Avoid assumption for character value in futures tests
The aim of this patch is to remove the assumption that the character 'a' is always 97. In turn, this patch explicitly uses the character values to account for the EBCDIC 'a' that is not 97. Differential Revision: https://reviews.llvm.org/D108321
This commit is contained in:
parent
6ce6fa4ad4
commit
3f05377d57
|
@ -39,7 +39,7 @@ int main(int, char**)
|
|||
assert(!p0.valid());
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
}
|
||||
{
|
||||
|
|
|
@ -47,7 +47,7 @@ int main(int, char**)
|
|||
std::packaged_task<double(int, char)> p(A(5));
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
assert(A::n_copies == 0);
|
||||
assert(A::n_moves > 0);
|
||||
|
@ -59,7 +59,7 @@ int main(int, char**)
|
|||
std::packaged_task<double(int, char)> p(a);
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
assert(A::n_copies > 0);
|
||||
assert(A::n_moves > 0);
|
||||
|
|
|
@ -38,7 +38,7 @@ int main(int, char**)
|
|||
assert(!p0.valid());
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
}
|
||||
{
|
||||
|
|
|
@ -35,10 +35,7 @@ void func(std::packaged_task<double(int, char)>)
|
|||
{
|
||||
}
|
||||
|
||||
void func2(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
p(3, 'a');
|
||||
}
|
||||
void func2(std::packaged_task<double(int, char)> p) { p(3, 97); }
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
|
|
|
@ -35,7 +35,7 @@ int main(int, char**)
|
|||
{
|
||||
std::packaged_task<double(int, char)> p(A(5));
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
}
|
||||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||
|
|
|
@ -30,31 +30,30 @@ public:
|
|||
|
||||
long operator()(long i, long j) const
|
||||
{
|
||||
if (j == 'z')
|
||||
TEST_THROW(A(6));
|
||||
return data_ + i + j;
|
||||
if (j == 122)
|
||||
TEST_THROW(A(6));
|
||||
return data_ + i + j;
|
||||
}
|
||||
};
|
||||
|
||||
void func0(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
p.make_ready_at_thread_exit(3, 'a');
|
||||
p.make_ready_at_thread_exit(3, 97);
|
||||
}
|
||||
|
||||
void func1(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
p.make_ready_at_thread_exit(3, 'z');
|
||||
p.make_ready_at_thread_exit(3, 122);
|
||||
}
|
||||
|
||||
void func2(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||
p.make_ready_at_thread_exit(3, 'a');
|
||||
try
|
||||
{
|
||||
p.make_ready_at_thread_exit(3, 'c');
|
||||
p.make_ready_at_thread_exit(3, 97);
|
||||
try {
|
||||
p.make_ready_at_thread_exit(3, 99);
|
||||
}
|
||||
catch (const std::future_error& e)
|
||||
{
|
||||
|
@ -70,7 +69,7 @@ void func3(std::packaged_task<double(int, char)> p)
|
|||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||
try
|
||||
{
|
||||
p.make_ready_at_thread_exit(3, 'a');
|
||||
p.make_ready_at_thread_exit(3, 97);
|
||||
}
|
||||
catch (const std::future_error& e)
|
||||
{
|
||||
|
@ -101,7 +100,7 @@ int main(int, char**)
|
|||
}
|
||||
catch (const A& e)
|
||||
{
|
||||
assert(e(3, 'a') == 106);
|
||||
assert(e(3, 97) == 106.0);
|
||||
}
|
||||
}
|
||||
{
|
||||
|
|
|
@ -30,31 +30,30 @@ public:
|
|||
|
||||
long operator()(long i, long j) const
|
||||
{
|
||||
if (j == 'z')
|
||||
TEST_THROW(A(6));
|
||||
return data_ + i + j;
|
||||
if (j == 122)
|
||||
TEST_THROW(A(6));
|
||||
return data_ + i + j;
|
||||
}
|
||||
};
|
||||
|
||||
void func0(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
}
|
||||
|
||||
void func1(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
p(3, 'z');
|
||||
p(3, 122);
|
||||
}
|
||||
|
||||
void func2(std::packaged_task<double(int, char)> p)
|
||||
{
|
||||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||
p(3, 'a');
|
||||
try
|
||||
{
|
||||
p(3, 'c');
|
||||
p(3, 97);
|
||||
try {
|
||||
p(3, 99);
|
||||
}
|
||||
catch (const std::future_error& e)
|
||||
{
|
||||
|
@ -70,7 +69,7 @@ void func3(std::packaged_task<double(int, char)> p)
|
|||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||
try
|
||||
{
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
}
|
||||
catch (const std::future_error& e)
|
||||
{
|
||||
|
@ -101,7 +100,7 @@ int main(int, char**)
|
|||
}
|
||||
catch (const A& e)
|
||||
{
|
||||
assert(e(3, 'a') == 106);
|
||||
assert(e(3, 97) == 106.0);
|
||||
}
|
||||
}
|
||||
{
|
||||
|
|
|
@ -38,10 +38,10 @@ int main(int, char**)
|
|||
{
|
||||
std::packaged_task<double(int, char)> p(A(5));
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
p.reset();
|
||||
p(4, 'a');
|
||||
p(4, 97);
|
||||
f = p.get_future();
|
||||
assert(f.get() == 106.0);
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ int main(int, char**)
|
|||
assert(!p0.valid());
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
}
|
||||
{
|
||||
|
|
|
@ -41,7 +41,7 @@ int main(int, char**)
|
|||
assert(!p0.valid());
|
||||
assert(p.valid());
|
||||
std::future<double> f = p.get_future();
|
||||
p(3, 'a');
|
||||
p(3, 97);
|
||||
assert(f.get() == 105.0);
|
||||
}
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue