code: def test_planning_time_limit(self):
      in_shape = self.input_shapes["1d"]
      out_shape = self.output_shapes["1d"]
  
      axes = (0,)
      a, b = self.create_test_arrays(in_shape, out_shape)
  
      # run this a few times
      runs = 10
      t1 = time.time()
      for n in range(runs):
          forget_wisdom()
          fft = FFTW(a, b, axes=axes)
  
      unlimited_time = (time.time() - t1) / runs
  
      time_limit = (unlimited_time) / 8
  
      # Now do it again but with an upper limit on the time
      t1 = time.time()
      for n in range(runs):
          forget_wisdom()
          fft = FFTW(a, b, axes=axes, planning_timelimit=time_limit)
  
      limited_time = (time.time() - t1) / runs
  
      import sys
  
      if sys.platform == "win32":
          # Give a 6x margin on windows. The timers are low
          # precision and FFTW seems to take longer anyway.
          # Also, we need to allow for processor contention which
          # Appveyor seems prone to.
          self.assertTrue(limited_time < time_limit * 6)
      else:
          # Otherwise have a 2x margin
          self.assertTrue(limited_time < time_limit * 2)
  
imports: from pyfftw import FFTW, byte_align, empty_aligned, forget_wisdom
  import pyfftw
  import numpy
  from timeit import Timer
  import time
  import unittest
  from .test_pyfftw_base import FFTWBaseTest, run_test_suites, miss, np_fft
label_desc: Use image node_id 7 for calling the Complex64FFTW1DTest obj's underlying member method code with example usage: obj.test_planning_time_limit() without return types