From d25c31a70598c3abd3d5502f14cec4df31adc035 Mon Sep 17 00:00:00 2001 From: Ryosuke Okuta Date: Wed, 25 Apr 2018 10:28:27 +0900 Subject: [PATCH] Merge pull request #1172 from kmaehashi/fix-example-test-windows Fix example test to pass on Windows --- tests/example_tests/test_finance.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/example_tests/test_finance.py b/tests/example_tests/test_finance.py index b3575b311cc..0dffaf21422 100644 --- a/tests/example_tests/test_finance.py +++ b/tests/example_tests/test_finance.py @@ -1,3 +1,5 @@ +import os +import re import unittest import six @@ -7,18 +9,22 @@ from cupy import testing +def _normalize_regexp_eol(pattern): + return pattern.replace(r'\n', re.escape(os.linesep)) + + class TestBlackScholes(unittest.TestCase): def test_black_scholes(self): output = example_test.run_example( 'finance/black_scholes.py', '--n-options', '10') - six.assertRegex( - self, output.decode('utf-8'), + pattern = _normalize_regexp_eol( r'initializing...\n' + r'start computation\n' + r' CPU \(NumPy, Naive implementation\):\t[0-9\.]+ sec\n' + r' GPU \(CuPy, Naive implementation\):\t[0-9\.]+ sec\n' + r' GPU \(CuPy, Elementwise kernel\):\t[0-9\.]+ sec') + six.assertRegex(self, output.decode('utf-8'), pattern) class TestMonteCarlo(unittest.TestCase): @@ -28,14 +34,14 @@ def test_monte_carlo(self): 'finance/monte_carlo.py', '--n-options', '10', '--n-samples-per-thread', '10', '--n-threads-per-option', '10') - six.assertRegex( - self, output.decode('utf-8'), + pattern = _normalize_regexp_eol( r'initializing...\n' + r'start computation\n' + r' # of options: 10\n' + r' # of samples per option: 100\n' + r'GPU \(CuPy, Monte Carlo method\):\t[0-9\.]+ sec\n' + r'Error: [0-9\.]+') + six.assertRegex(self, output.decode('utf-8'), pattern) class TestMonteCarloWithMultiGPU(unittest.TestCase): @@ -47,8 +53,7 @@ def test_monte_carlo_multigpu(self): '--n-options', '10', '--n-samples-per-thread', '10', '--n-threads-per-option', '10') - six.assertRegex( - self, output.decode('utf-8'), + pattern = _normalize_regexp_eol( r'initializing...\n' + r'start computation\n' + r' # of gpus: 2\n' + @@ -56,3 +61,4 @@ def test_monte_carlo_multigpu(self): r' # of samples per option: 200\n' + r'GPU \(CuPy, Monte Carlo method\):\t[0-9\.]+ sec\n' + r'Error: [0-9\.]+') + six.assertRegex(self, output.decode('utf-8'), pattern)