Ticket #1676 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

t/pmc/io.t fails make corevm/make coretest

Reported by: mikehh Owned by:
Priority: normal Milestone:
Component: testing Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

At the moment this is the only test still failing in make corevm / make coretest. It fails 4 subtests:

t/pmc/io.t - Failed tests: 25, 27, 29, 31

The tests pass in make test.

All the tests are pasm based and fail with:

error:imcc:loadlib directive could not find library `io_ops'

at r47503 - Ubuntu 9.10 amd64 (g++)

after make corevm before make:

prove -v t/pmc/io.t                                                                                                                                                                                              
t/pmc/io.t ..                                                                                                                                                                                                                              
1..36                                                                                                                                                                                                                                      
not ok 1 - timely destruction # TODO TT #1659

#   Failed (TODO) test 'timely destruction'
#   at t/pmc/io.t line 44.
# Exited with error code: 1
# Received:
# error:imcc:syntax error, unexpected VAR, expecting '(' ('temp_file')
#       in file '/home/mhb/parrot/t/pmc/io_1.pir' line 10
# error:imcc:syntax error ... somewhere
#       in file '/home/mhb/parrot/t/pmc/io_1.pir' line 12
# 
# Expected:
# a line
# 
ok 2 - read on invalid fh should throw exception
ok 3 # skip clone not finished yet
ok 4 - open and readline
ok 5 - open and readline, no final newline
ok 6 - open & print
ok 7 - 3-arg open
ok 8 - open and close
ok 9 - file contents
ok 10 - append
ok 11 - append file contents
ok 12 - write to file
ok 13 - file contents
ok 14 - Parrot_io_flush on buffer full
ok 15 - buffered file contents
ok 16 - turn off buffering
ok 17 - unbuffered file contents
ok 18 - I/O buffering
ok 19 - standard file descriptors
ok 20 - puts method
ok 21 - puts method - PIR
ok 22 - callmethod puts
ok 23 - seek/tell
ok 24 - 32bit seek: exception
not ok 25 - 32bit seek: exception (ops)

#   Failed test '32bit seek: exception (ops)'
#   at t/pmc/io.t line 509.
#                   'error:imcc:loadlib directive could not find library `io_ops'
#       in file '/home/mhb/parrot/t/pmc/io_25.pasm' line 1
# '
#     doesn't match '/seek failed \(32bit\)/
# '
# './parrot   "/home/mhb/parrot/t/pmc/io_25.pasm"' failed with exit code 1
ok 26 - 64bit seek: exception
not ok 27 - 64bit seek: exception (ops)

#   Failed test '64bit seek: exception (ops)'
#   at t/pmc/io.t line 531.
#                   'error:imcc:loadlib directive could not find library `io_ops'
#       in file '/home/mhb/parrot/t/pmc/io_27.pasm' line 1
# '
#     doesn't match '/seek failed \(64bit\)/
# '
# './parrot   "/home/mhb/parrot/t/pmc/io_27.pasm"' failed with exit code 1
ok 28 - peek
not ok 29 - peek (ops)

#   Failed test 'peek (ops)'
#   at t/pmc/io.t line 566.
# Exited with error code: 1
# Received:
# error:imcc:loadlib directive could not find library `io_ops'
#       in file '/home/mhb/parrot/t/pmc/io_29.pasm' line 1
# 
# Expected:
# aa
# l
# 
ok 30 - peek on an empty file
not ok 31 - peek on an empty file (ops)

#   Failed test 'peek on an empty file (ops)'
#   at t/pmc/io.t line 606.
# Exited with error code: 1
# Received:
# error:imcc:loadlib directive could not find library `io_ops'
#       in file '/home/mhb/parrot/t/pmc/io_31.pasm' line 1
# 
# Expected:
# ok 1
# 
ok 32 - substr after reading from file
ok 33 - multiple substr after reading from file
ok 34 - utf8 read enabled, read parts
ok 35 - PIO.readall() - classmeth
ok 36 - PIO.readall() - object
# Looks like you failed 4 tests of 36.
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/36 subtests 
        (less 1 skipped subtest: 31 okay)

Test Summary Report
-------------------
t/pmc/io.t (Wstat: 1024 Tests: 36 Failed: 4)
  Failed tests:  25, 27, 29, 31
  Non-zero exit status: 4
Files=1, Tests=36,  4 wallclock secs ( 0.06 usr  0.01 sys +  0.68 cusr  0.36 csys =  1.11 CPU)
Result: FAIL

and after make:

prove -v t/pmc/io.t
t/pmc/io.t .. 
1..36
not ok 1 - timely destruction # TODO TT #1659
#   Failed (TODO) test 'timely destruction'
#   at t/pmc/io.t line 44.
# Exited with error code: 1
# Received:
# error:imcc:syntax error, unexpected VAR, expecting '(' ('temp_file')
#       in file '/home/mhb/parrot/t/pmc/io_1.pir' line 10
# error:imcc:syntax error ... somewhere
#       in file '/home/mhb/parrot/t/pmc/io_1.pir' line 12
# 
# Expected:
# a line
# 
ok 2 - read on invalid fh should throw exception
ok 3 # skip clone not finished yet
ok 4 - open and readline
ok 5 - open and readline, no final newline
ok 6 - open & print
ok 7 - 3-arg open
ok 8 - open and close
ok 9 - file contents
ok 10 - append
ok 11 - append file contents
ok 12 - write to file
ok 13 - file contents
ok 14 - Parrot_io_flush on buffer full
ok 15 - buffered file contents
ok 16 - turn off buffering
ok 17 - unbuffered file contents
ok 18 - I/O buffering
ok 19 - standard file descriptors
ok 20 - puts method
ok 21 - puts method - PIR
ok 22 - callmethod puts
ok 23 - seek/tell
ok 24 - 32bit seek: exception
ok 25 - 32bit seek: exception (ops)
ok 26 - 64bit seek: exception
ok 27 - 64bit seek: exception (ops)
ok 28 - peek
ok 29 - peek (ops)
ok 30 - peek on an empty file
ok 31 - peek on an empty file (ops)
ok 32 - substr after reading from file
ok 33 - multiple substr after reading from file
ok 34 - utf8 read enabled, read parts
ok 35 - PIO.readall() - classmeth
ok 36 - PIO.readall() - object
ok
All tests successful.
Files=1, Tests=36,  4 wallclock secs ( 0.09 usr  0.00 sys +  0.65 cusr  0.47 csys =  1.21 CPU)                                                                                                                                             
Result: PASS

Change History

Changed 5 years ago by mikehh

after fixes by plobsing++ the test now passes

make corevm/make coretest now passes all tests at r47517 - Ubuntu 9.10 amd64 (g++)

I will close the ticket tomorrow after i386 tests

Changed 5 years ago by jkeenan

Confirmed on linux/i386 and darwin/ppc (make coretest).

Changed 5 years ago by mikehh

  • status changed from new to closed
  • version changed from 2.4.0 to trunk
  • resolution set to fixed

Closing this ticket:

All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34306), fulltest) at r47544 - Ubuntu 10.04 i386 (g++ with --optimize)

and other platforms/options as far as I am aware

Note: See TracTickets for help on using tickets.