├── .github ├── dependabot.yml └── workflows │ └── build.yml ├── .gitignore ├── .indent.pro ├── AUTHORS ├── Config.in ├── INSTALL ├── LICENSE ├── Makefile ├── Makefile.custom ├── Makefile.flags ├── Makefile.help ├── NOFORK_NOEXEC.lst ├── NOFORK_NOEXEC.sh ├── README ├── README.md ├── TODO ├── TODO_unicode ├── applets ├── .gitignore ├── Kbuild.src ├── applet_tables.c ├── applets.c ├── busybox.mkll ├── busybox.mkscripts ├── busybox.mksuid ├── individual.c ├── install.sh ├── usage.c ├── usage_compressed └── usage_pod.c ├── applets_sh ├── mim └── nologin ├── arch ├── i386 │ └── Makefile ├── sparc │ └── Makefile ├── sparc64 │ └── Makefile └── x86_64 │ └── Makefile ├── archival ├── Config.src ├── Kbuild.src ├── ar.c ├── bbunzip.c ├── bbunzip_test.sh ├── bbunzip_test2.sh ├── bbunzip_test3.sh ├── bzip2.c ├── chksum_and_xwrite_tar_header.c ├── cpio.c ├── dpkg.c ├── dpkg_deb.c ├── gzip.c ├── libarchive │ ├── Kbuild.src │ ├── bz │ │ ├── LICENSE │ │ ├── README │ │ ├── blocksort.c │ │ ├── bzlib.c │ │ ├── bzlib.h │ │ ├── bzlib_private.h │ │ ├── compress.c │ │ └── huffman.c │ ├── common.c │ ├── data_align.c │ ├── data_extract_all.c │ ├── data_extract_to_command.c │ ├── data_extract_to_stdout.c │ ├── data_skip.c │ ├── decompress_bunzip2.c │ ├── decompress_gunzip.c │ ├── decompress_uncompress.c │ ├── decompress_unlzma.c │ ├── decompress_unxz.c │ ├── filter_accept_all.c │ ├── filter_accept_list.c │ ├── filter_accept_list_reassign.c │ ├── filter_accept_reject_list.c │ ├── find_list_entry.c │ ├── get_header_ar.c │ ├── get_header_cpio.c │ ├── get_header_tar.c │ ├── get_header_tar_bz2.c │ ├── get_header_tar_gz.c │ ├── get_header_tar_lzma.c │ ├── get_header_tar_xz.c │ ├── header_list.c │ ├── header_skip.c │ ├── header_verbose_list.c │ ├── init_handle.c │ ├── liblzo.h │ ├── lzo1x_1.c │ ├── lzo1x_1o.c │ ├── lzo1x_9x.c │ ├── lzo1x_c.c │ ├── lzo1x_d.c │ ├── open_transformer.c │ ├── seek_by_jump.c │ ├── seek_by_read.c │ ├── unpack_ar_archive.c │ ├── unsafe_prefix.c │ ├── unsafe_symlink_target.c │ └── unxz │ │ ├── README │ │ ├── xz.h │ │ ├── xz_config.h │ │ ├── xz_dec_bcj.c │ │ ├── xz_dec_lzma2.c │ │ ├── xz_dec_stream.c │ │ ├── xz_lzma2.h │ │ ├── xz_private.h │ │ └── xz_stream.h ├── lzop.c ├── rpm.c ├── rpm.h ├── tar.c ├── tar_symlink_attack └── unzip.c ├── busybox_ldscript.README.txt ├── configs ├── TEST_nommu_defconfig ├── TEST_noprintf_defconfig ├── TEST_rh9_defconfig ├── android2_defconfig ├── android_502_defconfig ├── android_defconfig ├── android_ndk_defconfig ├── cygwin_defconfig ├── freebsd_defconfig ├── mingw32_defconfig └── mingw64_defconfig ├── console-tools ├── Config.src ├── Kbuild.src ├── chvt.c ├── clear.c ├── deallocvt.c ├── dumpkmap.c ├── fgconsole.c ├── kbd_mode.c ├── loadfont.c ├── loadkmap.c ├── openvt.c ├── reset.c ├── resize.c ├── setconsole.c ├── setkeycodes.c ├── setlogcons.c └── showkey.c ├── coreutils ├── Config.src ├── Kbuild.src ├── basename.c ├── cat.c ├── chgrp.c ├── chmod.c ├── chown.c ├── chroot.c ├── cksum.c ├── comm.c ├── cp.c ├── cut.c ├── date.c ├── dd.c ├── df.c ├── dirname.c ├── dos2unix.c ├── du.c ├── echo.c ├── env.c ├── expand.c ├── expr.c ├── factor.c ├── false.c ├── fold.c ├── head.c ├── hostid.c ├── id.c ├── id_test.sh ├── install.c ├── libcoreutils │ ├── Kbuild.src │ ├── coreutils.h │ ├── cp_mv_stat.c │ └── getopt_mk_fifo_nod.c ├── link.c ├── ln.c ├── logname.c ├── ls.c ├── md5_sha1_sum.c ├── mkdir.c ├── mkfifo.c ├── mknod.c ├── mktemp.c ├── mv.c ├── nice.c ├── nl.c ├── nohup.c ├── nproc.c ├── od.c ├── od_bloaty.c ├── paste.c ├── printenv.c ├── printf.c ├── pwd.c ├── readlink.c ├── realpath.c ├── rm.c ├── rmdir.c ├── seq.c ├── shred.c ├── shuf.c ├── sleep.c ├── sort.c ├── split.c ├── stat.c ├── stty.c ├── sum.c ├── sync.c ├── tac.c ├── tail.c ├── tee.c ├── test.c ├── test_ptr_hack.c ├── timeout.c ├── touch.c ├── tr.c ├── true.c ├── truncate.c ├── tsort.c ├── tty.c ├── uname.c ├── uniq.c ├── unlink.c ├── usleep.c ├── uudecode.c ├── uuencode.c ├── wc.c ├── who.c ├── whoami.c └── yes.c ├── debianutils ├── Config.src ├── Kbuild.src ├── pipe_progress.c ├── run_parts.c ├── start_stop_daemon.c └── which.c ├── docs ├── .gitignore ├── Kconfig-language.txt ├── Serial-Programming-HOWTO.txt ├── busybox_footer.pod ├── busybox_header.pod ├── cgi │ ├── cl.html │ ├── env.html │ ├── in.html │ ├── interface.html │ └── out.html ├── contributing.txt ├── ctty.htm ├── draft-coar-cgi-v11-03-clean.html ├── embedded-scripts.txt ├── ifupdown_design.txt ├── keep_data_small.txt ├── logging_and_backgrounding.txt ├── mdev.txt ├── new-applet-HOWTO.txt ├── nofork_noexec.txt ├── posix_conformance.txt ├── sigint.htm ├── smallint.txt ├── style-guide.txt ├── syslog.conf.txt ├── tar_pax.txt ├── tcp.txt ├── unicode.txt ├── unicode_UTF-8-test.txt ├── unicode_full-bmp.txt └── unit-tests.txt ├── e2fsprogs ├── Config.src ├── Kbuild.src ├── README ├── chattr.c ├── e2fs_lib.c ├── e2fs_lib.h ├── fsck.c ├── lsattr.c └── tune2fs.c ├── editors ├── Config.src ├── Kbuild.src ├── awk.c ├── cmp.c ├── diff.c ├── ed.c ├── patch.c ├── patch_bbox.c ├── patch_toybox.c ├── sed.c ├── sed1line.txt ├── sed_summary.htm └── vi.c ├── examples ├── android-build ├── bootfloppy │ ├── bootfloppy.txt │ ├── display.txt │ ├── etc │ │ ├── fstab │ │ ├── init.d │ │ │ └── rcS │ │ ├── inittab │ │ └── profile │ ├── mkdevs.sh │ ├── mkrootfs.sh │ ├── mksyslinux.sh │ ├── quickstart.txt │ └── syslinux.cfg ├── busybox.spec ├── depmod ├── depmod.pl ├── devfsd.conf ├── dnsd.conf ├── inetd.conf ├── inittab ├── linux-2.6.30_proc_self_exe.patch ├── mdev.conf ├── mdev.conf.change_blockdev.sh ├── mdev_fat.conf ├── mk2knr.pl ├── shutdown-1.0 │ ├── README │ └── script │ │ ├── do_shutdown │ │ ├── hardshutdown.c │ │ ├── hardshutdown.make.sh │ │ ├── shutdown │ │ ├── stop_storage │ │ └── stop_tasks ├── udhcp │ ├── sample.bound │ ├── sample.deconfig │ ├── sample.nak │ ├── sample.renew │ ├── sample.script │ ├── simple.script │ └── udhcpd.conf ├── undeb ├── unrpm ├── var_service │ ├── README │ ├── README_distro_proposal.txt │ ├── dhcp_if │ │ ├── convert2ipconf │ │ ├── convert2ntpconf │ │ ├── dhcp_handler │ │ ├── finish │ │ ├── log │ │ │ └── run │ │ └── run │ ├── dhcp_if_pinger │ │ └── run │ ├── dhcpd_if │ │ ├── log │ │ │ └── run │ │ ├── run │ │ ├── udhcpd.conf │ │ ├── w_dumpleases │ │ └── w_dumpleases_countdown │ ├── dnsmasq │ │ ├── README │ │ ├── dnsmasq.conf │ │ ├── log │ │ │ └── run │ │ └── run │ ├── ftpd │ │ ├── log │ │ │ └── run │ │ └── run │ ├── fw │ │ ├── conf │ │ │ ├── 11.22.33.44.ipconf-- │ │ │ ├── 192.168.0.1.ipconf │ │ │ └── lo.ipconf │ │ ├── etc │ │ │ ├── dnsmasq_servers.conf │ │ │ ├── hosts │ │ │ └── resolv.conf │ │ ├── run │ │ └── stat │ ├── getty_tty1 │ │ ├── alt08x16+unimap.fnt │ │ ├── cfg │ │ ├── koi8r_to_uni.trans │ │ ├── login.sh │ │ ├── run │ │ └── unicode_cyrillic.keymap │ ├── gpm │ │ └── run │ ├── httpd │ │ ├── log │ │ │ └── run │ │ └── run │ ├── ifplugd_if │ │ ├── ifplugd_handler │ │ ├── log │ │ │ └── run │ │ └── run │ ├── inetd │ │ ├── inetd.conf │ │ ├── log │ │ │ └── run │ │ └── run │ ├── nmeter │ │ └── run │ ├── ntpd │ │ ├── log │ │ │ └── run │ │ ├── ntp.script │ │ ├── p_log_important │ │ └── run │ ├── std_service_logger │ ├── supplicant_if │ │ ├── log │ │ │ └── run │ │ ├── run │ │ └── wpa_supplicant.conf │ ├── sview │ ├── svpage │ ├── tftpd │ │ ├── log │ │ │ └── run │ │ └── run │ └── zcip_if │ │ ├── convert2ipconf │ │ ├── finish │ │ ├── log │ │ └── run │ │ ├── run │ │ └── zcip_handler └── zcip.script ├── findutils ├── Config.src ├── Kbuild.src ├── find.c ├── grep.c └── xargs.c ├── include ├── .gitignore ├── applet_metadata.h ├── applets.h.sh ├── applets.src.h ├── ar_.h ├── bb_archive.h ├── bb_e2fs_defs.h ├── busybox.h ├── dump.h ├── fix_u32.h ├── grp_.h ├── inet_common.h ├── libbb.h ├── liblzo_interface.h ├── mingw.h ├── platform.h ├── pwd_.h ├── rtc_.h ├── shadow_.h ├── unicode.h ├── usage.src.h ├── volume_id.h ├── xatonum.h └── xregex.h ├── init ├── Config.src ├── Kbuild.src ├── bootchartd.c ├── halt.c ├── init.c └── reboot.h ├── klibc-utils ├── Config.src ├── Kbuild.src ├── ipconfig.c.txt ├── minips.c ├── nuke.c ├── resume.c └── run-init.c ├── libbb ├── Config.src ├── Kbuild.src ├── README ├── appletlib.c ├── ask_confirmation.c ├── auto_string.c ├── bb_askpass.c ├── bb_bswap_64.c ├── bb_cat.c ├── bb_do_delay.c ├── bb_getgroups.c ├── bb_getsockname.c ├── bb_pwd.c ├── bb_qsort.c ├── bb_strtod.c ├── bb_strtonum.c ├── bbunit.c ├── capability.c ├── change_identity.c ├── chomp.c ├── common_bufsiz.c ├── compare_string_array.c ├── concat_path_file.c ├── concat_subpath_file.c ├── const_hack.c ├── copy_file.c ├── copyfd.c ├── correct_password.c ├── crc32.c ├── default_error_retval.c ├── device_open.c ├── die_if_bad_username.c ├── dump.c ├── duration.c ├── endofname.c ├── executable.c ├── fclose_nonstdin.c ├── fflush_stdout_and_exit.c ├── fgets_str.c ├── find_mount_point.c ├── find_pid_by_name.c ├── find_root_device.c ├── full_write.c ├── get_console.c ├── get_cpu_count.c ├── get_last_path_component.c ├── get_line_from_file.c ├── get_shell_name.c ├── get_volsize.c ├── getopt32.c ├── getopt_allopts.c ├── getpty.c ├── hash_md5_sha.c ├── hash_md5_sha256_x86-32_shaNI.S ├── hash_md5_sha256_x86-64_shaNI.S ├── hash_md5_sha_x86-32_shaNI.S ├── hash_md5_sha_x86-64.S ├── hash_md5_sha_x86-64.S.sh ├── hash_md5_sha_x86-64_shaNI.S ├── hash_md5prime.c ├── herror_msg.c ├── human_readable.c ├── in_ether.c ├── inet_cksum.c ├── inet_common.c ├── inode_hash.c ├── isdirectory.c ├── isqrt.c ├── iterate_on_dir.c ├── kernel_version.c ├── last_char_is.c ├── lineedit.c ├── lineedit_ptr_hack.c ├── llist.c ├── logenv.c ├── login.c ├── loop.c ├── make_directory.c ├── makedev.c ├── match_fstype.c ├── messages.c ├── missing_syscalls.c ├── mode_string.c ├── mtab.c ├── nuke_str.c ├── obscure.c ├── parse_config.c ├── parse_mode.c ├── percent_decode.c ├── perror_msg.c ├── perror_nomsg.c ├── perror_nomsg_and_die.c ├── pidfile.c ├── platform.c ├── print_flags.c ├── print_numbered_lines.c ├── printable.c ├── printable_string.c ├── process_escape_sequence.c ├── procps.c ├── progress.c ├── ptr_to_globals.c ├── pw_encrypt.c ├── pw_encrypt_des.c ├── pw_encrypt_md5.c ├── pw_encrypt_sha.c ├── read.c ├── read_key.c ├── read_printf.c ├── recursive_action.c ├── remove_file.c ├── replace.c ├── rtc.c ├── run_shell.c ├── safe_gethostname.c ├── safe_poll.c ├── safe_strncpy.c ├── safe_write.c ├── securetty.c ├── selinux_common.c ├── setup_environment.c ├── signals.c ├── simplify_path.c ├── single_argv.c ├── skip_whitespace.c ├── speed_table.c ├── str_tolower.c ├── strrstr.c ├── sysconf.c ├── time.c ├── trim.c ├── u_signal_names.c ├── ubi.c ├── udp_io.c ├── unicode.c ├── update_passwd.c ├── utmp.c ├── uuencode.c ├── verror_msg.c ├── vfork_daemon_rexec.c ├── warn_ignoring_args.c ├── wfopen.c ├── wfopen_input.c ├── write.c ├── xatonum.c ├── xatonum_template.c ├── xconnect.c ├── xfunc_die.c ├── xfuncs.c ├── xfuncs_printf.c ├── xgetcwd.c ├── xgethostbyname.c ├── xreadlink.c ├── xrealloc_vector.c └── xregcomp.c ├── libpwdgrp ├── Kbuild.src ├── pwd_grp.c └── uidgid_get.c ├── loginutils ├── Config.src ├── Kbuild.src ├── README ├── add-remove-shell.c ├── addgroup.c ├── adduser.c ├── chpasswd.c ├── cryptpw.c ├── deluser.c ├── getty.c ├── login.c ├── passwd.c ├── su.c ├── sulogin.c ├── suw32.c └── vlock.c ├── mailutils ├── Config.src ├── Kbuild.src ├── mail.c ├── mail.h ├── makemime.c ├── popmaildir.c ├── reformime.c └── sendmail.c ├── make_single_applets.sh ├── miscutils ├── Config.src ├── Kbuild.src ├── adjtimex.c ├── ascii.c ├── bbconfig.c ├── bc.c ├── beep.c ├── chat.c ├── conspy.c ├── crond.c ├── crontab.c ├── cygpath.c ├── dc.c ├── devfsd.c ├── devmem.c ├── fbsplash.c ├── fbsplash.cfg ├── flash_eraseall.c ├── flash_lock_unlock.c ├── flashcp.c ├── hdparm.c ├── hexedit.c ├── i2c_tools.c ├── iconv.c ├── inotifyd.c ├── jn.c ├── less.c ├── lsscsi.c ├── makedevs.c ├── man.c ├── microcom.c ├── mim.c ├── mt.c ├── nandwrite.c ├── partprobe.c ├── raidautorun.c ├── readahead.c ├── rfkill.c ├── runlevel.c ├── rx.c ├── seedrng.c ├── setfattr.c ├── setserial.c ├── strings.c ├── time.c ├── ts.c ├── ttysize.c ├── ubi_tools.c ├── ubirename.c ├── volname.c └── watchdog.c ├── modutils ├── Config.src ├── Kbuild.src ├── depmod.c ├── depmod_process.sh ├── insmod.c ├── lsmod.c ├── modinfo.c ├── modprobe-small.c ├── modprobe.c ├── modutils-24.c ├── modutils.c ├── modutils.h └── rmmod.c ├── networking ├── Config.src ├── Kbuild.src ├── arp.c ├── arping.c ├── brctl.c ├── dnsd.c ├── ether-wake.c ├── ftpd.c ├── ftpgetput.c ├── hostname.c ├── httpd.c ├── httpd_helpers.sh ├── httpd_indexcgi.c ├── httpd_post_upload.cgi ├── httpd_ssi.c ├── ifconfig.c ├── ifenslave.c ├── ifplugd.c ├── ifupdown.c ├── inetd.c ├── interface.c ├── ip.c ├── ipcalc.c ├── isrv.c ├── isrv.h ├── isrv_identd.c ├── libiproute │ ├── Kbuild.src │ ├── ip_common.h │ ├── ip_parse_common_args.c │ ├── ipaddress.c │ ├── iplink.c │ ├── ipneigh.c │ ├── iproute.c │ ├── iprule.c │ ├── iptunnel.c │ ├── libnetlink.c │ ├── libnetlink.h │ ├── ll_addr.c │ ├── ll_map.c │ ├── ll_map.h │ ├── ll_proto.c │ ├── ll_types.c │ ├── rt_names.c │ ├── rt_names.h │ ├── rtm_map.c │ ├── rtm_map.h │ ├── utils.c │ └── utils.h ├── nameif.c ├── nbd-client.c ├── nc.c ├── nc_bloaty.c ├── netstat.c ├── nslookup.c ├── ntpd.c ├── ntpd.diff ├── parse_pasv_epsv.c ├── ping.c ├── pscan.c ├── route.c ├── slattach.c ├── ssl_client.c ├── ssl_helper-wolfssl │ ├── 00cfg-wolfssl-3.6.8 │ ├── 00cfg-wolfssl-3.9.8 │ ├── README │ ├── ssl_helper.c │ └── ssl_helper.sh ├── ssl_helper │ ├── README │ ├── ssl_helper.c │ └── ssl_helper.sh ├── tc.c ├── tcpudp.c ├── tcpudp_perhost.c ├── tcpudp_perhost.h ├── telnet.c ├── telnetd.IAC_test.sh ├── telnetd.c ├── telnetd.ctrlSQ.patch ├── tftp.c ├── tls.c ├── tls.h ├── tls_aes.c ├── tls_aes.h ├── tls_aesgcm.c ├── tls_aesgcm.h ├── tls_fe.c ├── tls_pstm.c ├── tls_pstm.h ├── tls_pstm_montgomery_reduce.c ├── tls_pstm_mul_comba.c ├── tls_pstm_sqr_comba.c ├── tls_rsa.c ├── tls_rsa.h ├── tls_sp_c32.c ├── traceroute.c ├── tunctl.c ├── udhcp │ ├── Config.src │ ├── Kbuild.src │ ├── arpping.c │ ├── common.c │ ├── common.h │ ├── d6_common.h │ ├── d6_dhcpc.c │ ├── d6_packet.c │ ├── d6_socket.c │ ├── dhcpc.c │ ├── dhcpc.h │ ├── dhcpd.c │ ├── dhcpd.h │ ├── dhcprelay.c │ ├── domain_codec.c │ ├── dumpleases.c │ ├── packet.c │ ├── signalpipe.c │ └── socket.c ├── vconfig.c ├── wget.c ├── whois.c └── zcip.c ├── printutils ├── Config.src ├── Kbuild.src ├── lpd.c └── lpr.c ├── procps ├── Config.src ├── Kbuild.src ├── free.c ├── fuser.c ├── iostat.c ├── kill.c ├── lsof.c ├── mpstat.c ├── nmeter.c ├── pgrep.c ├── pidof.c ├── pmap.c ├── powertop.c ├── ps.c ├── ps.posix ├── pstree.c ├── pwdx.c ├── smemcap.c ├── sysctl.c ├── top.c ├── uptime.c └── watch.c ├── qemu_multiarch_testing ├── README ├── extract_od_binary.sh ├── extract_uuencoded_binary.sh ├── hdc.dir │ ├── build │ └── init ├── make-hdc-img.sh └── parallel-build-hdc-img.sh ├── runit ├── Config.src ├── Kbuild.src ├── chpst.c ├── runit_lib.h ├── runsv.c ├── runsvdir.c ├── sv.c └── svlogd.c ├── scripts ├── Kbuild.include ├── Kbuild.src ├── Makefile.IMA ├── Makefile.build ├── Makefile.clean ├── Makefile.host ├── Makefile.lib ├── basic │ ├── .gitignore │ ├── Makefile │ ├── docproc.c │ ├── fixdep.c │ └── split-include.c ├── bb_release ├── bloat-o-meter ├── checkhelp.awk ├── checkstack.pl ├── cleanup_printf2puts ├── echo.c ├── embedded_scripts ├── find_bad_common_bufsiz ├── find_stray_common_vars ├── find_stray_empty_lines ├── fix_ws.sh ├── gcc-version.sh ├── gen_build_files.sh ├── generate_BUFSIZ.sh ├── kconfig │ ├── .gitignore │ ├── Makefile │ ├── POTFILES.in │ ├── check.sh │ ├── conf.c │ ├── confdata.c │ ├── expr.c │ ├── expr.h │ ├── gconf.c │ ├── gconf.glade │ ├── images.c │ ├── kconfig_load.c │ ├── kxgettext.c │ ├── lex.zconf.c_shipped │ ├── lkc.h │ ├── lkc_proto.h │ ├── lxdialog │ │ ├── .gitignore │ │ ├── BIG.FAT.WARNING │ │ ├── Makefile │ │ ├── check-lxdialog.sh │ │ ├── checklist.c │ │ ├── colors.h │ │ ├── dialog.h │ │ ├── inputbox.c │ │ ├── lxdialog.c │ │ ├── menubox.c │ │ ├── msgbox.c │ │ ├── textbox.c │ │ ├── util.c │ │ └── yesno.c │ ├── mconf.c │ ├── menu.c │ ├── qconf.cc │ ├── qconf.h │ ├── symbol.c │ ├── util.c │ ├── zconf.gperf │ ├── zconf.hash.c_shipped │ ├── zconf.l │ ├── zconf.tab.c_shipped │ └── zconf.y ├── memusage ├── mkconfigs ├── mkdiff_obj ├── mkdiff_obj_bloat ├── mkmakefile ├── objsizes ├── randomtest ├── randomtest.loop ├── sample_pmap ├── showasm ├── test_make_O ├── test_make_clean ├── test_setenv_leak.c └── trylink ├── selinux ├── Config.src ├── Kbuild.src ├── chcon.c ├── getenforce.c ├── getsebool.c ├── load_policy.c ├── matchpathcon.c ├── runcon.c ├── selinuxenabled.c ├── sestatus.c ├── setenforce.c ├── setfiles.c └── setsebool.c ├── shell ├── Config.src ├── Kbuild.src ├── README ├── README.job ├── ash.c ├── ash_doc.txt ├── ash_ptr_hack.c ├── ash_remove_unnecessary_code_in_backquote_expansion.patch ├── ash_test │ ├── .gitignore │ ├── ash-alias │ │ ├── alias.right │ │ ├── alias.tests │ │ ├── alias_brace.right │ │ ├── alias_brace.tests │ │ ├── alias_case.right │ │ └── alias_case.tests │ ├── ash-arith │ │ ├── README.ash │ │ ├── arith-bash1.right │ │ ├── arith-bash1.tests │ │ ├── arith-for.right │ │ ├── arith-for.testsx │ │ ├── arith-postinc.right │ │ ├── arith-postinc.tests │ │ ├── arith.right │ │ ├── arith.tests │ │ ├── arith1.sub │ │ ├── arith2.sub │ │ ├── arith_nested1.right │ │ └── arith_nested1.tests │ ├── ash-comm │ │ ├── comm.right │ │ └── comm.tests │ ├── ash-getopts │ │ ├── getopt_nested.right │ │ ├── getopt_nested.tests │ │ ├── getopt_optarg.right │ │ ├── getopt_optarg.tests │ │ ├── getopt_positional.right │ │ ├── getopt_positional.tests │ │ ├── getopt_silent.right │ │ ├── getopt_silent.tests │ │ ├── getopt_simple.right │ │ ├── getopt_simple.tests │ │ ├── getopt_test_libc_bug.right │ │ └── getopt_test_libc_bug.tests │ ├── ash-glob │ │ ├── glob1.right │ │ ├── glob1.tests │ │ ├── glob2.right │ │ ├── glob2.tests │ │ ├── glob3.right │ │ ├── glob3.tests │ │ ├── glob_altvalue1.right │ │ ├── glob_altvalue1.tests │ │ ├── glob_and_assign.right │ │ ├── glob_and_assign.tests │ │ ├── glob_bkslash_in_var.right │ │ ├── glob_bkslash_in_var.tests │ │ ├── glob_dir.right │ │ ├── glob_dir.tests │ │ ├── glob_redir.right │ │ └── glob_redir.tests │ ├── ash-heredoc │ │ ├── heredoc.right │ │ ├── heredoc.tests │ │ ├── heredoc1.right │ │ ├── heredoc1.tests │ │ ├── heredoc2.right │ │ ├── heredoc2.tests │ │ ├── heredoc3.right │ │ ├── heredoc3.tests │ │ ├── heredoc4.right │ │ ├── heredoc4.tests │ │ ├── heredoc5.right │ │ ├── heredoc5.tests │ │ ├── heredoc6.right │ │ ├── heredoc6.tests │ │ ├── heredoc7.right │ │ ├── heredoc7.tests │ │ ├── heredoc8.right │ │ ├── heredoc8.tests │ │ ├── heredoc9.right │ │ ├── heredoc9.tests │ │ ├── heredocA.right │ │ ├── heredocA.tests │ │ ├── heredocB.right │ │ ├── heredocB.tests │ │ ├── heredoc_after_compound1.right │ │ ├── heredoc_after_compound1.tests │ │ ├── heredoc_backquote1.right │ │ ├── heredoc_backquote1.tests │ │ ├── heredoc_backslash1.right │ │ ├── heredoc_backslash1.tests │ │ ├── heredoc_bkslash_newline1.right │ │ ├── heredoc_bkslash_newline1.tests │ │ ├── heredoc_bkslash_newline2.right │ │ ├── heredoc_bkslash_newline2.tests │ │ ├── heredoc_empty.right │ │ ├── heredoc_empty.tests │ │ ├── heredoc_empty2.right │ │ ├── heredoc_empty2.tests │ │ ├── heredoc_empty3.right │ │ ├── heredoc_empty3.tests │ │ ├── heredoc_huge.right │ │ ├── heredoc_huge.tests │ │ ├── heredoc_side_effects.right │ │ ├── heredoc_side_effects.tests │ │ ├── heredoc_var_expand1.right │ │ └── heredoc_var_expand1.tests │ ├── ash-invert │ │ ├── invert.right │ │ └── invert.tests │ ├── ash-misc │ │ ├── and-or.right │ │ ├── and-or.tests │ │ ├── assignment1.right │ │ ├── assignment1.tests │ │ ├── assignment2.right │ │ ├── assignment2.tests │ │ ├── assignment3.right │ │ ├── assignment3.tests │ │ ├── assignment4.right │ │ ├── assignment4.tests │ │ ├── assignment5.right │ │ ├── assignment5.tests │ │ ├── break1.right │ │ ├── break1.tests │ │ ├── break2.right │ │ ├── break2.tests │ │ ├── break3.right │ │ ├── break3.tests │ │ ├── break4.right │ │ ├── break4.tests │ │ ├── break5.right │ │ ├── break5.tests │ │ ├── builtin1.right │ │ ├── builtin1.tests │ │ ├── case1.right │ │ ├── case1.tests │ │ ├── colon.right │ │ ├── colon.tests │ │ ├── command.right │ │ ├── command.tests │ │ ├── command2.right │ │ ├── command2.tests │ │ ├── compound.right │ │ ├── compound.tests │ │ ├── continue1.right │ │ ├── continue1.tests │ │ ├── continue2.right │ │ ├── continue2.tests │ │ ├── continue3.right │ │ ├── continue3.tests │ │ ├── control_char1.right │ │ ├── control_char1.tests │ │ ├── control_char2.right │ │ ├── control_char2.tests │ │ ├── control_char3.right │ │ ├── control_char3.tests │ │ ├── control_char4.right │ │ ├── control_char4.tests │ │ ├── echo_write_error.right │ │ ├── echo_write_error.tests │ │ ├── empty_args.right │ │ ├── empty_args.tests │ │ ├── empty_for.right │ │ ├── empty_for.tests │ │ ├── empty_for1.right │ │ ├── empty_for1.tests │ │ ├── empty_for2.right │ │ ├── empty_for2.tests │ │ ├── env_and_func.right │ │ ├── env_and_func.tests │ │ ├── errexit1.right │ │ ├── errexit1.tests │ │ ├── eval1.right │ │ ├── eval1.tests │ │ ├── eval2.right │ │ ├── eval2.tests │ │ ├── exec.right │ │ ├── exec.tests │ │ ├── exit1.right │ │ ├── exit1.tests │ │ ├── exitcode1.right │ │ ├── exitcode1.tests │ │ ├── exitcode2.right │ │ ├── exitcode2.tests │ │ ├── exitcode_EACCES.right │ │ ├── exitcode_EACCES.tests │ │ ├── exitcode_ENOENT.right │ │ ├── exitcode_ENOENT.tests │ │ ├── exitcode_trap1.right │ │ ├── exitcode_trap1.tests │ │ ├── exitcode_trap2.right │ │ ├── exitcode_trap2.tests │ │ ├── exitcode_trap3.right │ │ ├── exitcode_trap3.tests │ │ ├── exitcode_trap4.right │ │ ├── exitcode_trap4.tests │ │ ├── exitcode_trap5.right │ │ ├── exitcode_trap5.tests │ │ ├── exitcode_trap6.right │ │ ├── exitcode_trap6.tests │ │ ├── exitcode_trap7.right │ │ ├── exitcode_trap7.tests │ │ ├── export1.right │ │ ├── export1.tests │ │ ├── for.right │ │ ├── for.tests │ │ ├── for_with_bslashes.right │ │ ├── for_with_bslashes.tests │ │ ├── for_with_keywords.right │ │ ├── for_with_keywords.tests │ │ ├── func1.right │ │ ├── func1.tests │ │ ├── func2.right │ │ ├── func2.tests │ │ ├── func3.right │ │ ├── func3.tests │ │ ├── func4.right │ │ ├── func4.tests │ │ ├── func5.right │ │ ├── func5.tests │ │ ├── func_args1.right │ │ ├── func_args1.tests │ │ ├── func_bash1.right │ │ ├── func_bash1.tests │ │ ├── func_compound1.right │ │ ├── func_compound1.tests │ │ ├── func_local1.right │ │ ├── func_local1.tests │ │ ├── func_local2.right │ │ ├── func_local2.tests │ │ ├── func_prio_over_builtins.right │ │ ├── func_prio_over_builtins.tests │ │ ├── func_return1.right │ │ ├── func_return1.tests │ │ ├── func_return2.right │ │ ├── func_return2.tests │ │ ├── group_in_braces.right │ │ ├── group_in_braces.tests │ │ ├── if_false_exitcode.right │ │ ├── if_false_exitcode.tests │ │ ├── last_amp.right │ │ ├── last_amp.tests │ │ ├── local1.right │ │ ├── local1.tests │ │ ├── local2.right │ │ ├── local2.tests │ │ ├── nommu1.right │ │ ├── nommu1.tests │ │ ├── nommu2.right │ │ ├── nommu2.tests │ │ ├── nommu3.right │ │ ├── nommu3.tests │ │ ├── nulltick1.right │ │ ├── nulltick1.tests │ │ ├── opts1.right │ │ ├── opts1.tests │ │ ├── pid.right │ │ ├── pid.tests │ │ ├── piped_input.right │ │ ├── piped_input.tests │ │ ├── pipefail.right │ │ ├── pipefail.tests │ │ ├── read.right │ │ ├── read.tests │ │ ├── return1.right │ │ ├── return1.tests │ │ ├── set-n1.right │ │ ├── set-n1.tests │ │ ├── shift.right │ │ ├── shift.tests │ │ ├── shift1.right │ │ ├── shift1.tests │ │ ├── source1.right │ │ ├── source1.tests │ │ ├── source2.right │ │ ├── source2.tests │ │ ├── source3.right │ │ ├── source3.tests │ │ ├── source5.right │ │ ├── source5.tests │ │ ├── source_argv_and_shift.right │ │ ├── source_argv_and_shift.tests │ │ ├── tickquote1.right │ │ ├── tickquote1.tests │ │ ├── unicode1.right │ │ ├── unicode1.tests │ │ ├── until1.right │ │ ├── until1.tests │ │ ├── wait4.right │ │ ├── wait4.tests │ │ ├── wait5.right │ │ ├── wait5.tests │ │ ├── wait6.right │ │ ├── wait6.tests │ │ ├── wait7.right │ │ ├── wait7.tests │ │ ├── while1.right │ │ ├── while1.tests │ │ ├── while2.right │ │ ├── while2.tests │ │ ├── while4.right │ │ ├── while4.tests │ │ ├── while_in_subshell.right │ │ └── while_in_subshell.tests │ ├── ash-parsing │ │ ├── and_or_and_backgrounding.right │ │ ├── and_or_and_backgrounding.tests │ │ ├── argv0.right │ │ ├── argv0.tests │ │ ├── bkslash_eof1.right │ │ ├── bkslash_eof1.tests │ │ ├── bkslash_newline1.right │ │ ├── bkslash_newline1.tests │ │ ├── bkslash_newline2.right │ │ ├── bkslash_newline2.tests │ │ ├── bkslash_newline3.right │ │ ├── bkslash_newline3.tests │ │ ├── bkslash_newline4.right │ │ ├── bkslash_newline4.tests │ │ ├── brace1.right │ │ ├── brace1.tests │ │ ├── brace2.right │ │ ├── brace2.tests │ │ ├── comment1.right │ │ ├── comment1.tests │ │ ├── comment2.right │ │ ├── comment2.tests │ │ ├── eol1.right │ │ ├── eol1.tests │ │ ├── escape1.right │ │ ├── escape1.tests │ │ ├── escape2.right │ │ ├── escape2.tests │ │ ├── escape3.right │ │ ├── escape3.tests │ │ ├── escape4.right │ │ ├── escape4.tests │ │ ├── escape5.right │ │ ├── escape5.tests │ │ ├── group1.right │ │ ├── group1.tests │ │ ├── group2.right │ │ ├── group2.tests │ │ ├── groups_and_keywords1.right │ │ ├── groups_and_keywords1.tests │ │ ├── groups_and_keywords2.right │ │ ├── groups_and_keywords2.tests │ │ ├── negate.right │ │ ├── negate.tests │ │ ├── noeol.right │ │ ├── noeol.tests │ │ ├── noeol2.right │ │ ├── noeol2.tests │ │ ├── noeol3.right │ │ ├── noeol3.tests │ │ ├── process_subst.right │ │ ├── process_subst.tests │ │ ├── quote1.right │ │ ├── quote1.tests │ │ ├── quote2.right │ │ ├── quote2.tests │ │ ├── quote3.right │ │ ├── quote3.tests │ │ ├── quote4.right │ │ ├── quote4.tests │ │ ├── starquoted.right │ │ ├── starquoted.tests │ │ ├── starquoted2.right │ │ ├── starquoted2.tests │ │ ├── starquoted3.right │ │ └── starquoted3.tests │ ├── ash-psubst │ │ ├── bash_procsub.right │ │ ├── bash_procsub.tests │ │ ├── emptytick.right │ │ ├── emptytick.tests │ │ ├── falsetick.right │ │ ├── falsetick.tests │ │ ├── falsetick2.right │ │ ├── falsetick2.tests │ │ ├── tick.right │ │ ├── tick.tests │ │ ├── tick2.right │ │ ├── tick2.tests │ │ ├── tick3.right │ │ ├── tick3.tests │ │ ├── tick4.right │ │ ├── tick4.tests │ │ ├── tick_huge.right │ │ ├── tick_huge.tests │ │ ├── tick_in_heredoc.right │ │ └── tick_in_heredoc.tests │ ├── ash-quoting │ │ ├── bkslash_case1.right │ │ ├── bkslash_case1.tests │ │ ├── bkslash_case2.right │ │ ├── bkslash_case2.tests │ │ ├── bkslash_in_varexp.right │ │ ├── bkslash_in_varexp.tests │ │ ├── bkslash_in_varexp1.right │ │ ├── bkslash_in_varexp1.tests │ │ ├── case_glob1.right │ │ ├── case_glob1.tests │ │ ├── dollar_altvalue1.right │ │ ├── dollar_altvalue1.tests │ │ ├── dollar_altvalue2.right │ │ ├── dollar_altvalue2.tests │ │ ├── dollar_altvalue9.right │ │ ├── dollar_altvalue9.tests │ │ ├── dollar_repl_bash1.right │ │ ├── dollar_repl_bash1.tests │ │ ├── dollar_repl_slash_bash1.right │ │ ├── dollar_repl_slash_bash1.tests │ │ ├── dollar_repl_slash_bash2.right │ │ ├── dollar_repl_slash_bash2.tests │ │ ├── dollar_squote_bash1.right │ │ ├── dollar_squote_bash1.tests │ │ ├── dollar_squote_bash2.right │ │ ├── dollar_squote_bash2.tests │ │ ├── mode_x.right │ │ ├── mode_x.tests │ │ ├── negative_arith.right │ │ ├── negative_arith.tests │ │ ├── quote_in_varexp1.right │ │ ├── quote_in_varexp1.tests │ │ ├── quoted_punct.right │ │ ├── quoted_punct.tests │ │ ├── squote_in_varexp.right │ │ ├── squote_in_varexp.tests │ │ ├── squote_in_varexp1.right │ │ ├── squote_in_varexp1.tests │ │ ├── squote_in_varexp2.right │ │ ├── squote_in_varexp2.tests │ │ ├── squote_in_varexp3.right │ │ ├── squote_in_varexp3.tests │ │ ├── unicode_8x_chars.right │ │ └── unicode_8x_chars.tests │ ├── ash-read │ │ ├── read_REPLY.right │ │ ├── read_REPLY.tests │ │ ├── read_SIGCHLD.right │ │ ├── read_SIGCHLD.tests │ │ ├── read_d0.right │ │ ├── read_d0.tests │ │ ├── read_ifs.right │ │ ├── read_ifs.tests │ │ ├── read_n.right │ │ ├── read_n.tests │ │ ├── read_r.right │ │ ├── read_r.tests │ │ ├── read_t.right │ │ ├── read_t.tests │ │ ├── read_t0.right │ │ └── read_t0.tests │ ├── ash-redir │ │ ├── redir.right │ │ ├── redir.tests │ │ ├── redir1.right │ │ ├── redir1.tests │ │ ├── redir2.right │ │ ├── redir2.tests │ │ ├── redir3.right │ │ ├── redir3.tests │ │ ├── redir4.right │ │ ├── redir4.tests │ │ ├── redir5.right │ │ ├── redir5.tests │ │ ├── redir6.right │ │ ├── redir6.tests │ │ ├── redir7.right │ │ ├── redir7.tests │ │ ├── redir8.right │ │ ├── redir8.tests │ │ ├── redir9.right │ │ ├── redir9.tests │ │ ├── redirA.right │ │ ├── redirA.tests │ │ ├── redir_children_should_not_see_saved_fd_1.right │ │ ├── redir_children_should_not_see_saved_fd_1.tests │ │ ├── redir_children_should_not_see_saved_fd_2.right │ │ ├── redir_children_should_not_see_saved_fd_2.tests │ │ ├── redir_children_should_not_see_saved_fd_3.right │ │ ├── redir_children_should_not_see_saved_fd_3.tests │ │ ├── redir_escapednum.right │ │ ├── redir_escapednum.tests │ │ ├── redir_exec1.right │ │ ├── redir_exec1.tests │ │ ├── redir_expand.right │ │ ├── redir_expand.tests │ │ ├── redir_leak.right │ │ ├── redir_leak.tests │ │ ├── redir_multi.right │ │ ├── redir_multi.tests │ │ ├── redir_script.right │ │ ├── redir_script.tests │ │ ├── redir_space.right │ │ ├── redir_space.tests │ │ ├── redir_stdin1.right │ │ ├── redir_stdin1.tests │ │ ├── redir_to_bad_fd.right │ │ ├── redir_to_bad_fd.tests │ │ ├── redir_to_bad_fd255.right │ │ ├── redir_to_bad_fd255.tests │ │ ├── redir_to_bad_fd3.right │ │ └── redir_to_bad_fd3.tests │ ├── ash-signals │ │ ├── catch.right │ │ ├── catch.tests │ │ ├── continue_and_trap1.right │ │ ├── continue_and_trap1.tests │ │ ├── reap1.right │ │ ├── reap1.tests │ │ ├── return_in_trap1.right │ │ ├── return_in_trap1.tests │ │ ├── save-ret.right │ │ ├── save-ret.tests │ │ ├── savetrap.right │ │ ├── savetrap.tests │ │ ├── sigint1.right │ │ ├── sigint1.tests │ │ ├── signal1.right │ │ ├── signal1.tests │ │ ├── signal2.right │ │ ├── signal2.tests │ │ ├── signal3.right │ │ ├── signal3.tests │ │ ├── signal4.right │ │ ├── signal4.tests │ │ ├── signal5.right │ │ ├── signal5.tests │ │ ├── signal6.right │ │ ├── signal6.tests │ │ ├── signal7.right │ │ ├── signal7.tests │ │ ├── signal8.right │ │ ├── signal8.tests │ │ ├── signal9.right │ │ ├── signal9.tests │ │ ├── signal_read2.right │ │ ├── signal_read2.tests │ │ ├── sigquit_exec.right │ │ ├── sigquit_exec.tests │ │ ├── subshell.right │ │ ├── subshell.tests │ │ ├── usage.right │ │ └── usage.tests │ ├── ash-standalone │ │ ├── noexec_gets_no_env.right │ │ ├── noexec_gets_no_env.tests │ │ ├── nofork_env.right │ │ ├── nofork_env.tests │ │ ├── nofork_trashes_getopt.right │ │ ├── nofork_trashes_getopt.tests │ │ ├── var_standalone1.right │ │ └── var_standalone1.tests │ ├── ash-vars │ │ ├── empty.right │ │ ├── empty.tests │ │ ├── glob_and_vars.right │ │ ├── glob_and_vars.tests │ │ ├── param_expand_alt.right │ │ ├── param_expand_alt.tests │ │ ├── param_expand_alt2.right │ │ ├── param_expand_alt2.tests │ │ ├── param_expand_assign.right │ │ ├── param_expand_assign.tests │ │ ├── param_expand_bash_substring.right │ │ ├── param_expand_bash_substring.tests │ │ ├── param_expand_default.right │ │ ├── param_expand_default.tests │ │ ├── param_expand_indicate_error.right │ │ ├── param_expand_indicate_error.tests │ │ ├── param_expand_len.right │ │ ├── param_expand_len.tests │ │ ├── param_expand_len1.right │ │ ├── param_expand_len1.tests │ │ ├── param_glob.right │ │ ├── param_glob.tests │ │ ├── param_subshell.right │ │ ├── param_subshell.tests │ │ ├── readonly0.right │ │ ├── readonly0.tests │ │ ├── readonly1.right │ │ ├── readonly1.tests │ │ ├── star.right │ │ ├── star.tests │ │ ├── unset.right │ │ ├── unset.tests │ │ ├── var-do-not-collapse-arithmetic-expansion-at-parse-time.right │ │ ├── var-do-not-collapse-arithmetic-expansion-at-parse-time.tests │ │ ├── var-do-not-expand-tilde-in-parameter-expansion-in-quotes.right │ │ ├── var-do-not-expand-tilde-in-parameter-expansion-in-quotes.tests │ │ ├── var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.right │ │ ├── var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.tests │ │ ├── var-expand-tilde-in-parameter-expansion.right │ │ ├── var-expand-tilde-in-parameter-expansion.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-1.right │ │ ├── var-pattern-replacement-in-parameter-expansion-1.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-2.right │ │ ├── var-pattern-replacement-in-parameter-expansion-2.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-3.right │ │ ├── var-pattern-replacement-in-parameter-expansion-3.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-4.right │ │ ├── var-pattern-replacement-in-parameter-expansion-4.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-5.right │ │ ├── var-pattern-replacement-in-parameter-expansion-5.tests │ │ ├── var-runtime-quote-detection.right │ │ ├── var-runtime-quote-detection.tests │ │ ├── var-utf8-length.right │ │ ├── var-utf8-length.tests │ │ ├── var1.right │ │ ├── var1.tests │ │ ├── var2.right │ │ ├── var2.tests │ │ ├── var3.right │ │ ├── var3.tests │ │ ├── var4.right │ │ ├── var4.tests │ │ ├── var5.right │ │ ├── var5.tests │ │ ├── var6.right │ │ ├── var6.tests │ │ ├── var_10.right │ │ ├── var_10.tests │ │ ├── var_LINENO1.right │ │ ├── var_LINENO1.tests │ │ ├── var_LINENO2.right │ │ ├── var_LINENO2.tests │ │ ├── var_LINENO3.right │ │ ├── var_LINENO3.tests │ │ ├── var_bash1.right │ │ ├── var_bash1.tests │ │ ├── var_bash1a.right │ │ ├── var_bash1a.tests │ │ ├── var_bash1b.right │ │ ├── var_bash1b.tests │ │ ├── var_bash2.right │ │ ├── var_bash2.tests │ │ ├── var_bash3.right │ │ ├── var_bash3.tests │ │ ├── var_bash4.right │ │ ├── var_bash4.tests │ │ ├── var_bash5.right │ │ ├── var_bash5.tests │ │ ├── var_bash6.right │ │ ├── var_bash6.tests │ │ ├── var_bash7.right │ │ ├── var_bash7.tests │ │ ├── var_bash_pattern_starting_with_slash.right │ │ ├── var_bash_pattern_starting_with_slash.tests │ │ ├── var_bash_repl_empty_pattern.right │ │ ├── var_bash_repl_empty_pattern.tests │ │ ├── var_bash_repl_empty_var.right │ │ ├── var_bash_repl_empty_var.tests │ │ ├── var_bash_repl_unterminated.right │ │ ├── var_bash_repl_unterminated.tests │ │ ├── var_expand_in_assign.right │ │ ├── var_expand_in_assign.tests │ │ ├── var_expand_in_redir.right │ │ ├── var_expand_in_redir.tests │ │ ├── var_expand_on_ifs.right │ │ ├── var_expand_on_ifs.tests │ │ ├── var_in_pipes.right │ │ ├── var_in_pipes.tests │ │ ├── var_leak.right │ │ ├── var_leak.tests │ │ ├── var_leaks.right │ │ ├── var_leaks.tests │ │ ├── var_nested1.right │ │ ├── var_nested1.tests │ │ ├── var_nested2.right │ │ ├── var_nested2.tests │ │ ├── var_posix1.right │ │ ├── var_posix1.tests │ │ ├── var_serial.right │ │ ├── var_serial.tests │ │ ├── var_subst_in_for.right │ │ ├── var_subst_in_for.tests │ │ ├── var_unbackslash.right │ │ ├── var_unbackslash.tests │ │ ├── var_unbackslash1.right │ │ ├── var_unbackslash1.tests │ │ ├── var_wordsplit_ifs1.right │ │ ├── var_wordsplit_ifs1.tests │ │ ├── var_wordsplit_ifs2.right │ │ ├── var_wordsplit_ifs2.tests │ │ ├── var_wordsplit_ifs3.right │ │ ├── var_wordsplit_ifs3.tests │ │ ├── var_wordsplit_ifs4.right │ │ ├── var_wordsplit_ifs4.tests │ │ ├── var_wordsplit_ifs5.right │ │ └── var_wordsplit_ifs5.tests │ ├── ash-z_slow │ │ ├── many_ifs.right │ │ └── many_ifs.tests │ ├── printenv.c │ ├── recho.c │ ├── run-all │ └── zecho.c ├── brace.txt ├── cttyhack.c ├── hush.c ├── hush_doc.txt ├── hush_leaktool.sh ├── hush_test │ ├── .gitignore │ ├── hush-arith │ │ ├── arith-postinc.right │ │ ├── arith-postinc.tests │ │ ├── arith.right │ │ ├── arith.tests │ │ ├── arith1.sub │ │ ├── arith2.sub │ │ ├── arith_nested1.right │ │ └── arith_nested1.tests │ ├── hush-bugs │ │ ├── export_exp.right │ │ ├── export_exp.tests.disabled │ │ ├── strops5_bug.right │ │ └── strops5_bug.tests │ ├── hush-comm │ │ ├── comm.right │ │ └── comm.tests │ ├── hush-getopts │ │ ├── getopt_nested.right │ │ ├── getopt_nested.tests │ │ ├── getopt_optarg.right │ │ ├── getopt_optarg.tests │ │ ├── getopt_positional.right │ │ ├── getopt_positional.tests │ │ ├── getopt_silent.right │ │ ├── getopt_silent.tests │ │ ├── getopt_simple.right │ │ ├── getopt_simple.tests │ │ ├── getopt_test_libc_bug.right │ │ └── getopt_test_libc_bug.tests │ ├── hush-glob │ │ ├── bash_brace1.right │ │ ├── bash_brace1.tests │ │ ├── glob1.right │ │ ├── glob1.tests │ │ ├── glob2.right │ │ ├── glob2.tests │ │ ├── glob3.right │ │ ├── glob3.tests │ │ ├── glob_altvalue1.right │ │ ├── glob_altvalue1.tests │ │ ├── glob_and_assign.right │ │ ├── glob_and_assign.tests │ │ ├── glob_bkslash_in_var.right │ │ ├── glob_bkslash_in_var.tests │ │ ├── glob_dir.right │ │ ├── glob_dir.tests │ │ ├── glob_redir.right │ │ └── glob_redir.tests │ ├── hush-heredoc │ │ ├── heredoc.right │ │ ├── heredoc.tests │ │ ├── heredoc1.right │ │ ├── heredoc1.tests │ │ ├── heredoc2.right │ │ ├── heredoc2.tests │ │ ├── heredoc3.right │ │ ├── heredoc3.tests │ │ ├── heredoc4.right │ │ ├── heredoc4.tests │ │ ├── heredoc5.right │ │ ├── heredoc5.tests │ │ ├── heredoc6.right │ │ ├── heredoc6.tests │ │ ├── heredoc7.right │ │ ├── heredoc7.tests │ │ ├── heredoc8.right │ │ ├── heredoc8.tests │ │ ├── heredoc9.right │ │ ├── heredoc9.tests │ │ ├── heredocA.right │ │ ├── heredocA.tests │ │ ├── heredocB.right │ │ ├── heredocB.tests │ │ ├── heredoc_after_compound1.right │ │ ├── heredoc_after_compound1.tests │ │ ├── heredoc_backslash1.right │ │ ├── heredoc_backslash1.tests │ │ ├── heredoc_bkslash_newline1.right │ │ ├── heredoc_bkslash_newline1.tests │ │ ├── heredoc_bkslash_newline2.right │ │ ├── heredoc_bkslash_newline2.tests │ │ ├── heredoc_empty2.right │ │ ├── heredoc_empty2.tests │ │ ├── heredoc_empty3.right │ │ ├── heredoc_empty3.tests │ │ ├── heredoc_huge.right │ │ ├── heredoc_huge.tests │ │ ├── heredoc_var_expand1.right │ │ └── heredoc_var_expand1.tests │ ├── hush-invert │ │ ├── invert.right │ │ └── invert.tests │ ├── hush-leak │ │ ├── leak_argv1.right │ │ └── leak_argv1.tests │ ├── hush-misc │ │ ├── and-or.right │ │ ├── and-or.tests │ │ ├── assignment1.right │ │ ├── assignment1.tests │ │ ├── assignment2.right │ │ ├── assignment2.tests │ │ ├── assignment3.right │ │ ├── assignment3.tests │ │ ├── assignment4.right │ │ ├── assignment4.tests │ │ ├── assignment5.right │ │ ├── assignment5.tests │ │ ├── break1.right │ │ ├── break1.tests │ │ ├── break2.right │ │ ├── break2.tests │ │ ├── break3.right │ │ ├── break3.tests │ │ ├── break4.right │ │ ├── break4.tests │ │ ├── break5.right │ │ ├── break5.tests │ │ ├── builtin1.right │ │ ├── builtin1.tests │ │ ├── case1.right │ │ ├── case1.tests │ │ ├── colon.right │ │ ├── colon.tests │ │ ├── command2.right │ │ ├── command2.tests │ │ ├── compound.right │ │ ├── compound.tests │ │ ├── continue1.right │ │ ├── continue1.tests │ │ ├── continue2.right │ │ ├── continue2.tests │ │ ├── continue3.right │ │ ├── continue3.tests │ │ ├── control_char1.right │ │ ├── control_char1.tests │ │ ├── control_char2.right │ │ ├── control_char2.tests │ │ ├── control_char3.right │ │ ├── control_char3.tests │ │ ├── control_char4.right │ │ ├── control_char4.tests │ │ ├── echo_write_error.right │ │ ├── echo_write_error.tests │ │ ├── empty_args.right │ │ ├── empty_args.tests │ │ ├── empty_for.right │ │ ├── empty_for.tests │ │ ├── empty_for1.right │ │ ├── empty_for1.tests │ │ ├── empty_for2.right │ │ ├── empty_for2.tests │ │ ├── env_and_func.right │ │ ├── env_and_func.tests │ │ ├── errexit1.right │ │ ├── errexit1.tests │ │ ├── eval1.right │ │ ├── eval1.tests │ │ ├── eval2.right │ │ ├── eval2.tests │ │ ├── exec.right │ │ ├── exec.tests │ │ ├── exit1.right │ │ ├── exit1.tests │ │ ├── exitcode1.right │ │ ├── exitcode1.tests │ │ ├── exitcode2.right │ │ ├── exitcode2.tests │ │ ├── exitcode_EACCES.right │ │ ├── exitcode_EACCES.tests │ │ ├── exitcode_ENOENT.right │ │ ├── exitcode_ENOENT.tests │ │ ├── exitcode_trap2.right │ │ ├── exitcode_trap2.tests │ │ ├── exitcode_trap3.right │ │ ├── exitcode_trap3.tests │ │ ├── exitcode_trap4.right │ │ ├── exitcode_trap4.tests │ │ ├── exitcode_trap5.right │ │ ├── exitcode_trap5.tests │ │ ├── exitcode_trap6.right │ │ ├── exitcode_trap6.tests │ │ ├── exitcode_trap7.right │ │ ├── exitcode_trap7.tests │ │ ├── export-n.right │ │ ├── export-n.tests │ │ ├── export.right │ │ ├── export.tests │ │ ├── export1.right │ │ ├── export1.tests │ │ ├── for.right │ │ ├── for.tests │ │ ├── for_with_bslashes.right │ │ ├── for_with_bslashes.tests │ │ ├── for_with_keywords.right │ │ ├── for_with_keywords.tests │ │ ├── func1.right │ │ ├── func1.tests │ │ ├── func2.right │ │ ├── func2.tests │ │ ├── func3.right │ │ ├── func3.tests │ │ ├── func4.right │ │ ├── func4.tests │ │ ├── func5.right │ │ ├── func5.tests │ │ ├── func_args1.right │ │ ├── func_args1.tests │ │ ├── func_local1.right │ │ ├── func_local1.tests │ │ ├── func_local2.right │ │ ├── func_local2.tests │ │ ├── func_prio_over_builtins.right │ │ ├── func_prio_over_builtins.tests │ │ ├── func_return1.right │ │ ├── func_return1.tests │ │ ├── func_return2.right │ │ ├── func_return2.tests │ │ ├── group_in_braces.right │ │ ├── group_in_braces.tests │ │ ├── if_false_exitcode.right │ │ ├── if_false_exitcode.tests │ │ ├── last_amp.right │ │ ├── last_amp.tests │ │ ├── local1.right │ │ ├── local1.tests │ │ ├── nommu1.right │ │ ├── nommu1.tests │ │ ├── nommu2.right │ │ ├── nommu2.tests │ │ ├── nommu3.right │ │ ├── nommu3.tests │ │ ├── nulltick1.right │ │ ├── nulltick1.tests │ │ ├── opts1.right │ │ ├── opts1.tests │ │ ├── pid.right │ │ ├── pid.tests │ │ ├── piped_input.right │ │ ├── piped_input.tests │ │ ├── pipefail.right │ │ ├── pipefail.tests │ │ ├── read.right │ │ ├── read.tests │ │ ├── return1.right │ │ ├── return1.tests │ │ ├── set-n1.right │ │ ├── set-n1.tests │ │ ├── shift.right │ │ ├── shift.tests │ │ ├── shift1.right │ │ ├── shift1.tests │ │ ├── sig_exitcode.right │ │ ├── sig_exitcode.tests │ │ ├── source1.right │ │ ├── source1.tests │ │ ├── source2.right │ │ ├── source2.tests │ │ ├── source3.right │ │ ├── source3.tests │ │ ├── source4.right │ │ ├── source4.tests │ │ ├── source5.right │ │ ├── source5.tests │ │ ├── source_argv_and_shift.right │ │ ├── source_argv_and_shift.tests │ │ ├── syntax_err.right │ │ ├── syntax_err.tests │ │ ├── syntax_err_negate.right │ │ ├── syntax_err_negate.tests │ │ ├── tickquote1.right │ │ ├── tickquote1.tests │ │ ├── unicode1.right │ │ ├── unicode1.tests │ │ ├── until1.right │ │ ├── until1.tests │ │ ├── wait1.right │ │ ├── wait1.tests │ │ ├── wait2.right │ │ ├── wait2.tests │ │ ├── wait3.right │ │ ├── wait3.tests │ │ ├── wait4.right │ │ ├── wait4.tests │ │ ├── wait5.right │ │ ├── wait5.tests │ │ ├── wait6.right │ │ ├── wait6.tests │ │ ├── wait7.right │ │ ├── wait7.tests │ │ ├── while1.right │ │ ├── while1.tests │ │ ├── while2.right │ │ ├── while2.tests │ │ ├── while3.right │ │ ├── while3.tests │ │ ├── while4.right │ │ ├── while4.tests │ │ ├── while_in_subshell.right │ │ └── while_in_subshell.tests │ ├── hush-parsing │ │ ├── and_or_and_backgrounding.right │ │ ├── and_or_and_backgrounding.tests │ │ ├── argv0.right │ │ ├── argv0.tests │ │ ├── bkslash_eof1.right │ │ ├── bkslash_eof1.tests │ │ ├── bkslash_eof2.right │ │ ├── bkslash_eof2.tests │ │ ├── bkslash_newline1.right │ │ ├── bkslash_newline1.tests │ │ ├── bkslash_newline2.right │ │ ├── bkslash_newline2.tests │ │ ├── bkslash_newline3.right │ │ ├── bkslash_newline3.tests │ │ ├── bkslash_newline4.right │ │ ├── bkslash_newline4.tests │ │ ├── brace1.right │ │ ├── brace1.tests │ │ ├── brace2.right │ │ ├── brace2.tests │ │ ├── comment1.right │ │ ├── comment1.tests │ │ ├── comment2.right │ │ ├── comment2.tests │ │ ├── eol1.right │ │ ├── eol1.tests │ │ ├── escape1.right │ │ ├── escape1.tests │ │ ├── escape2.right │ │ ├── escape2.tests │ │ ├── escape3.right │ │ ├── escape3.tests │ │ ├── escape4.right │ │ ├── escape4.tests │ │ ├── escape5.right │ │ ├── escape5.tests │ │ ├── group1.right │ │ ├── group1.tests │ │ ├── group2.right │ │ ├── group2.tests │ │ ├── groups_and_keywords1.right │ │ ├── groups_and_keywords1.tests │ │ ├── groups_and_keywords2.right │ │ ├── groups_and_keywords2.tests │ │ ├── negate.right │ │ ├── negate.tests │ │ ├── noeol.right │ │ ├── noeol.tests │ │ ├── noeol2.right │ │ ├── noeol2.tests │ │ ├── noeol3.right │ │ ├── noeol3.tests │ │ ├── process_subst.right │ │ ├── process_subst.tests │ │ ├── quote1.right │ │ ├── quote1.tests │ │ ├── quote2.right │ │ ├── quote2.tests │ │ ├── quote3.right │ │ ├── quote3.tests │ │ ├── quote4.right │ │ ├── quote4.tests │ │ ├── starquoted.right │ │ ├── starquoted.tests │ │ ├── starquoted2.right │ │ ├── starquoted2.tests │ │ ├── starquoted3.right │ │ └── starquoted3.tests │ ├── hush-psubst │ │ ├── emptytick.right │ │ ├── emptytick.tests │ │ ├── falsetick.right │ │ ├── falsetick.tests │ │ ├── falsetick2.right │ │ ├── falsetick2.tests │ │ ├── falsetick3.right │ │ ├── falsetick3.tests │ │ ├── tick.right │ │ ├── tick.tests │ │ ├── tick2.right │ │ ├── tick2.tests │ │ ├── tick3.right │ │ ├── tick3.tests │ │ ├── tick4.right │ │ ├── tick4.tests │ │ ├── tick5.right │ │ ├── tick5.tests │ │ ├── tick6.right │ │ ├── tick6.tests │ │ ├── tick_huge.right │ │ ├── tick_huge.tests │ │ ├── tick_in_heredoc.right │ │ └── tick_in_heredoc.tests │ ├── hush-quoting │ │ ├── bkslash_case1.right │ │ ├── bkslash_case1.tests │ │ ├── bkslash_case2.right │ │ ├── bkslash_case2.tests │ │ ├── bkslash_in_varexp.right │ │ ├── bkslash_in_varexp.tests │ │ ├── bkslash_in_varexp1.right │ │ ├── bkslash_in_varexp1.tests │ │ ├── case_glob1.right │ │ ├── case_glob1.tests │ │ ├── dollar_altvalue1.right │ │ ├── dollar_altvalue1.tests │ │ ├── dollar_altvalue2.right │ │ ├── dollar_altvalue2.tests │ │ ├── dollar_altvalue9.right │ │ ├── dollar_altvalue9.tests │ │ ├── dollar_repl_bash1.right │ │ ├── dollar_repl_bash1.tests │ │ ├── dollar_repl_slash_bash1.right │ │ ├── dollar_repl_slash_bash1.tests │ │ ├── dollar_repl_slash_bash2.right │ │ ├── dollar_repl_slash_bash2.tests │ │ ├── dollar_squote_bash1.right │ │ ├── dollar_squote_bash1.tests │ │ ├── dollar_squote_bash2.right │ │ ├── dollar_squote_bash2.tests │ │ ├── negative_arith.right │ │ ├── negative_arith.tests │ │ ├── quote_in_varexp1.right │ │ ├── quote_in_varexp1.tests │ │ ├── quoted_punct.right │ │ ├── quoted_punct.tests │ │ ├── squote_in_varexp.right │ │ ├── squote_in_varexp.tests │ │ ├── squote_in_varexp1.right │ │ ├── squote_in_varexp1.tests │ │ ├── squote_in_varexp2.right │ │ ├── squote_in_varexp2.tests │ │ ├── squote_in_varexp3.right │ │ ├── squote_in_varexp3.tests │ │ ├── unicode_8x_chars.right │ │ └── unicode_8x_chars.tests │ ├── hush-read │ │ ├── read_REPLY.right │ │ ├── read_REPLY.tests │ │ ├── read_SIGCHLD.right │ │ ├── read_SIGCHLD.tests │ │ ├── read_d0.right │ │ ├── read_d0.tests │ │ ├── read_ifs.right │ │ ├── read_ifs.tests │ │ ├── read_ifs2.right │ │ ├── read_ifs2.tests │ │ ├── read_n.right │ │ ├── read_n.tests │ │ ├── read_r.right │ │ ├── read_r.tests │ │ ├── read_t.right │ │ ├── read_t.tests │ │ ├── read_t0.right │ │ └── read_t0.tests │ ├── hush-redir │ │ ├── redir.right │ │ ├── redir.tests │ │ ├── redir1.right │ │ ├── redir1.tests │ │ ├── redir2.right │ │ ├── redir2.tests │ │ ├── redir3.right │ │ ├── redir3.tests │ │ ├── redir4.right │ │ ├── redir4.tests │ │ ├── redir5.right │ │ ├── redir5.tests │ │ ├── redir6.right │ │ ├── redir6.tests │ │ ├── redir7.right │ │ ├── redir7.tests │ │ ├── redir8.right │ │ ├── redir8.tests │ │ ├── redir9.right │ │ ├── redir9.tests │ │ ├── redirA.right │ │ ├── redirA.tests │ │ ├── redir_backquote1.right │ │ ├── redir_backquote1.tests │ │ ├── redir_children_should_not_see_saved_fd_1.right │ │ ├── redir_children_should_not_see_saved_fd_1.tests │ │ ├── redir_children_should_not_see_saved_fd_2.right │ │ ├── redir_children_should_not_see_saved_fd_2.tests │ │ ├── redir_children_should_not_see_saved_fd_3.right │ │ ├── redir_children_should_not_see_saved_fd_3.tests │ │ ├── redir_errors.right │ │ ├── redir_errors.tests │ │ ├── redir_escapednum.right │ │ ├── redir_escapednum.tests │ │ ├── redir_exec1.right │ │ ├── redir_exec1.tests │ │ ├── redir_expand.right │ │ ├── redir_expand.tests │ │ ├── redir_leak.right │ │ ├── redir_leak.tests │ │ ├── redir_multi.right │ │ ├── redir_multi.tests │ │ ├── redir_script.right │ │ ├── redir_script.tests │ │ ├── redir_space.right │ │ ├── redir_space.tests │ │ ├── redir_stdin1.right │ │ ├── redir_stdin1.tests │ │ ├── redir_to_bad_fd.right │ │ ├── redir_to_bad_fd.tests │ │ ├── redir_to_bad_fd255.right │ │ ├── redir_to_bad_fd255.tests │ │ ├── redir_to_bad_fd3.right │ │ └── redir_to_bad_fd3.tests │ ├── hush-signals │ │ ├── catch.right │ │ ├── catch.tests │ │ ├── continue_and_trap1.right │ │ ├── continue_and_trap1.tests │ │ ├── exit.right │ │ ├── exit.tests │ │ ├── reap1.right │ │ ├── reap1.tests │ │ ├── return_in_trap1.right │ │ ├── return_in_trap1.tests │ │ ├── save-ret.right │ │ ├── save-ret.tests │ │ ├── savetrap.right │ │ ├── savetrap.tests │ │ ├── sigint1.right │ │ ├── sigint1.tests │ │ ├── signal1.right │ │ ├── signal1.tests │ │ ├── signal2.right │ │ ├── signal2.tests │ │ ├── signal3.right │ │ ├── signal3.tests │ │ ├── signal4.right │ │ ├── signal4.tests │ │ ├── signal5.right │ │ ├── signal5.tests │ │ ├── signal6.right │ │ ├── signal6.tests │ │ ├── signal7.right │ │ ├── signal7.tests │ │ ├── signal8.right │ │ ├── signal8.tests │ │ ├── signal9.right │ │ ├── signal9.tests │ │ ├── signal_read1.right │ │ ├── signal_read1.tests │ │ ├── signal_read2.right │ │ ├── signal_read2.tests │ │ ├── sigquit_exec.right │ │ ├── sigquit_exec.tests │ │ ├── subshell.right │ │ ├── subshell.tests │ │ ├── usage.right │ │ └── usage.tests │ ├── hush-standalone │ │ ├── noexec_gets_no_env.right │ │ ├── noexec_gets_no_env.tests │ │ ├── nofork_env.right │ │ ├── nofork_env.tests │ │ ├── nofork_trashes_getopt.right │ │ ├── nofork_trashes_getopt.tests │ │ ├── var_standalone1.right │ │ └── var_standalone1.tests │ ├── hush-test2 │ │ ├── andor1.right │ │ ├── andor1.tests │ │ ├── noglob1.right │ │ ├── noglob1.tests │ │ ├── strops1.right │ │ ├── strops1.tests │ │ ├── strops2.right │ │ ├── strops2.tests │ │ ├── strops3.right │ │ ├── strops3.tests │ │ ├── strops4.right │ │ ├── strops4.tests │ │ ├── strops5.right │ │ └── strops5.tests │ ├── hush-vars │ │ ├── empty.right │ │ ├── empty.tests │ │ ├── glob_and_vars.right │ │ ├── glob_and_vars.tests │ │ ├── param_expand_alt.right │ │ ├── param_expand_alt.tests │ │ ├── param_expand_alt2.right │ │ ├── param_expand_alt2.tests │ │ ├── param_expand_assign.right │ │ ├── param_expand_assign.tests │ │ ├── param_expand_bash_substring.right │ │ ├── param_expand_bash_substring.tests │ │ ├── param_expand_default.right │ │ ├── param_expand_default.tests │ │ ├── param_expand_indicate_error.right │ │ ├── param_expand_indicate_error.tests │ │ ├── param_expand_len.right │ │ ├── param_expand_len.tests │ │ ├── param_expand_len1.right │ │ ├── param_expand_len1.tests │ │ ├── param_glob.right │ │ ├── param_glob.tests │ │ ├── param_subshell.right │ │ ├── param_subshell.tests │ │ ├── readonly0.right │ │ ├── readonly0.tests │ │ ├── readonly2.right │ │ ├── readonly2.tests │ │ ├── readonly3.right │ │ ├── readonly3.tests │ │ ├── star.right │ │ ├── star.tests │ │ ├── unset.right │ │ ├── unset.tests │ │ ├── var-do-not-collapse-arithmetic-expansion-at-parse-time.right │ │ ├── var-do-not-collapse-arithmetic-expansion-at-parse-time.tests │ │ ├── var-do-not-expand-tilde-in-parameter-expansion-in-quotes.right │ │ ├── var-do-not-expand-tilde-in-parameter-expansion-in-quotes.tests │ │ ├── var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.right │ │ ├── var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-1.right │ │ ├── var-pattern-replacement-in-parameter-expansion-1.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-2.right │ │ ├── var-pattern-replacement-in-parameter-expansion-2.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-3.right │ │ ├── var-pattern-replacement-in-parameter-expansion-3.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-4.right │ │ ├── var-pattern-replacement-in-parameter-expansion-4.tests │ │ ├── var-pattern-replacement-in-parameter-expansion-5.right │ │ ├── var-pattern-replacement-in-parameter-expansion-5.tests │ │ ├── var-runtime-quote-detection.right │ │ ├── var-runtime-quote-detection.tests │ │ ├── var-utf8-length.right │ │ ├── var-utf8-length.tests │ │ ├── var1.right │ │ ├── var1.tests │ │ ├── var2.right │ │ ├── var2.tests │ │ ├── var3.right │ │ ├── var3.tests │ │ ├── var4.right │ │ ├── var4.tests │ │ ├── var5.right │ │ ├── var5.tests │ │ ├── var6.right │ │ ├── var6.tests │ │ ├── var_10.right │ │ ├── var_10.tests │ │ ├── var_LINENO1.right │ │ ├── var_LINENO1.tests │ │ ├── var_LINENO2.right │ │ ├── var_LINENO2.tests │ │ ├── var_LINENO3.right │ │ ├── var_LINENO3.tests │ │ ├── var_bash1.right │ │ ├── var_bash1.tests │ │ ├── var_bash1a.right │ │ ├── var_bash1a.tests │ │ ├── var_bash1b.right │ │ ├── var_bash1b.tests │ │ ├── var_bash2.right │ │ ├── var_bash2.tests │ │ ├── var_bash3.right │ │ ├── var_bash3.tests │ │ ├── var_bash4.right │ │ ├── var_bash4.tests │ │ ├── var_bash5.right │ │ ├── var_bash5.tests │ │ ├── var_bash6.right │ │ ├── var_bash6.tests │ │ ├── var_bash7.right │ │ ├── var_bash7.tests │ │ ├── var_bash_pattern_starting_with_slash.right │ │ ├── var_bash_pattern_starting_with_slash.tests │ │ ├── var_bash_repl_empty_pattern.right │ │ ├── var_bash_repl_empty_pattern.tests │ │ ├── var_bash_repl_empty_var.right │ │ ├── var_bash_repl_empty_var.tests │ │ ├── var_bash_repl_unterminated.right │ │ ├── var_bash_repl_unterminated.tests │ │ ├── var_expand_in_assign.right │ │ ├── var_expand_in_assign.tests │ │ ├── var_expand_in_redir.right │ │ ├── var_expand_in_redir.tests │ │ ├── var_expand_on_ifs.right │ │ ├── var_expand_on_ifs.tests │ │ ├── var_in_pipes.right │ │ ├── var_in_pipes.tests │ │ ├── var_leaks.right │ │ ├── var_leaks.tests │ │ ├── var_nested1.right │ │ ├── var_nested1.tests │ │ ├── var_nested2.right │ │ ├── var_nested2.tests │ │ ├── var_posix1.right │ │ ├── var_posix1.tests │ │ ├── var_preserved.right │ │ ├── var_preserved.tests │ │ ├── var_serial.right │ │ ├── var_serial.tests │ │ ├── var_subst_in_for.right │ │ ├── var_subst_in_for.tests │ │ ├── var_unbackslash.right │ │ ├── var_unbackslash.tests │ │ ├── var_unbackslash1.right │ │ ├── var_unbackslash1.tests │ │ ├── var_wordsplit_ifs1.right │ │ ├── var_wordsplit_ifs1.tests │ │ ├── var_wordsplit_ifs2.right │ │ ├── var_wordsplit_ifs2.tests │ │ ├── var_wordsplit_ifs3.right │ │ ├── var_wordsplit_ifs3.tests │ │ ├── var_wordsplit_ifs4.right │ │ ├── var_wordsplit_ifs4.tests │ │ ├── var_wordsplit_ifs5.right │ │ └── var_wordsplit_ifs5.tests │ ├── hush-z_slow │ │ ├── leak_all1.right │ │ ├── leak_all1.tests │ │ ├── leak_all2.right │ │ ├── leak_all2.tests │ │ ├── leak_empty_tick.right │ │ ├── leak_empty_tick.tests │ │ ├── leak_heredoc1.right │ │ ├── leak_heredoc1.tests │ │ ├── leak_var.right │ │ ├── leak_var.tests │ │ ├── leak_var2.right │ │ ├── leak_var2.tests │ │ ├── leak_var3.right │ │ ├── leak_var3.tests │ │ ├── many_ifs.right │ │ └── many_ifs.tests │ └── run-all ├── match.c ├── match.h ├── math.c ├── math.h ├── random.c ├── random.h ├── shell_common.c └── shell_common.h ├── size_single_applets.sh ├── sysklogd ├── Config.src ├── Kbuild.src ├── klogd.c ├── logger.c ├── logread.c ├── syslogd.c └── syslogd_and_logger.c ├── testsuite ├── .gitattributes ├── README ├── TODO ├── all_sourcecode.tests ├── ar.tests ├── ash.tests ├── awk.tests ├── awk_t1.tar.bz2 ├── basename │ ├── basename-does-not-remove-identical-extension │ └── basename-works ├── bc.tests ├── bc_add.bc ├── bc_add_results.txt ├── bc_arctangent.bc ├── bc_arctangent_results.txt ├── bc_array.bc ├── bc_array_results.txt ├── bc_arrays.bc ├── bc_arrays_results.txt ├── bc_bessel.bc ├── bc_bessel_results.txt ├── bc_boolean.bc ├── bc_boolean_results.txt ├── bc_cosine.bc ├── bc_cosine_results.txt ├── bc_decimal.bc ├── bc_decimal_results.txt ├── bc_divide.bc ├── bc_divide_results.txt ├── bc_exponent.bc ├── bc_exponent_results.txt ├── bc_log.bc ├── bc_log_results.txt ├── bc_misc.bc ├── bc_misc1.bc ├── bc_misc1_results.txt ├── bc_misc2.bc ├── bc_misc2_results.txt ├── bc_misc_results.txt ├── bc_modulus.bc ├── bc_modulus_results.txt ├── bc_multiply.bc ├── bc_multiply_results.txt ├── bc_numbers1.bc ├── bc_numbers1_results.txt ├── bc_numbers2.bc ├── bc_numbers2_results.txt ├── bc_pi.bc ├── bc_pi_results.txt ├── bc_power.bc ├── bc_power_results.txt ├── bc_references.bc ├── bc_references_results.txt ├── bc_sine.bc ├── bc_sine_results.txt ├── bc_sqrt.bc ├── bc_sqrt_results.txt ├── bc_strings.bc ├── bc_strings_results.txt ├── bc_subtract.bc ├── bc_subtract_results.txt ├── bc_vars.bc ├── bc_vars_results.txt ├── bunzip2.tests ├── bunzip2 │ ├── bunzip2-reads-from-standard-input │ └── bunzip2-removes-compressed-file ├── busybox.tests ├── bz2_issue_11.bz2 ├── bz2_issue_12.bz2 ├── bzcat.tests ├── bzcat │ └── bzcat-does-not-remove-compressed-file ├── cal.tests ├── cat.tests ├── cat │ ├── cat-prints-a-file │ └── cat-prints-a-file-and-standard-input ├── cmp │ └── cmp-detects-difference ├── comm.tests ├── cp.tests ├── cp │ ├── cp-RHL-does_not_preserve-links │ ├── cp-a-files-to-dir │ ├── cp-a-preserves-links │ ├── cp-copies-empty-file │ ├── cp-copies-large-file │ ├── cp-copies-small-file │ ├── cp-d-files-to-dir │ ├── cp-dev-file │ ├── cp-dir-create-dir │ ├── cp-dir-existing-dir │ ├── cp-does-not-copy-unreadable-file │ ├── cp-files-to-dir │ ├── cp-follows-links │ ├── cp-parents │ ├── cp-preserves-hard-links │ ├── cp-preserves-links │ └── cp-preserves-source-file ├── cpio.tests ├── cryptpw.tests ├── cut.tests ├── cut │ ├── cut-cuts-a-character │ ├── cut-cuts-a-closed-range │ ├── cut-cuts-a-field │ ├── cut-cuts-an-open-range │ └── cut-cuts-an-unclosed-range ├── cygpath.tests ├── date │ ├── date-@-works │ ├── date-R-works │ ├── date-format-works │ ├── date-timezone │ ├── date-u-works │ ├── date-works │ └── date-works-1 ├── dc.tests ├── dc_add.dc ├── dc_add_results.txt ├── dc_boolean.dc ├── dc_boolean_results.txt ├── dc_decimal.dc ├── dc_decimal_results.txt ├── dc_divide.dc ├── dc_divide_results.txt ├── dc_divmod.dc ├── dc_divmod_results.txt ├── dc_misc.dc ├── dc_misc_results.txt ├── dc_modexp.dc ├── dc_modexp_results.txt ├── dc_modulus.dc ├── dc_modulus_results.txt ├── dc_multiply.dc ├── dc_multiply_results.txt ├── dc_power.dc ├── dc_power_results.txt ├── dc_sqrt.dc ├── dc_sqrt_results.txt ├── dc_strings.dc ├── dc_strings_results.txt ├── dc_subtract.dc ├── dc_subtract_results.txt ├── dcx_vars.dc ├── dcx_vars_results.txt ├── dd │ ├── dd-accepts-if │ ├── dd-accepts-of │ ├── dd-copies-from-standard-input-to-standard-output │ ├── dd-count-bytes │ ├── dd-prints-count-to-standard-error │ └── dd-reports-write-errors ├── diff.tests ├── dirname │ ├── dirname-handles-absolute-path │ ├── dirname-handles-empty-path │ ├── dirname-handles-multiple-slashes │ ├── dirname-handles-relative-path │ ├── dirname-handles-root │ ├── dirname-handles-single-component │ └── dirname-works ├── du │ ├── du-h-works │ ├── du-k-works │ ├── du-l-works │ ├── du-m-works │ ├── du-s-works │ └── du-works ├── echo │ ├── echo-does-not-print-newline │ ├── echo-prints-argument │ ├── echo-prints-arguments │ ├── echo-prints-dash │ ├── echo-prints-newline │ ├── echo-prints-non-opts │ ├── echo-prints-slash-zero │ ├── echo-prints-slash_00041 │ ├── echo-prints-slash_0041 │ ├── echo-prints-slash_041 │ └── echo-prints-slash_41 ├── env.tests ├── expand.tests ├── expr │ ├── expr-big │ └── expr-works ├── factor.tests ├── false │ ├── false-is-silent │ └── false-returns-failure ├── find.tests ├── find │ └── find-supports-minus-xdev ├── fold.tests ├── grep.tests ├── gunzip.tests ├── gunzip │ └── gunzip-reads-from-standard-input ├── gzip │ ├── gzip-accepts-multiple-files │ ├── gzip-accepts-single-minus │ ├── gzip-compression-levels │ └── gzip-removes-original-file ├── head.tests ├── hexdump.tests ├── hostid │ └── hostid-works ├── hostname │ ├── hostname-d-works │ ├── hostname-i-works │ ├── hostname-s-works │ └── hostname-works ├── id │ ├── id-g-works │ ├── id-u-works │ ├── id-un-works │ └── id-ur-works ├── ln │ ├── ln-creates-hard-links │ ├── ln-creates-soft-links │ ├── ln-force-creates-hard-links │ ├── ln-force-creates-soft-links │ ├── ln-preserves-hard-links │ └── ln-preserves-soft-links ├── ls.mk_uni_tests ├── ls.tests ├── ls │ ├── ls-1-works │ ├── ls-h-works │ ├── ls-l-works │ └── ls-s-works ├── makedevs.device_table.txt ├── makedevs.tests ├── md5sum.tests ├── md5sum │ └── md5sum-verifies-non-binary-file ├── mdev.tests ├── mkdir │ ├── mkdir-makes-a-directory │ └── mkdir-makes-parent-directories ├── mkfs.minix.tests ├── mount.testroot ├── mount.tests ├── mv │ ├── mv-files-to-dir │ ├── mv-files-to-dir-2 │ ├── mv-follows-links │ ├── mv-moves-empty-file │ ├── mv-moves-file │ ├── mv-moves-hardlinks │ ├── mv-moves-large-file │ ├── mv-moves-small-file │ ├── mv-moves-symlinks │ ├── mv-moves-unreadable-files │ ├── mv-preserves-hard-links │ ├── mv-preserves-links │ ├── mv-refuses-mv-dir-to-subdir │ └── mv-removes-source-file ├── nl.tests ├── od.tests ├── parse.tests ├── paste │ ├── paste │ ├── paste-back-cuted-lines │ ├── paste-multi-stdin │ ├── paste-pairs │ └── paste-separate ├── patch.tests ├── pidof.tests ├── printf.tests ├── pwd │ └── pwd-prints-working-directory ├── readlink.tests ├── realpath.tests ├── rev.tests ├── rm │ └── rm-removes-file ├── rmdir │ └── rmdir-removes-parent-directories ├── runtest ├── rx.tests ├── sed.tests ├── seq.tests ├── sh.tests ├── sha1sum.tests ├── sha256sum.tests ├── sha3sum.tests ├── sha512sum.tests ├── sort.tests ├── start-stop-daemon.tests ├── strings │ └── strings-works-like-GNU ├── sum.tests ├── tail.tests ├── tail │ ├── tail-n-works │ └── tail-works ├── tar.tests ├── tar.utf8.tar.bz2 ├── tar │ ├── tar-archives-multiple-files │ ├── tar-complains-about-missing-file │ ├── tar-demands-at-least-one-ctx │ ├── tar-demands-at-most-one-ctx │ ├── tar-extracts-all-subdirs │ ├── tar-extracts-file │ ├── tar-extracts-from-standard-input │ ├── tar-extracts-multiple-files │ ├── tar-extracts-to-standard-output │ ├── tar-handles-cz-options │ ├── tar-handles-empty-include-and-non-empty-exclude-list │ ├── tar-handles-exclude-and-extract-lists │ ├── tar-handles-multiple-X-options │ ├── tar-handles-nested-exclude │ ├── tar_with_link_with_size │ └── tar_with_prefix_fields ├── taskset.tests ├── tee │ ├── tee-appends-input │ └── tee-tees-input ├── test.tests ├── testing.sh ├── touch │ ├── touch-creates-file │ ├── touch-does-not-create-file │ └── touch-touches-files-after-non-existent-file ├── tr.tests ├── tr │ ├── tr-d-alnum-works │ ├── tr-d-works │ ├── tr-non-gnu │ ├── tr-rejects-wrong-class │ └── tr-works ├── true │ ├── true-is-silent │ └── true-returns-success ├── tsort.tests ├── umlwrapper.sh ├── uncompress.tests ├── unexpand.tests ├── uniq.tests ├── unlzma.tests ├── unlzma_issue_1.lzma ├── unlzma_issue_2.lzma ├── unlzma_issue_3.lzma ├── unzip.tests ├── unzip_bad_lzma_1.zip ├── unzip_bad_lzma_2.zip ├── uptime │ └── uptime-works ├── uuencode.tests ├── wc │ ├── wc-counts-all │ ├── wc-counts-characters │ ├── wc-counts-lines │ ├── wc-counts-words │ └── wc-prints-longest-line-length ├── wget │ ├── wget--O-overrides--P │ ├── wget-handles-empty-path │ ├── wget-retrieves-google-index │ └── wget-supports--P ├── which │ └── which-uses-default-path ├── xargs.tests ├── xargs │ └── xargs-works └── xxd.tests ├── util-linux ├── Config.src ├── Kbuild.src ├── acpid.c ├── blkdiscard.c ├── blkid.c ├── blockdev.c ├── cal.c ├── chrt.c ├── dmesg.c ├── eject.c ├── fallocate.c ├── fatattr.c ├── fbset.c ├── fdformat.c ├── fdisk.c ├── fdisk_aix.c ├── fdisk_gpt.c ├── fdisk_osf.c ├── fdisk_sgi.c ├── fdisk_sun.c ├── findfs.c ├── flock.c ├── freeramdisk.c ├── fsck_minix.c ├── fsfreeze.c ├── fstrim.c ├── getopt.c ├── hexdump.c ├── hexdump_xxd.c ├── hwclock.c ├── ionice.c ├── ipcrm.c ├── ipcs.c ├── last.c ├── last_fancy.c ├── losetup.c ├── lspci.c ├── lsusb.c ├── mdev.c ├── mesg.c ├── minix.h ├── mkfs_ext2.c ├── mkfs_ext2.txt ├── mkfs_ext2_test.sh ├── mkfs_minix.c ├── mkfs_reiser.c ├── mkfs_vfat.c ├── mkswap.c ├── more.c ├── mount.c ├── mountpoint.c ├── nologin.c ├── nsenter.c ├── pivot_root.c ├── rdate.c ├── rdev.c ├── readprofile.c ├── renice.c ├── rev.c ├── rtcwake.c ├── script.c ├── scriptreplay.c ├── setarch.c ├── setpriv.c ├── setsid.c ├── swaponoff.c ├── switch_root.c ├── taskset.c ├── uevent.c ├── umount.c ├── unshare.c ├── volume_id │ ├── Config.src │ ├── Kbuild.src │ ├── bcache.c │ ├── btrfs.c │ ├── cramfs.c │ ├── erofs.c │ ├── exfat.c │ ├── ext.c │ ├── f2fs.c │ ├── fat.c │ ├── get_devname.c │ ├── hfs.c │ ├── iso9660.c │ ├── jfs.c │ ├── lfs.c │ ├── linux_raid.c │ ├── linux_swap.c │ ├── luks.c │ ├── minix.c │ ├── nilfs.c │ ├── ntfs.c │ ├── ocfs2.c │ ├── reiserfs.c │ ├── romfs.c │ ├── squashfs.c │ ├── sysv.c │ ├── ubifs.c │ ├── udf.c │ ├── unused_highpoint.c │ ├── unused_hpfs.c │ ├── unused_isw_raid.c │ ├── unused_lsi_raid.c │ ├── unused_lvm.c │ ├── unused_mac.c │ ├── unused_msdos.c │ ├── unused_nvidia_raid.c │ ├── unused_promise_raid.c │ ├── unused_silicon_raid.c │ ├── unused_ufs.c │ ├── unused_via_raid.c │ ├── util.c │ ├── volume_id.c │ ├── volume_id_internal.h │ └── xfs.c └── wall.c └── win32 ├── Kbuild ├── arpa └── inet.h ├── dirent.c ├── dirent.h ├── env.c ├── fnmatch.c ├── fnmatch.h ├── fsync.c ├── grp.h ├── inet_pton.c ├── ioctl.c ├── isaac.c ├── lazyload.h ├── match_class.c ├── match_class.h ├── mingw.c ├── mntent.c ├── mntent.h ├── net.c ├── net └── if.h ├── netdb.h ├── netinet └── in.h ├── path-convert.c ├── path-convert.h ├── paths.h ├── poll.c ├── poll.h ├── popen.c ├── process.c ├── pwd.h ├── regcomp.c ├── regex.c ├── regex.h ├── regex_internal.c ├── regex_internal.h ├── regexec.c ├── resources ├── COPYING_CCBYSA3 ├── Kbuild.src ├── README ├── aterm.ico ├── dummy.c ├── resources.rc └── sterm.ico ├── sched.h ├── select.c ├── sh_random.c ├── statfs.c ├── strndup.c ├── strptime.c ├── sys ├── inotify.h ├── ioctl.h ├── mman.h ├── resource.h ├── select.h ├── socket.h ├── statfs.h ├── statvfs.h ├── syscall.h ├── sysmacros.h ├── times.h ├── un.h ├── utsname.h └── wait.h ├── system.c ├── termios.c ├── termios.h ├── timegm.c ├── uname.c └── winansi.c /applets/.gitignore: -------------------------------------------------------------------------------- 1 | /applet_tables 2 | /usage 3 | /usage_pod 4 | /applet_tables.exe 5 | /usage.exe 6 | /usage_pod.exe 7 | -------------------------------------------------------------------------------- /applets_sh/nologin: -------------------------------------------------------------------------------- 1 | cat /etc/nologin.txt 2>/dev/null || echo This account is not available 2 | sleep 5 3 | exit 1 4 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | /busybox.1 2 | /BusyBox.html 3 | /busybox.net 4 | /BusyBox.txt 5 | /busybox.pod 6 | -------------------------------------------------------------------------------- /docs/unicode_UTF-8-test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/docs/unicode_UTF-8-test.txt -------------------------------------------------------------------------------- /docs/unicode_full-bmp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/docs/unicode_full-bmp.txt -------------------------------------------------------------------------------- /examples/bootfloppy/etc/fstab: -------------------------------------------------------------------------------- 1 | proc /proc proc defaults 0 0 2 | -------------------------------------------------------------------------------- /examples/bootfloppy/etc/init.d/rcS: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | /bin/mount -a 4 | -------------------------------------------------------------------------------- /examples/bootfloppy/etc/inittab: -------------------------------------------------------------------------------- 1 | ::sysinit:/etc/init.d/rcS 2 | ::respawn:-/bin/sh 3 | tty2::askfirst:-/bin/sh 4 | ::ctrlaltdel:/bin/umount -a -r 5 | -------------------------------------------------------------------------------- /examples/dnsd.conf: -------------------------------------------------------------------------------- 1 | thebox 192.168.1.5 2 | -------------------------------------------------------------------------------- /examples/udhcp/sample.deconfig: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Sample udhcpc deconfig script 3 | 4 | ifconfig $interface 0.0.0.0 5 | -------------------------------------------------------------------------------- /examples/udhcp/sample.nak: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Sample udhcpc nak script 3 | 4 | echo Received a NAK: $message 5 | -------------------------------------------------------------------------------- /examples/var_service/dhcp_if/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/dhcpd_if/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/dhcpd_if/w_dumpleases: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | watch -n1 'dumpleases -af udhcpd.leases' 4 | -------------------------------------------------------------------------------- /examples/var_service/dhcpd_if/w_dumpleases_countdown: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | watch -n1 'dumpleases -f udhcpd.leases' 4 | -------------------------------------------------------------------------------- /examples/var_service/dnsmasq/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/ftpd/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/httpd/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/ifplugd_if/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/inetd/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/ntpd/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/supplicant_if/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/tftpd/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /examples/var_service/zcip_if/log/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec std_service_logger 3 | -------------------------------------------------------------------------------- /modutils/modutils-24.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/modutils/modutils-24.c -------------------------------------------------------------------------------- /printutils/Kbuild.src: -------------------------------------------------------------------------------- 1 | # Makefile for busybox 2 | # 3 | # Licensed under GPLv2, see file LICENSE in this source tree. 4 | 5 | lib-y := 6 | 7 | INSERT 8 | -------------------------------------------------------------------------------- /scripts/basic/.gitignore: -------------------------------------------------------------------------------- 1 | hash 2 | fixdep 3 | docproc 4 | split-include 5 | /docproc.exe 6 | /fixdep.exe 7 | /split-include.exe 8 | -------------------------------------------------------------------------------- /scripts/kconfig/lxdialog/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Generated files 3 | # 4 | lxdialog 5 | -------------------------------------------------------------------------------- /shell/ash_test/.gitignore: -------------------------------------------------------------------------------- 1 | /ash 2 | /printenv 3 | /recho 4 | /zecho 5 | 6 | /*.fail 7 | *.xx 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-alias/alias.right: -------------------------------------------------------------------------------- 1 | alias: 0 2 | alias: 0 3 | ./alias.tests: line 25: qfoo: not found 4 | quux 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-alias/alias_brace.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-alias/alias_case.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/README.ash: -------------------------------------------------------------------------------- 1 | there is no support for (( )) constructs in ash 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/arith-bash1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/arith-bash1.tests: -------------------------------------------------------------------------------- 1 | # checks for [[ ]] 2 | 3 | # && and || 4 | [[ a && "" ]]; echo $? 5 | [[ a || "" ]]; echo $? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/arith-postinc.right: -------------------------------------------------------------------------------- 1 | 1 1 2 | 1 1 3 | 1 1 4 | 1 1 5 | 6 6 6 | 7 7 7 | 7 7 8 | Ok:0 9 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/arith_nested1.right: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-arith/arith_nested1.tests: -------------------------------------------------------------------------------- 1 | echo $(( ( $((1)) ) )) 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-glob/glob1.right: -------------------------------------------------------------------------------- 1 | glob1.tests 2 | glob1.tests 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-glob/glob1.tests: -------------------------------------------------------------------------------- 1 | echo *glob1?t[e]sts* 2 | echo "glob1"?'t'[e]s* 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-glob/glob3.right: -------------------------------------------------------------------------------- 1 | glob3.tests 2 | ./glob3.tests 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-glob/glob3.tests: -------------------------------------------------------------------------------- 1 | echo "glob3.test"* 2 | echo "./glob3.test"* 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-glob/glob_redir.right: -------------------------------------------------------------------------------- 1 | z.tmp: 2 | ?.tmp: TEST 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-heredoc/heredoc1.right: -------------------------------------------------------------------------------- 1 | qwe 2 | asd 3 | 123 4 | 456 5 | Ok 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-heredoc/heredoc1.tests: -------------------------------------------------------------------------------- 1 | cat <<000; cat </dev/null 3 | ${a=NO} 4 | EOF 5 | echo $a BUG 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-heredoc/heredoc_var_expand1.right: -------------------------------------------------------------------------------- 1 | 2 | Ok1:0 3 | 4 | Ok2:0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-invert/invert.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | 1 4 | 0 5 | 0 6 | 1 7 | 0 8 | 1 9 | 0 10 | 1 11 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment2.right: -------------------------------------------------------------------------------- 1 | ./assignment2.tests: line 2: a=b: not found 2 | 127 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment2.tests: -------------------------------------------------------------------------------- 1 | # This must not be interpreted as an assignment 2 | a''=b true 3 | echo $? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment3.right: -------------------------------------------------------------------------------- 1 | Done:0 2 | abc=123 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment3.tests: -------------------------------------------------------------------------------- 1 | # This must be interpreted as assignments 2 | a=1 b\ 3 | =2 c=3 4 | echo Done:$? 5 | echo abc=$a$b$c 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment4.right: -------------------------------------------------------------------------------- 1 | Done:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/assignment5.right: -------------------------------------------------------------------------------- 1 | Zero1:0 2 | Zero2:0 3 | Zero3:0 4 | Zero4:0 x:1 y:1 5 | Three:3 x:1 y:1 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break1.right: -------------------------------------------------------------------------------- 1 | A 2 | OK:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break1.tests: -------------------------------------------------------------------------------- 1 | while true; do echo A; break; echo B; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break2.right: -------------------------------------------------------------------------------- 1 | A 2 | AA 3 | OK:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break3.right: -------------------------------------------------------------------------------- 1 | A 2 | OK:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break3.tests: -------------------------------------------------------------------------------- 1 | v=break; while true; do echo A; $v; echo B; break; echo C; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break4.right: -------------------------------------------------------------------------------- 1 | A 2 | AA 3 | TRUE 4 | A 5 | AA 6 | OK:0 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/break5.right: -------------------------------------------------------------------------------- 1 | A 2 | B 3 | 0 4 | A:a 5 | B 6 | D 7 | A:b 8 | B 9 | D 10 | A:c 11 | B 12 | D 13 | 0 14 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/builtin1.right: -------------------------------------------------------------------------------- 1 | VARIABLE=export 2 | OK:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/colon.right: -------------------------------------------------------------------------------- 1 | 0 2 | OK: 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/colon.tests: -------------------------------------------------------------------------------- 1 | false 2 | : 3 | echo $? 4 | (while :; do exit; done) 5 | echo OK: $? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/command.right: -------------------------------------------------------------------------------- 1 | recho: not found 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/command.tests: -------------------------------------------------------------------------------- 1 | command -p -V recho 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/command2.right: -------------------------------------------------------------------------------- 1 | test1 2 | ./command2.tests: ./test1.sh: line 1: ./test2.sh: Permission denied 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/continue1.right: -------------------------------------------------------------------------------- 1 | A:a 2 | A:b 3 | A:c 4 | OK1 5 | A:a 6 | A:b 7 | A:c 8 | OK2 9 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/continue2.right: -------------------------------------------------------------------------------- 1 | Ok:1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/continue2.tests: -------------------------------------------------------------------------------- 1 | e='' 2 | (while test $e && exit 1; true; do e=1; continue; done) 3 | echo Ok:$? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/continue3.right: -------------------------------------------------------------------------------- 1 | 0 2 | 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char1.right: -------------------------------------------------------------------------------- 1 |  2 | b#c 3 | Done:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char1.tests: -------------------------------------------------------------------------------- 1 | echo  2 | echo 'b#c' 3 | echo Done:$? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char2.right: -------------------------------------------------------------------------------- 1 |  2 | Done:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char2.tests: -------------------------------------------------------------------------------- 1 | c=`printf '\3'` 2 | eval "echo $c" 3 | echo Done:$? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char3.right: -------------------------------------------------------------------------------- 1 | SHELL: line 0: : not found 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char3.tests: -------------------------------------------------------------------------------- 1 | # (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages) 2 | $THIS_SH -c '\' SHELL 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char4.right: -------------------------------------------------------------------------------- 1 | SHELL: line 0: -: not found 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/control_char4.tests: -------------------------------------------------------------------------------- 1 | # (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages) 2 | $THIS_SH -c '"-"' SHELL 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/echo_write_error.right: -------------------------------------------------------------------------------- 1 | ash: write error: Broken pipe 2 | Ok: 1 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/empty_for.right: -------------------------------------------------------------------------------- 1 | OK: 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/empty_for.tests: -------------------------------------------------------------------------------- 1 | false 2 | for a in; do echo "HELLO"; done 3 | echo OK: $? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/empty_for1.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/empty_for1.tests: -------------------------------------------------------------------------------- 1 | false 2 | for v; do 3 | exit 2 4 | done 5 | echo Zero:$? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/empty_for2.right: -------------------------------------------------------------------------------- 1 | PARAM:abc 2 | PARAM:d e 3 | PARAM:123 4 | OK: 0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/env_and_func.right: -------------------------------------------------------------------------------- 1 | var=val 2 | var=old 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/errexit1.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/errexit1.tests: -------------------------------------------------------------------------------- 1 | set -e 2 | (true) 3 | echo OK 4 | (false) 5 | echo FAIL 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/eval1.right: -------------------------------------------------------------------------------- 1 | Ok:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/eval1.tests: -------------------------------------------------------------------------------- 1 | # empty eval nevertheless sets $? = 0 2 | false 3 | eval 4 | echo Ok:$? 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/eval2.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Zero:0 3 | Zero:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/eval2.tests: -------------------------------------------------------------------------------- 1 | false; eval; echo Zero:$? 2 | false; eval ""; echo Zero:$? 3 | false; eval " 4 | "; echo Zero:$? 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exec.right: -------------------------------------------------------------------------------- 1 | ./exec.tests: exec: line 2: ./test1.sh: not found 2 | 127 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exec.tests: -------------------------------------------------------------------------------- 1 | rm -f test1.sh 2 | (exec ./test1.sh) 3 | echo $? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exit1.right: -------------------------------------------------------------------------------- 1 | Once 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exit1.tests: -------------------------------------------------------------------------------- 1 | trap "echo Not shown" EXIT 2 | (exit) # must be silent 3 | trap "echo Once; exit" EXIT 4 | { exit; } 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode1.right: -------------------------------------------------------------------------------- 1 | One:1 2 | Zero:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode1.tests: -------------------------------------------------------------------------------- 1 | false || case a in a) echo One:$?;; esac 2 | echo Zero:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_EACCES.right: -------------------------------------------------------------------------------- 1 | ./exitcode_EACCES.tests: line 1: ./: Permission denied 2 | 126 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_EACCES.tests: -------------------------------------------------------------------------------- 1 | ./ 2 | echo $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_ENOENT.right: -------------------------------------------------------------------------------- 1 | ./exitcode_ENOENT.tests: line 1: ./does_not_exist_for_sure: not found 2 | 127 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_ENOENT.tests: -------------------------------------------------------------------------------- 1 | ./does_not_exist_for_sure 2 | echo $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap1.right: -------------------------------------------------------------------------------- 1 | Trapped 2 | One:1 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap2.right: -------------------------------------------------------------------------------- 1 | 42:42 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap3.right: -------------------------------------------------------------------------------- 1 | TERM 2 | 42:42 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap4.right: -------------------------------------------------------------------------------- 1 | TERM 2 | 11:11 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap5.right: -------------------------------------------------------------------------------- 1 | TERM 2 | Nested 3 | Zero:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap6.right: -------------------------------------------------------------------------------- 1 | INT 2 | 42:42 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/exitcode_trap7.right: -------------------------------------------------------------------------------- 1 | Start 2 | Ok:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/export1.right: -------------------------------------------------------------------------------- 1 | |\w \\ \ \| 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/export1.tests: -------------------------------------------------------------------------------- 1 | export Z='\w \\ \ \' 2 | echo "|$Z|" 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/for.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/for.tests: -------------------------------------------------------------------------------- 1 | for i 2 | in OK 3 | do 4 | echo $i 5 | done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/for_with_bslashes.right: -------------------------------------------------------------------------------- 1 | a 2 | b\c 3 | b\\c 4 | b"c 5 | b'c 6 | b$c 7 | b`true`c 8 | b#c 9 | Zero:0 10 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/for_with_keywords.right: -------------------------------------------------------------------------------- 1 | do 2 | done 3 | then 4 | OK: 0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/for_with_keywords.tests: -------------------------------------------------------------------------------- 1 | for if in do done then; do echo $if; done 2 | echo OK: $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func1.right: -------------------------------------------------------------------------------- 1 | Hello 2 | Zero: 0 3 | One: 1 Param1: World 4 | Zero: 0 Param1: Restored 5 | Multi line function 6 | One: 1 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func2.right: -------------------------------------------------------------------------------- 1 | First 0 2 | Second 0 3 | First 1 4 | Second 1 5 | Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func3.right: -------------------------------------------------------------------------------- 1 | One:1 2 | Zero:0 3 | One:1 4 | Five:5 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func4.right: -------------------------------------------------------------------------------- 1 | 24 2 | Done 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func4.tests: -------------------------------------------------------------------------------- 1 | func() { 2 | eval "echo \"\${val_${1}}\"" 3 | } 4 | 5 | val_x=24 6 | (func x) 7 | echo Done 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func5.right: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func5.tests: -------------------------------------------------------------------------------- 1 | f() { echo $1; } 2 | f 1 3 | 4 | f() ( echo $1; ) 5 | f 2 6 | 7 | f() ( echo $1 ) 8 | f 3 9 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_args1.right: -------------------------------------------------------------------------------- 1 | params: a b c 2 | 'f 1 2 3' called 3 | params: a b c 4 | 'f 1 2 3' called 5 | params: a b c 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_bash1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 1 5 | 2 6 | 3 7 | 1 8 | 2 9 | 3 10 | 1 11 | 2 12 | 3 13 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_compound1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_compound1.tests: -------------------------------------------------------------------------------- 1 | f() for i in 1 2 3; do 2 | echo $i 3 | done 4 | f 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_local1.right: -------------------------------------------------------------------------------- 1 | z=a 2 | z=z 3 | Done 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_local1.tests: -------------------------------------------------------------------------------- 1 | export z=z 2 | f() { local z=a; env | grep ^z; } 3 | f 4 | env | grep ^z 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_local2.right: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 1 4 | 2 5 | 1 6 | 1 7 | 2 8 | 2 9 | 3 10 | 2 11 | 2 12 | 3 13 | 1 14 | Done 15 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_prio_over_builtins.right: -------------------------------------------------------------------------------- 1 | YES 2 | YES 3 | YES 4 | YES 5 | Ok:YES 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_prio_over_builtins.tests: -------------------------------------------------------------------------------- 1 | true() { echo YES >&2; } 2 | true 3 | true | true 4 | (true) 5 | echo Ok:`true 2>&1` 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_return1.right: -------------------------------------------------------------------------------- 1 | Two:2 2 | Two:2 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_return2.right: -------------------------------------------------------------------------------- 1 | Two:2 2 | Two:2 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/func_return2.tests: -------------------------------------------------------------------------------- 1 | f1() { return 2; } 2 | f1 3 | echo Two:$? 4 | false 5 | true | f1 6 | echo Two:$? 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/group_in_braces.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Zero:0 3 | Zero:0 4 | Zero:0 5 | Zero:0 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/if_false_exitcode.right: -------------------------------------------------------------------------------- 1 | Ok:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/if_false_exitcode.tests: -------------------------------------------------------------------------------- 1 | if false; then echo Bad; fi 2 | echo Ok:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/last_amp.right: -------------------------------------------------------------------------------- 1 | 3 2 | End 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/local1.right: -------------------------------------------------------------------------------- 1 | A1:'A' 2 | A2:'' 3 | A3:'' 4 | A4:'A' 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/local2.right: -------------------------------------------------------------------------------- 1 | ./local2.tests: local: line 1: not in a function 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/local2.tests: -------------------------------------------------------------------------------- 1 | local x=1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/nommu1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ok 3 | Ok 4 | Ok 5 | Ok 6 | Ok 7 | Done 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/nommu2.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ok 3 | Ok 4 | Ok 5 | Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/nommu3.right: -------------------------------------------------------------------------------- 1 | Ok 2 | 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/nulltick1.right: -------------------------------------------------------------------------------- 1 | Test 1 2 | Test 2 3 | Done 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/nulltick1.tests: -------------------------------------------------------------------------------- 1 | echo Test ` ` 1 2 | echo Test `-10qwertyuiop< 2 | Done 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/opts1.tests: -------------------------------------------------------------------------------- 1 | if test $# = 0; then 2 | exec "$THIS_SH" $0 -10qwertyuiop 3 | fi 4 | echo "Param1: >$1<" 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/pid.right: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/pid.tests: -------------------------------------------------------------------------------- 1 | test `(echo $$)` = `echo $$`; echo $? 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/piped_input.right: -------------------------------------------------------------------------------- 1 | TEST 2 | One:1 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/piped_input.tests: -------------------------------------------------------------------------------- 1 | exec 2>&1 2 | echo 'echo TEST; false' | $THIS_SH 3 | echo One:$? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/read.right: -------------------------------------------------------------------------------- 1 | read 2 | cat 3 | echo "REPLY=$REPLY" 4 | REPLY=exec ../sourced.sh 2 | PATH="..:$PATH" 3 | . sourced.sh 4 | rm ../sourced.sh 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/source2.right: -------------------------------------------------------------------------------- 1 | Done: 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/source2.tests: -------------------------------------------------------------------------------- 1 | false 2 | . /dev/null 3 | echo Done: $? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/source3.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Zero:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/source5.right: -------------------------------------------------------------------------------- 1 | 0:arg0 1:arg1 2:arg2 2 | Ok1:0 3 | 0:arg0 1:q 2:w 4 | Ok2:0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/source_argv_and_shift.right: -------------------------------------------------------------------------------- 1 | sourced_arg1:1 2 | arg1: 3 | sourced_arg1:a 4 | arg1:1 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/tickquote1.right: -------------------------------------------------------------------------------- 1 | ./tickquote1.tests: line 0: syntax error: unterminated quoted string 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/tickquote1.tests: -------------------------------------------------------------------------------- 1 | echo _`"pwd`_ 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/unicode1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/until1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait4.right: -------------------------------------------------------------------------------- 1 | Three:3 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait4.tests: -------------------------------------------------------------------------------- 1 | sleep 1 | (sleep 1;exit 3) & wait %1 2 | echo Three:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait5.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Three:3 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait5.tests: -------------------------------------------------------------------------------- 1 | sleep 0 | (sleep 0;exit 3) & 2 | sleep 1 3 | echo Zero:$? 4 | wait %1 5 | echo Three:$? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait6.right: -------------------------------------------------------------------------------- 1 | 0 2 | 3 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/wait7.right: -------------------------------------------------------------------------------- 1 | Background1 2 | Ok:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while1.right: -------------------------------------------------------------------------------- 1 | OK:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while1.tests: -------------------------------------------------------------------------------- 1 | while false; do echo NOT SHOWN; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while2.right: -------------------------------------------------------------------------------- 1 | Hello 2 | OK:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while2.tests: -------------------------------------------------------------------------------- 1 | while echo Hello; false; do echo NOT SHOWN; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while4.right: -------------------------------------------------------------------------------- 1 | Ok:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while4.tests: -------------------------------------------------------------------------------- 1 | false 2 | while false && echo Not reached; do 3 | echo BUG 4 | break 5 | done 6 | echo Ok:$? 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while_in_subshell.right: -------------------------------------------------------------------------------- 1 | OK: 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-misc/while_in_subshell.tests: -------------------------------------------------------------------------------- 1 | (while true; do exit; done) 2 | echo OK: $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/and_or_and_backgrounding.right: -------------------------------------------------------------------------------- 1 | First 2 | Second 3 | Third 4 | Done 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/argv0.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/argv0.tests: -------------------------------------------------------------------------------- 1 | if test $# = 0; then 2 | exec "$THIS_SH" "$0" arg 3 | fi 4 | echo OK 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_eof1.right: -------------------------------------------------------------------------------- 1 | ok\ 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_eof1.tests: -------------------------------------------------------------------------------- 1 | eval 'echo ok\' 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline1.right: -------------------------------------------------------------------------------- 1 | and1 2 | and2 3 | or1 4 | ok 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline2.right: -------------------------------------------------------------------------------- 1 | Line with one backslash: 2 | \ 3 | 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline2.tests: -------------------------------------------------------------------------------- 1 | echo Line with one backslash: 2 | echo '\ 3 | ' 4 | echo Ok:$? 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline3.right: -------------------------------------------------------------------------------- 1 | a:[a] 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline3.tests: -------------------------------------------------------------------------------- 1 | for s in \ 2 | a; do 3 | echo "a:[$s]" 4 | done 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/bkslash_newline4.right: -------------------------------------------------------------------------------- 1 | 1:1 2 | 22:22 3 | 3:3 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/brace1.tests: -------------------------------------------------------------------------------- 1 | echo {abc} 2 | echo { 3 | echo } 4 | {cmd 5 | ""{ 6 | {"" 7 | echo Done: $? 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/brace2.right: -------------------------------------------------------------------------------- 1 | {q,w} 2 | {q,w} 3 | Done 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/brace2.tests: -------------------------------------------------------------------------------- 1 | v='{q,w}' 2 | # Should not brace-expand v value 3 | echo $v 4 | echo "$v" 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/comment1.right: -------------------------------------------------------------------------------- 1 | Nothing: 2 | String: #should-be-echoed 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/comment1.tests: -------------------------------------------------------------------------------- 1 | echo Nothing: #should-not-be-echoed 2 | echo String: ""#should-be-echoed 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/comment2.right: -------------------------------------------------------------------------------- 1 | Ok1 2 | Ok2 3 | Ok5 4 | Ok6 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/eol1.right: -------------------------------------------------------------------------------- 1 | Done:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape1.right: -------------------------------------------------------------------------------- 1 | \ 2 | a\b 3 | \\ 4 | c\\d 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape2.right: -------------------------------------------------------------------------------- 1 | *?[a]* 2 | a*?[a]*b 3 | *?[a]* 4 | c*?[a]*d 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape2.tests: -------------------------------------------------------------------------------- 1 | echo "*?[a]*" 2 | echo a"*?[a]*"b 3 | echo '*?[a]*' 4 | echo c'*?[a]*'d 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape4.right: -------------------------------------------------------------------------------- 1 | Ok 2 | End 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape4.tests: -------------------------------------------------------------------------------- 1 | i\ 2 | f tr\ 3 | ue; th\ 4 | en echo "O\ 5 | k"; fi; echo "\ 6 | End" -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape5.right: -------------------------------------------------------------------------------- 1 | a\nb\nc\n 2 | a 3 | b 4 | c 5 | a\nb\nc\n 6 | a 7 | b 8 | c 9 | Done 10 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/escape5.tests: -------------------------------------------------------------------------------- 1 | v="a\nb\nc\n" 2 | echo "$v" 3 | printf "$v" 4 | v='a\nb\nc\n' 5 | echo "$v" 6 | printf "$v" 7 | echo Done 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/group1.right: -------------------------------------------------------------------------------- 1 | word} } 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/group1.tests: -------------------------------------------------------------------------------- 1 | { echo word} }; } 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/group2.right: -------------------------------------------------------------------------------- 1 | got TERM 2 | Done: 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol.right: -------------------------------------------------------------------------------- 1 | HELLO 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol.tests: -------------------------------------------------------------------------------- 1 | # next line has no EOL! 2 | echo HELLO -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol2.right: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol2.tests: -------------------------------------------------------------------------------- 1 | # last line has no EOL! 2 | if true 3 | then 4 | echo 1 5 | else 6 | echo 2 7 | fi -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol3.right: -------------------------------------------------------------------------------- 1 | ./noeol3.tests: line 2: syntax error: unterminated quoted string 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/noeol3.tests: -------------------------------------------------------------------------------- 1 | # last line has no EOL! 2 | echo "unterminated -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/process_subst.right: -------------------------------------------------------------------------------- 1 | TESTzzBEST 2 | TEST$(echo zz)BEST 3 | TEST'BEST 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote1.right: -------------------------------------------------------------------------------- 1 | '1' 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote1.tests: -------------------------------------------------------------------------------- 1 | a=1 2 | echo "'$a'" 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote2.right: -------------------------------------------------------------------------------- 1 | >1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote2.tests: -------------------------------------------------------------------------------- 1 | a=1 2 | echo ">$a" 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote4.right: -------------------------------------------------------------------------------- 1 | a b 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/quote4.tests: -------------------------------------------------------------------------------- 1 | a_b='a b' 2 | echo "$a_b" 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/starquoted.right: -------------------------------------------------------------------------------- 1 | .1 abc d e f. 2 | .1. 3 | .abc. 4 | .d e f. 5 | .-1 abc d e f-. 6 | .-1. 7 | .abc. 8 | .d e f-. 9 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/starquoted3.right: -------------------------------------------------------------------------------- 1 | 2 | <> 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-parsing/starquoted3.tests: -------------------------------------------------------------------------------- 1 | set -- a ""; space=" "; printf "<%s>\n" "$@"$space 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/falsetick2.right: -------------------------------------------------------------------------------- 1 | Two:2 v:[] 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/falsetick2.tests: -------------------------------------------------------------------------------- 1 | v=v 2 | v=`exit 2` `false` 3 | echo Two:$? v:"[$v]" 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick.tests: -------------------------------------------------------------------------------- 1 | true 2 | false; echo `echo $?` 3 | true 4 | { false; echo `echo $?`; } 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick2.right: -------------------------------------------------------------------------------- 1 | BAZ 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick2.tests: -------------------------------------------------------------------------------- 1 | if false; then 2 | echo "FOO" 3 | tmp=`echo BAR >&2` 4 | fi 5 | echo BAZ 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick4.right: -------------------------------------------------------------------------------- 1 | (TEST) BEST 2 | TEST) BEST 3 | ((TEST) BEST 4 | ) 5 | abc 6 | a)c 7 | OK: 0 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick_huge.right: -------------------------------------------------------------------------------- 1 | 546ed3f5c81c780d3ab86ada14824237 - 2 | 546ed3f5c81c780d3ab86ada14824237 - 3 | End 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick_in_heredoc.right: -------------------------------------------------------------------------------- 1 | 1 2 | 3 | 2 4 | 5 | 3 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-psubst/tick_in_heredoc.tests: -------------------------------------------------------------------------------- 1 | cat << 2 | >< 3 | >test< 4 | >test< 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-read/read_t0.right: -------------------------------------------------------------------------------- 1 | ><[0] 2 | ><[0] 3 | ><[1] 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir.right: -------------------------------------------------------------------------------- 1 | ash: write error: Bad file descriptor 2 | TEST 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir2.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir3.right: -------------------------------------------------------------------------------- 1 | TEST 2 | ./redir3.tests: line 4: 9: Bad file descriptor 3 | Output to fd#9: 1 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir4.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir5.right: -------------------------------------------------------------------------------- 1 | Backgrounded pipes shall have their stdin redirected to /dev/null 2 | Zero:0 3 | Zero:0 4 | Done 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir6.right: -------------------------------------------------------------------------------- 1 | Hello 2 | OK 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir6.tests: -------------------------------------------------------------------------------- 1 | # we had a bug where this would hang 2 | (head -n 1 file.tmp 2 | cat 0<>file.tmp 3 | echo Done:$? 4 | rm file.tmp 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redirA.right: -------------------------------------------------------------------------------- 1 | tmp11 2 | tmp11 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_escapednum.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_escapednum.tests: -------------------------------------------------------------------------------- 1 | echo NOT SHOWN \2>/dev/null 2 | echo Ok 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_exec1.right: -------------------------------------------------------------------------------- 1 | ./redir_exec1.tests: line 1: can't create /cant/be/created: nonexistent directory 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_exec1.tests: -------------------------------------------------------------------------------- 1 | v=`echo First >&2` exec >/cant/be/created 2 | echo One:$? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_leak.right: -------------------------------------------------------------------------------- 1 | 4 2 | 4 3 | 4 4 | 4 5 | 4 6 | 4 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_multi.right: -------------------------------------------------------------------------------- 1 | Testing multiple redirections to same fd 2 | Hello 3 | Done1 4 | Done2 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_script.right: -------------------------------------------------------------------------------- 1 | Ok: script fd is not closed 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_space.right: -------------------------------------------------------------------------------- 1 | z1.tmp: 1 2 | z2.tmp: 1 3 | "z1.tmp z2.tmp": TEST 0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_stdin1.right: -------------------------------------------------------------------------------- 1 | #Testing that stdin redirect is restored 2 | read2 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd.right: -------------------------------------------------------------------------------- 1 | ./redir_to_bad_fd.tests: line 2: 10: Bad file descriptor 2 | OK 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&10 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd255.right: -------------------------------------------------------------------------------- 1 | ./redir_to_bad_fd255.tests: line 2: 255: Bad file descriptor 2 | OK 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd255.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&255 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd3.right: -------------------------------------------------------------------------------- 1 | ./redir_to_bad_fd3.tests: line 2: 3: Bad file descriptor 2 | OK 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-redir/redir_to_bad_fd3.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&3 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/catch.right: -------------------------------------------------------------------------------- 1 | sending USR2 2 | caught 3 | sending USR2 4 | sending USR2 5 | User defined signal 2 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/continue_and_trap1.right: -------------------------------------------------------------------------------- 1 | Exiting 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/reap1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/return_in_trap1.right: -------------------------------------------------------------------------------- 1 | a:2 2 | b:0 3 | Trap 4 | d:3 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/save-ret.right: -------------------------------------------------------------------------------- 1 | YEAH 2 | 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/sigint1.right: -------------------------------------------------------------------------------- 1 | Sending SIGINT to main shell PID 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal2.right: -------------------------------------------------------------------------------- 1 | child sleeps 2 | child exits as expected 3 | parent exits 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal3.right: -------------------------------------------------------------------------------- 1 | child sleeps 2 | child got HUP 3 | child exits 4 | parent exits 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal4.right: -------------------------------------------------------------------------------- 1 | ./signal4.tests: trap: line 3: BADNAME: invalid signal specification 2 | 1 3 | Trapped 4 | Ok 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal4.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | trap "echo Trapped" BADNAME TERM; echo $? 4 | kill $$ 5 | echo Ok 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal6.right: -------------------------------------------------------------------------------- 1 | got TERM 2 | Done: 0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal6.tests: -------------------------------------------------------------------------------- 1 | { trap "echo got TERM" TERM; sleep 3; }& sleep 1; kill $!; wait 2 | echo Done: $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal7.right: -------------------------------------------------------------------------------- 1 | Bug detected: 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal8.right: -------------------------------------------------------------------------------- 1 | Removing traps 2 | End of exit_func 3 | Done: 0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal9.right: -------------------------------------------------------------------------------- 1 | Removing traps 2 | End of exit_func 3 | Done: 0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/signal_read2.right: -------------------------------------------------------------------------------- 1 | Hangup 2 | Done:129 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-signals/sigquit_exec.right: -------------------------------------------------------------------------------- 1 | SigIgn: 0000000000000000 2 | SigIgn: 0000000000000000 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/noexec_gets_no_env.right: -------------------------------------------------------------------------------- 1 | VAR7=VAL 2 | 0 3 | VAR8=VAL 4 | 0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/noexec_gets_no_env.tests: -------------------------------------------------------------------------------- 1 | export VAR7=VAL 2 | env | grep ^VAR7= 3 | echo $? 4 | VAR8=VAL env | grep ^VAR8= 5 | echo $? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/nofork_env.right: -------------------------------------------------------------------------------- 1 | ZVAR=1 2 | ZVAR=2 3 | ZVAR=3 4 | ZVAR=4 5 | ZVAR=5 6 | ZVAR=6 7 | ZVAR=7 8 | ZVAR=8 9 | Ok:0 10 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/nofork_trashes_getopt.right: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/var_standalone1.right: -------------------------------------------------------------------------------- 1 | Done: 1 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-standalone/var_standalone1.tests: -------------------------------------------------------------------------------- 1 | VAR=42 $THIS_SH -c 'unset VAR; env | grep ^VAR' 2 | echo Done: $? 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/glob_and_vars.right: -------------------------------------------------------------------------------- 1 | ./glob_and_vars.right ./glob_and_vars.tests 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/glob_and_vars.tests: -------------------------------------------------------------------------------- 1 | v=. 2 | echo $v/glob_and_vars.[tr]* 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/param_expand_alt2.right: -------------------------------------------------------------------------------- 1 | Unquoted: H H 2 | Quoted: H 3 | H 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/param_expand_alt2.tests: -------------------------------------------------------------------------------- 1 | echo Unquoted: H${$+ 2 | }H 3 | 4 | echo Quoted: "H${$+ 5 | }H" 6 | 7 | echo Ok:$? 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/param_glob.right: -------------------------------------------------------------------------------- 1 | param_glob.tests 2 | param_glob.tests 3 | param_glob.t* 4 | param_glob.t* 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/param_subshell.right: -------------------------------------------------------------------------------- 1 | 1=1 2 | 2=2 3 | 3=3 4 | 4=4 5 | 5=5 6 | 6=6 7 | 7=7 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/readonly1.right: -------------------------------------------------------------------------------- 1 | Fail:2 2 | Fail:2 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/star.right: -------------------------------------------------------------------------------- 1 | .1. 2 | .abc. 3 | .d. 4 | .e. 5 | .f. 6 | .1 abc d e f. 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-collapse-arithmetic-expansion-at-parse-time.right: -------------------------------------------------------------------------------- 1 | 12 2 | 9 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-collapse-arithmetic-expansion-at-parse-time.tests: -------------------------------------------------------------------------------- 1 | unset a 2 | echo $((3 + ${a:=$((4 + 5))})) 3 | echo $a 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-expand-tilde-in-parameter-expansion-in-quotes.right: -------------------------------------------------------------------------------- 1 | ~root 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-expand-tilde-in-parameter-expansion-in-quotes.tests: -------------------------------------------------------------------------------- 1 | unset a 2 | echo "${a:-~root}" 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.right: -------------------------------------------------------------------------------- 1 | /b/c/ 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.tests: -------------------------------------------------------------------------------- 1 | a=/b/c/* 2 | b=\\ 3 | echo ${a%$b*} 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-expand-tilde-in-parameter-expansion.right: -------------------------------------------------------------------------------- 1 | :/root 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-expand-tilde-in-parameter-expansion.tests: -------------------------------------------------------------------------------- 1 | a=~root:~root 2 | echo ${a#~root} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-1.right: -------------------------------------------------------------------------------- 1 | a_\_z_c 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-1.tests: -------------------------------------------------------------------------------- 1 | v="a\bc" 2 | echo ${v/\\b/_\\_\z_} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-2.right: -------------------------------------------------------------------------------- 1 | ax/yc 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-2.tests: -------------------------------------------------------------------------------- 1 | v="abc" 2 | echo ${v/b/x/y} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-3.right: -------------------------------------------------------------------------------- 1 | axcabc 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-3.tests: -------------------------------------------------------------------------------- 1 | v="abcabc" 2 | echo ${v/b/x} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-4.right: -------------------------------------------------------------------------------- 1 | axcaxc 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-4.tests: -------------------------------------------------------------------------------- 1 | v="abcabc" 2 | echo ${v//b/x} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-5.right: -------------------------------------------------------------------------------- 1 | axc 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-pattern-replacement-in-parameter-expansion-5.tests: -------------------------------------------------------------------------------- 1 | v="ab/c" 2 | echo ${v/b\//x} 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-runtime-quote-detection.right: -------------------------------------------------------------------------------- 1 | <> 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-runtime-quote-detection.tests: -------------------------------------------------------------------------------- 1 | foo=\\ echo "<${foo#[\\]}>" 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-utf8-length.right: -------------------------------------------------------------------------------- 1 | 26 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var-utf8-length.tests: -------------------------------------------------------------------------------- 1 | LANG=en_US.UTF-8 2 | LC_ALL=en_US.UTF-8 3 | X=abcdÉfghÍjklmnÓpqrstÚvwcyz 4 | echo ${#X} 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var1.right: -------------------------------------------------------------------------------- 1 | http://busybox.net 2 | http://busybox.net_abc 3 | 1 1 4 | 1 1 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var2.right: -------------------------------------------------------------------------------- 1 | http://busybox.net 2 | http://busybox.net_abc 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var2.tests: -------------------------------------------------------------------------------- 1 | _1=http://busybox.net 2 | 3 | echo $_1 4 | echo ${_1}_abc 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var3.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | 4 | 5 | 0 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var3.tests: -------------------------------------------------------------------------------- 1 | x=0; f() { local x=1; echo $x; local x; echo $x; unset x; echo $x; local x; echo $x; }; f; echo $x 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var4.right: -------------------------------------------------------------------------------- 1 | bus/usb/1/2 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var4.tests: -------------------------------------------------------------------------------- 1 | X=usbdev1.2 X=${X#usbdev} B=${X%%.*} D=${X#*.}; echo bus/usb/$B/$D 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var5.right: -------------------------------------------------------------------------------- 1 | a=a A=a 2 | a=a A=a 3 | a= A= 4 | a= A= 5 | a=a A=a 6 | a=a A=a 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var6.right: -------------------------------------------------------------------------------- 1 | SHELL: line 0: syntax error: bad substitution 2 | SHELL: line 0: syntax error: bad substitution 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_10.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | One:1 3 | Done:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_10.tests: -------------------------------------------------------------------------------- 1 | set -- : 2 3 4 5 6 7 8 9 ten eleven 2 | echo Zero$10 3 | echo One$11 4 | echo Done:$? 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_LINENO1.right: -------------------------------------------------------------------------------- 1 | 2:2 2 | 3:3 3 | 4:4 4 | 5:5 5 | 2:2 6 | 3:3 7 | 4:4 8 | 5:5 9 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_LINENO2.right: -------------------------------------------------------------------------------- 1 | Start LINENO=6, calling function 2 | In function: LINENO=4 3 | After function: LINENO=8 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_LINENO3.right: -------------------------------------------------------------------------------- 1 | LINENO starts from 0 in -c 2 | and increments on next line: 1 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_LINENO3.tests: -------------------------------------------------------------------------------- 1 | $THIS_SH -c 'echo "LINENO starts from $LINENO in -c" 2 | echo "and increments on next line: $LINENO"' 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash6.right: -------------------------------------------------------------------------------- 1 | Expected Actual 2 | a*z : a*z 3 | z : z 4 | a1z a2z: a1z a2z 5 | z : z 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash7.right: -------------------------------------------------------------------------------- 1 | B 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash7.tests: -------------------------------------------------------------------------------- 1 | x=AB; echo "${x#$'\x41'}" 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_pattern_starting_with_slash.right: -------------------------------------------------------------------------------- 1 | -dev-ram 2 | /dev-am 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_pattern_starting_with_slash.tests: -------------------------------------------------------------------------------- 1 | v=/dev/ram 2 | echo ${v////-} 3 | echo ${v///r/-} 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_empty_pattern.right: -------------------------------------------------------------------------------- 1 | v 2 | Ok:0 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_empty_pattern.tests: -------------------------------------------------------------------------------- 1 | v=v 2 | echo ${v//} 3 | echo Ok:$? 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_empty_var.right: -------------------------------------------------------------------------------- 1 | 2 | w 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_empty_var.tests: -------------------------------------------------------------------------------- 1 | unset v 2 | echo ${v/*/w} 3 | v='' 4 | echo ${v/*/w} 5 | echo Ok:$? 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_unterminated.right: -------------------------------------------------------------------------------- 1 | b/d 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_bash_repl_unterminated.tests: -------------------------------------------------------------------------------- 1 | a=b-c 2 | echo ${a/-*}/d 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_expand_in_assign.right: -------------------------------------------------------------------------------- 1 | . . 2 | .abc d e. 3 | .abc d e. 4 | .abc d e. 5 | .abc d e. 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_expand_in_redir.right: -------------------------------------------------------------------------------- 1 | TEST1 2 | TEST2 3 | TEST3 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_in_pipes.right: -------------------------------------------------------------------------------- 1 | b=1 2 | b=2 3 | b=3 4 | b=4 5 | b=5 6 | b=6 7 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_leak.right: -------------------------------------------------------------------------------- 1 | should be empty: '' 2 | should be empty: '' 3 | should be not empty: 'val2' 4 | should be empty: '' 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_leaks.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_nested1.right: -------------------------------------------------------------------------------- 1 | Expected:AB Actual:AB 2 | Expected:Ab Actual:Ab 3 | Expected:ab Actual:ab 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_nested2.right: -------------------------------------------------------------------------------- 1 | aB 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_nested2.tests: -------------------------------------------------------------------------------- 1 | # the bug was easier to trigger in one-liner form 2 | a=a; b=b; f() { a=A; b=B; }; a= f; echo $a$b 3 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_unbackslash1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ba d 3 | Ok 4 | Ok 5 | Ok 6 | Forty two:42 7 | Forty two:42 8 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_wordsplit_ifs2.right: -------------------------------------------------------------------------------- 1 | Unquoted:<1> 2 | Unquoted:<3> 3 | Quoted:<123> 4 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_wordsplit_ifs4.right: -------------------------------------------------------------------------------- 1 | |x| 2 | Ok1:0 3 | |x| 4 | || 5 | Ok2:0 6 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_wordsplit_ifs5.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | -------------------------------------------------------------------------------- /shell/ash_test/ash-vars/var_wordsplit_ifs5.tests: -------------------------------------------------------------------------------- 1 | IFS= 2 | set -- 3 | set -- $@ $* 4 | echo Zero:$# 5 | -------------------------------------------------------------------------------- /shell/ash_test/ash-z_slow/many_ifs.right: -------------------------------------------------------------------------------- 1 | # tests 6856 passed 6856 failed 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/.gitignore: -------------------------------------------------------------------------------- 1 | *.fail 2 | *.xx 3 | 4 | /hush 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-arith/arith-postinc.right: -------------------------------------------------------------------------------- 1 | 1 1 2 | 1 1 3 | 1 1 4 | 1 1 5 | 6 6 6 | 7 7 7 | 7 7 8 | Ok:0 9 | -------------------------------------------------------------------------------- /shell/hush_test/hush-arith/arith_nested1.right: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-arith/arith_nested1.tests: -------------------------------------------------------------------------------- 1 | echo $(( ( $((1)) ) )) 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-bugs/export_exp.right: -------------------------------------------------------------------------------- 1 | aa0 bb0 2 | a=aa0 b=bb0 3 | aa1 bb1 4 | a=aa1 b=bb1 5 | zzz=zzz 6 | zz=* 7 | Done 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-bugs/strops5_bug.right: -------------------------------------------------------------------------------- 1 | 4:no:1 2 | 5:YES:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/bash_brace1.right: -------------------------------------------------------------------------------- 1 | bash_brace1.tests 2 | *{b,b}race1.t* 3 | bash_brace1.tests bash_brace1.tests 4 | Done: 0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/glob1.right: -------------------------------------------------------------------------------- 1 | glob1.tests 2 | glob1.tests 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/glob1.tests: -------------------------------------------------------------------------------- 1 | echo *glob1?t[e]sts* 2 | echo "glob1"?'t'[e]s* 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/glob3.right: -------------------------------------------------------------------------------- 1 | glob3.tests 2 | ./glob3.tests 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/glob3.tests: -------------------------------------------------------------------------------- 1 | echo "glob3.test"* 2 | echo "./glob3.test"* 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-glob/glob_redir.right: -------------------------------------------------------------------------------- 1 | z.tmp: 2 | ?.tmp: TEST 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-heredoc/heredoc1.right: -------------------------------------------------------------------------------- 1 | qwe 2 | asd 3 | 123 4 | 456 5 | Ok 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-heredoc/heredoc2.right: -------------------------------------------------------------------------------- 1 | bar 2 | bar 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-heredoc/heredoc2.tests: -------------------------------------------------------------------------------- 1 | foo () { 2 | cat <&2; } 2 | true 3 | true | true 4 | (true) 5 | echo Ok:`true 2>&1` 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/func_return1.right: -------------------------------------------------------------------------------- 1 | Two:2 2 | Two:2 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/func_return2.right: -------------------------------------------------------------------------------- 1 | Two:2 2 | Two:2 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/func_return2.tests: -------------------------------------------------------------------------------- 1 | f1() { return 2; } 2 | f1 3 | echo Two:$? 4 | false 5 | true | f1 6 | echo Two:$? 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/group_in_braces.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Zero:0 3 | Zero:0 4 | Zero:0 5 | Zero:0 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/if_false_exitcode.right: -------------------------------------------------------------------------------- 1 | Ok:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/if_false_exitcode.tests: -------------------------------------------------------------------------------- 1 | if false; then echo Bad; fi 2 | echo Ok:$? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/last_amp.right: -------------------------------------------------------------------------------- 1 | 3 2 | End 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/local1.right: -------------------------------------------------------------------------------- 1 | A1:'A' 2 | A2:'' 3 | A3:'' 4 | A4:'A' 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/nommu1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ok 3 | Ok 4 | Ok 5 | Ok 6 | Ok 7 | Done 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/nommu2.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ok 3 | Ok 4 | Ok 5 | Done 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/nommu3.right: -------------------------------------------------------------------------------- 1 | Ok 2 | 0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/nulltick1.right: -------------------------------------------------------------------------------- 1 | Test 1 2 | Test 2 3 | Done 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/nulltick1.tests: -------------------------------------------------------------------------------- 1 | echo Test ` ` 1 2 | echo Test `-10qwertyuiop< 2 | Done 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/opts1.tests: -------------------------------------------------------------------------------- 1 | if test $# = 0; then 2 | exec "$THIS_SH" $0 -10qwertyuiop 3 | fi 4 | echo "Param1: >$1<" 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/pid.right: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/pid.tests: -------------------------------------------------------------------------------- 1 | test `(echo $$)` = `echo $$`; echo $? 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/piped_input.right: -------------------------------------------------------------------------------- 1 | TEST 2 | One:1 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/piped_input.tests: -------------------------------------------------------------------------------- 1 | exec 2>&1 2 | echo 'echo TEST; false' | $THIS_SH 3 | echo One:$? 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/read.right: -------------------------------------------------------------------------------- 1 | read 2 | cat 3 | echo "REPLY=$REPLY" 4 | REPLY=exec ../sourced.sh 2 | PATH="..:$PATH" 3 | . sourced.sh 4 | rm ../sourced.sh 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source2.right: -------------------------------------------------------------------------------- 1 | Done: 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source2.tests: -------------------------------------------------------------------------------- 1 | false 2 | . /dev/null 3 | echo Done: $? 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source3.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Zero:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source4.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unterminated ${name} 2 | line2 3 | Ok1:0 4 | hush: syntax error: unterminated ' 5 | Ok2:1 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source5.right: -------------------------------------------------------------------------------- 1 | 0:arg0 1:arg1 2:arg2 2 | Ok1:0 3 | 0:arg0 1:q 2:w 4 | Ok2:0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/source_argv_and_shift.right: -------------------------------------------------------------------------------- 1 | sourced_arg1:1 2 | arg1: 3 | sourced_arg1:a 4 | arg1:1 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/syntax_err.right: -------------------------------------------------------------------------------- 1 | shown 2 | hush: syntax error: unterminated ' 3 | test 4 | not shown 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/syntax_err.tests: -------------------------------------------------------------------------------- 1 | echo shown 2 | echo test `echo 'aa` 3 | echo not shown 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/syntax_err_negate.right: -------------------------------------------------------------------------------- 1 | bash 3.2 fails this 2 | hush: syntax error: ! ! command 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/syntax_err_negate.tests: -------------------------------------------------------------------------------- 1 | echo bash 3.2 fails this 2 | ! ! true 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/tickquote1.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unterminated " 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/tickquote1.tests: -------------------------------------------------------------------------------- 1 | # UNFIXED BUG: hush does not parse embedded `cmd` at embedding document parse time 2 | echo _`"pwd`_ 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/unicode1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/until1.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait1.right: -------------------------------------------------------------------------------- 1 | 0 2 | [1] Running sleep 2 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait1.tests: -------------------------------------------------------------------------------- 1 | sleep 2 & sleep 1 & wait $! 2 | echo $? 3 | jobs 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait2.right: -------------------------------------------------------------------------------- 1 | 0 2 | [1] Running sleep 3 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait2.tests: -------------------------------------------------------------------------------- 1 | sleep 3 & sleep 2 & sleep 1 2 | wait $! 3 | echo $? 4 | jobs 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait3.right: -------------------------------------------------------------------------------- 1 | 3 2 | [1] Running sleep 2 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait3.tests: -------------------------------------------------------------------------------- 1 | sleep 2 & (sleep 1;exit 3) & wait $! 2 | echo $? 3 | jobs 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait4.right: -------------------------------------------------------------------------------- 1 | Three:3 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait4.tests: -------------------------------------------------------------------------------- 1 | sleep 1 | (sleep 1;exit 3) & wait %1 2 | echo Three:$? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait5.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | Three:3 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait5.tests: -------------------------------------------------------------------------------- 1 | sleep 0 | (sleep 0;exit 3) & 2 | sleep 1 3 | echo Zero:$? 4 | wait %1 5 | echo Three:$? 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait6.right: -------------------------------------------------------------------------------- 1 | 0 2 | 3 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/wait7.right: -------------------------------------------------------------------------------- 1 | Background1 2 | Ok:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while1.right: -------------------------------------------------------------------------------- 1 | OK:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while1.tests: -------------------------------------------------------------------------------- 1 | while false; do echo NOT SHOWN; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while2.right: -------------------------------------------------------------------------------- 1 | Hello 2 | OK:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while2.tests: -------------------------------------------------------------------------------- 1 | while echo Hello; false; do echo NOT SHOWN; done 2 | echo OK:$? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while3.right: -------------------------------------------------------------------------------- 1 | OK:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while3.tests: -------------------------------------------------------------------------------- 1 | while false; do 2 | # bash will require at least ":" here... 3 | done 4 | echo OK:$? 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while4.right: -------------------------------------------------------------------------------- 1 | Ok:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while4.tests: -------------------------------------------------------------------------------- 1 | false 2 | while false && echo Not reached; do 3 | echo BUG 4 | break 5 | done 6 | echo Ok:$? 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while_in_subshell.right: -------------------------------------------------------------------------------- 1 | OK: 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-misc/while_in_subshell.tests: -------------------------------------------------------------------------------- 1 | (while true; do exit; done) 2 | echo OK: $? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/and_or_and_backgrounding.right: -------------------------------------------------------------------------------- 1 | First 2 | Second 3 | Third 4 | Done 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/argv0.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/argv0.tests: -------------------------------------------------------------------------------- 1 | if test $# = 0; then 2 | exec "$THIS_SH" "$0" arg 3 | fi 4 | echo OK 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_eof1.right: -------------------------------------------------------------------------------- 1 | ok\ 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_eof1.tests: -------------------------------------------------------------------------------- 1 | eval 'echo ok\' 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_eof2.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unterminated " 2 | One:1 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline1.right: -------------------------------------------------------------------------------- 1 | and1 2 | and2 3 | or1 4 | ok 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline2.right: -------------------------------------------------------------------------------- 1 | Line with one backslash: 2 | \ 3 | 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline2.tests: -------------------------------------------------------------------------------- 1 | echo Line with one backslash: 2 | echo '\ 3 | ' 4 | echo Ok:$? 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline3.right: -------------------------------------------------------------------------------- 1 | a:[a] 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline3.tests: -------------------------------------------------------------------------------- 1 | for s in \ 2 | a; do 3 | echo "a:[$s]" 4 | done 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/bkslash_newline4.right: -------------------------------------------------------------------------------- 1 | 1:1 2 | 22:22 3 | 3:3 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/brace1.tests: -------------------------------------------------------------------------------- 1 | echo {abc} 2 | echo { 3 | echo } 4 | {cmd 5 | ""{ 6 | {"" 7 | echo Done: $? 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/brace2.right: -------------------------------------------------------------------------------- 1 | {q,w} 2 | {q,w} 3 | Done 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/brace2.tests: -------------------------------------------------------------------------------- 1 | v='{q,w}' 2 | # Should not brace-expand v value 3 | echo $v 4 | echo "$v" 5 | echo Done 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/comment1.right: -------------------------------------------------------------------------------- 1 | Nothing: 2 | String: #should-be-echoed 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/comment1.tests: -------------------------------------------------------------------------------- 1 | echo Nothing: #should-not-be-echoed 2 | echo String: ""#should-be-echoed 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/comment2.right: -------------------------------------------------------------------------------- 1 | Ok1 2 | Ok2 3 | Ok5 4 | Ok6 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/eol1.right: -------------------------------------------------------------------------------- 1 | Done:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape1.right: -------------------------------------------------------------------------------- 1 | \ 2 | a\b 3 | \\ 4 | c\\d 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape2.right: -------------------------------------------------------------------------------- 1 | *?[a]* 2 | a*?[a]*b 3 | *?[a]* 4 | c*?[a]*d 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape2.tests: -------------------------------------------------------------------------------- 1 | echo "*?[a]*" 2 | echo a"*?[a]*"b 3 | echo '*?[a]*' 4 | echo c'*?[a]*'d 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape4.right: -------------------------------------------------------------------------------- 1 | Ok 2 | End 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape4.tests: -------------------------------------------------------------------------------- 1 | i\ 2 | f tr\ 3 | ue; th\ 4 | en echo "O\ 5 | k"; fi; echo "\ 6 | End" -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape5.right: -------------------------------------------------------------------------------- 1 | a\nb\nc\n 2 | a 3 | b 4 | c 5 | a\nb\nc\n 6 | a 7 | b 8 | c 9 | Done 10 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/escape5.tests: -------------------------------------------------------------------------------- 1 | v="a\nb\nc\n" 2 | echo "$v" 3 | printf "$v" 4 | v='a\nb\nc\n' 5 | echo "$v" 6 | printf "$v" 7 | echo Done 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/group1.right: -------------------------------------------------------------------------------- 1 | word} } 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/group1.tests: -------------------------------------------------------------------------------- 1 | { echo word} }; } 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/group2.right: -------------------------------------------------------------------------------- 1 | got TERM 2 | Done: 0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/groups_and_keywords2.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unexpected ) 2 | Fail:2 3 | hush: syntax error: unexpected ) 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol.right: -------------------------------------------------------------------------------- 1 | HELLO 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol.tests: -------------------------------------------------------------------------------- 1 | # next line has no EOL! 2 | echo HELLO -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol2.right: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol2.tests: -------------------------------------------------------------------------------- 1 | # last line has no EOL! 2 | if true 3 | then 4 | echo 1 5 | else 6 | echo 2 7 | fi -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol3.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unterminated " 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/noeol3.tests: -------------------------------------------------------------------------------- 1 | # last line has no EOL! 2 | echo "unterminated -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/process_subst.right: -------------------------------------------------------------------------------- 1 | TESTzzBEST 2 | TEST$(echo zz)BEST 3 | TEST'BEST 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote1.right: -------------------------------------------------------------------------------- 1 | '1' 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote1.tests: -------------------------------------------------------------------------------- 1 | a=1 2 | echo "'$a'" 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote2.right: -------------------------------------------------------------------------------- 1 | >1 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote2.tests: -------------------------------------------------------------------------------- 1 | a=1 2 | echo ">$a" 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote4.right: -------------------------------------------------------------------------------- 1 | a b 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/quote4.tests: -------------------------------------------------------------------------------- 1 | a_b='a b' 2 | echo "$a_b" 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/starquoted.right: -------------------------------------------------------------------------------- 1 | .1 abc d e f. 2 | .1. 3 | .abc. 4 | .d e f. 5 | .-1 abc d e f-. 6 | .-1. 7 | .abc. 8 | .d e f-. 9 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/starquoted3.right: -------------------------------------------------------------------------------- 1 | 2 | <> 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-parsing/starquoted3.tests: -------------------------------------------------------------------------------- 1 | set -- a ""; space=" "; printf "<%s>\n" "$@"$space 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/falsetick2.right: -------------------------------------------------------------------------------- 1 | Two:2 v:[] 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/falsetick2.tests: -------------------------------------------------------------------------------- 1 | v=v 2 | v=`exit 2` `false` 3 | echo Two:$? v:"[$v]" 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/falsetick3.right: -------------------------------------------------------------------------------- 1 | hush: can't open '/does/not/exist': No such file or directory 2 | 1 3 | Done: a=b 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick.tests: -------------------------------------------------------------------------------- 1 | true 2 | false; echo `echo $?` 3 | true 4 | { false; echo `echo $?`; } 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick2.right: -------------------------------------------------------------------------------- 1 | BAZ 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick2.tests: -------------------------------------------------------------------------------- 1 | if false; then 2 | echo "FOO" 3 | tmp=`echo BAR >&2` 4 | fi 5 | echo BAZ 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick4.right: -------------------------------------------------------------------------------- 1 | (TEST) BEST 2 | TEST) BEST 3 | ((TEST) BEST 4 | ) 5 | abc 6 | a)c 7 | OK: 0 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick5.right: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick5.tests: -------------------------------------------------------------------------------- 1 | true; echo `false` $? 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick6.right: -------------------------------------------------------------------------------- 1 | 137 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick6.tests: -------------------------------------------------------------------------------- 1 | true; echo `sh -c 'kill -9 $$'` $? 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick_huge.right: -------------------------------------------------------------------------------- 1 | 546ed3f5c81c780d3ab86ada14824237 - 2 | 546ed3f5c81c780d3ab86ada14824237 - 3 | End 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick_in_heredoc.right: -------------------------------------------------------------------------------- 1 | 1 2 | 3 | 2 4 | 5 | 3 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-psubst/tick_in_heredoc.tests: -------------------------------------------------------------------------------- 1 | cat << 2 | >< 3 | >test< 4 | >test< 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-read/read_t0.right: -------------------------------------------------------------------------------- 1 | ><[0] 2 | ><[0] 3 | ><[1] 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir.right: -------------------------------------------------------------------------------- 1 | hush: write error: Bad file descriptor 2 | TEST 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir2.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir3.right: -------------------------------------------------------------------------------- 1 | TEST 2 | hush: can't duplicate file descriptor: Bad file descriptor 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir4.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir5.right: -------------------------------------------------------------------------------- 1 | Backgrounded pipes shall have their stdin redirected to /dev/null 2 | Zero:0 3 | Zero:0 4 | Done 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir6.right: -------------------------------------------------------------------------------- 1 | Hello 2 | OK 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir6.tests: -------------------------------------------------------------------------------- 1 | # we had a bug where this would hang 2 | (head -n 1 file.tmp 2 | cat 0<>file.tmp 3 | echo Done:$? 4 | rm file.tmp 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redirA.right: -------------------------------------------------------------------------------- 1 | tmp11 2 | tmp11 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_escapednum.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_escapednum.tests: -------------------------------------------------------------------------------- 1 | echo NOT SHOWN \2>/dev/null 2 | echo Ok 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_exec1.right: -------------------------------------------------------------------------------- 1 | First 2 | hush: can't open '/cant/be/created': No such file or directory 3 | One:1 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_exec1.tests: -------------------------------------------------------------------------------- 1 | v=`echo First >&2` exec >/cant/be/created 2 | echo One:$? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_leak.right: -------------------------------------------------------------------------------- 1 | 4 2 | 4 3 | 4 4 | 4 5 | 4 6 | 4 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_multi.right: -------------------------------------------------------------------------------- 1 | Testing multiple redirections to same fd 2 | Hello 3 | Done1 4 | Done2 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_script.right: -------------------------------------------------------------------------------- 1 | Ok: script fd is not closed 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_space.right: -------------------------------------------------------------------------------- 1 | z1.tmp: 1 2 | z2.tmp: 1 3 | "z1.tmp z2.tmp": TEST 0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_stdin1.right: -------------------------------------------------------------------------------- 1 | #Testing that stdin redirect is restored 2 | read2 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd.right: -------------------------------------------------------------------------------- 1 | hush: can't duplicate file descriptor: Bad file descriptor 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&10 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd255.right: -------------------------------------------------------------------------------- 1 | hush: can't duplicate file descriptor: Bad file descriptor 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd255.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&255 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd3.right: -------------------------------------------------------------------------------- 1 | hush: can't duplicate file descriptor: Bad file descriptor 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-redir/redir_to_bad_fd3.tests: -------------------------------------------------------------------------------- 1 | # ash uses fd 10 (usually) for reading the script 2 | echo LOST >&3 3 | echo OK 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/catch.right: -------------------------------------------------------------------------------- 1 | sending USR2 2 | caught 3 | sending USR2 4 | sending USR2 5 | User defined signal 2 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/continue_and_trap1.right: -------------------------------------------------------------------------------- 1 | Exiting 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/reap1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/return_in_trap1.right: -------------------------------------------------------------------------------- 1 | a:2 2 | b:0 3 | Trap 4 | d:3 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/save-ret.right: -------------------------------------------------------------------------------- 1 | YEAH 2 | 0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/sigint1.right: -------------------------------------------------------------------------------- 1 | Sending SIGINT to main shell PID 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal2.right: -------------------------------------------------------------------------------- 1 | child sleeps 2 | child exits as expected 3 | parent exits 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal3.right: -------------------------------------------------------------------------------- 1 | child sleeps 2 | child got HUP 3 | child exits 4 | parent exits 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal4.right: -------------------------------------------------------------------------------- 1 | hush: trap: BADNAME: invalid signal specification 2 | 1 3 | Trapped 4 | Ok 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal4.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | trap "echo Trapped" BADNAME TERM; echo $? 4 | kill $$ 5 | echo Ok 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal6.right: -------------------------------------------------------------------------------- 1 | got TERM 2 | Done: 0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal6.tests: -------------------------------------------------------------------------------- 1 | { trap "echo got TERM" TERM; sleep 3; }& sleep 1; kill $!; wait 2 | echo Done: $? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal7.right: -------------------------------------------------------------------------------- 1 | Bug detected: 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal8.right: -------------------------------------------------------------------------------- 1 | Removing traps 2 | End of exit_func 3 | Done: 0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal9.right: -------------------------------------------------------------------------------- 1 | Removing traps 2 | End of exit_func 3 | Done: 0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal_read1.right: -------------------------------------------------------------------------------- 1 | Got HUP:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/signal_read2.right: -------------------------------------------------------------------------------- 1 | Hangup 2 | Done:129 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-signals/sigquit_exec.right: -------------------------------------------------------------------------------- 1 | SigIgn: 0000000000000000 2 | SigIgn: 0000000000000000 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-standalone/noexec_gets_no_env.right: -------------------------------------------------------------------------------- 1 | VAR7=VAL 2 | 0 3 | VAR8=VAL 4 | 0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-standalone/noexec_gets_no_env.tests: -------------------------------------------------------------------------------- 1 | export VAR7=VAL 2 | env | grep ^VAR7= 3 | echo $? 4 | VAR8=VAL env | grep ^VAR8= 5 | echo $? 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-standalone/nofork_trashes_getopt.right: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-standalone/var_standalone1.right: -------------------------------------------------------------------------------- 1 | Done: 1 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-standalone/var_standalone1.tests: -------------------------------------------------------------------------------- 1 | VAR=42 $THIS_SH -c 'unset VAR; env | grep ^VAR' 2 | echo Done: $? 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/andor1.right: -------------------------------------------------------------------------------- 1 | 1:YES 2 | 2:no 3 | 3:YES 4 | 4:YES 5 | 5:no 6 | 6:no 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/noglob1.right: -------------------------------------------------------------------------------- 1 | 1:YES:0 2 | 2:YES:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/noglob1.tests: -------------------------------------------------------------------------------- 1 | v='*.tests' 2 | [[ *.tests ]]; echo 1:YES:$? 3 | [[ $v ]]; echo 2:YES:$? 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops1.right: -------------------------------------------------------------------------------- 1 | 1:YES:0 2 | 2:YES:0 3 | 3:YES:0 4 | 4:YES:0 5 | 5:YES:0 6 | 6:YES:0 7 | 7:YES:0 8 | 8:no:1 9 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops2.right: -------------------------------------------------------------------------------- 1 | 1:ERR2:2 2 | 2:YES:0 3 | 3:YES:0 4 | 4:YES:0 5 | 5:no:1 6 | 6:YES:0 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops3.right: -------------------------------------------------------------------------------- 1 | 1:YES:0 2 | 2:YES:0 3 | 3:no:1 4 | 4:YES:0 5 | 2u:YES:0 6 | 3u:YES:0 7 | 4u:YES:0 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops4.right: -------------------------------------------------------------------------------- 1 | 1:no:1 2 | 2:YES:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops4.tests: -------------------------------------------------------------------------------- 1 | # < > are not redirect operators 2 | [[ a > b ]]; echo 1:no:$? 3 | [[ a < b ]]; echo 2:YES:$? 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-test2/strops5.right: -------------------------------------------------------------------------------- 1 | 1:YES:0 2 | 2:no:1 3 | 3:YES:0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/glob_and_vars.right: -------------------------------------------------------------------------------- 1 | ./glob_and_vars.right ./glob_and_vars.tests 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/glob_and_vars.tests: -------------------------------------------------------------------------------- 1 | v=. 2 | echo $v/glob_and_vars.[tr]* 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/param_expand_alt2.right: -------------------------------------------------------------------------------- 1 | Unquoted: H H 2 | Quoted: H 3 | H 4 | Ok:0 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/param_expand_alt2.tests: -------------------------------------------------------------------------------- 1 | echo Unquoted: H${$+ 2 | }H 3 | 4 | echo Quoted: "H${$+ 5 | }H" 6 | 7 | echo Ok:$? 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/param_glob.right: -------------------------------------------------------------------------------- 1 | param_glob.tests 2 | param_glob.tests 3 | param_glob.t* 4 | param_glob.t* 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/param_subshell.right: -------------------------------------------------------------------------------- 1 | 1=1 2 | 2=2 3 | 3=3 4 | 4=4 5 | 5=5 6 | 6=6 7 | 7=7 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/readonly2.right: -------------------------------------------------------------------------------- 1 | hush: a=Z: readonly variable 2 | Visible:42 3 | 4 | hush: a=Z: readonly variable 5 | Visible:42 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/readonly3.right: -------------------------------------------------------------------------------- 1 | hush: v=2: readonly variable 2 | hush: v=3: readonly variable 3 | 1 4 | Ok:1 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/star.right: -------------------------------------------------------------------------------- 1 | .1. 2 | .abc. 3 | .d. 4 | .e. 5 | .f. 6 | .1 abc d e f. 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-collapse-arithmetic-expansion-at-parse-time.right: -------------------------------------------------------------------------------- 1 | 12 2 | 9 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-collapse-arithmetic-expansion-at-parse-time.tests: -------------------------------------------------------------------------------- 1 | unset a 2 | echo $((3 + ${a:=$((4 + 5))})) 3 | echo $a 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-expand-tilde-in-parameter-expansion-in-quotes.right: -------------------------------------------------------------------------------- 1 | ~root 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-expand-tilde-in-parameter-expansion-in-quotes.tests: -------------------------------------------------------------------------------- 1 | unset a 2 | echo "${a:-~root}" 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.right: -------------------------------------------------------------------------------- 1 | /b/c/ 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.tests: -------------------------------------------------------------------------------- 1 | a=/b/c/* 2 | b=\\ 3 | echo ${a%$b*} 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-1.right: -------------------------------------------------------------------------------- 1 | a_\_z_c 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-1.tests: -------------------------------------------------------------------------------- 1 | v="a\bc" 2 | echo ${v/\\b/_\\_\z_} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-2.right: -------------------------------------------------------------------------------- 1 | ax/yc 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-2.tests: -------------------------------------------------------------------------------- 1 | v="abc" 2 | echo ${v/b/x/y} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-3.right: -------------------------------------------------------------------------------- 1 | axcabc 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-3.tests: -------------------------------------------------------------------------------- 1 | v="abcabc" 2 | echo ${v/b/x} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-4.right: -------------------------------------------------------------------------------- 1 | axcaxc 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-4.tests: -------------------------------------------------------------------------------- 1 | v="abcabc" 2 | echo ${v//b/x} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-5.right: -------------------------------------------------------------------------------- 1 | axc 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-pattern-replacement-in-parameter-expansion-5.tests: -------------------------------------------------------------------------------- 1 | v="ab/c" 2 | echo ${v/b\//x} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-runtime-quote-detection.right: -------------------------------------------------------------------------------- 1 | <> 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-runtime-quote-detection.tests: -------------------------------------------------------------------------------- 1 | foo=\\ echo "<${foo#[\\]}>" 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-utf8-length.right: -------------------------------------------------------------------------------- 1 | 26 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var-utf8-length.tests: -------------------------------------------------------------------------------- 1 | LANG=en_US.UTF-8 2 | LC_ALL=en_US.UTF-8 3 | X=abcdÉfghÍjklmnÓpqrstÚvwcyz 4 | echo ${#X} 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var1.right: -------------------------------------------------------------------------------- 1 | http://busybox.net 2 | http://busybox.net_abc 3 | 1 1 4 | 1 1 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var2.right: -------------------------------------------------------------------------------- 1 | http://busybox.net 2 | http://busybox.net_abc 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var2.tests: -------------------------------------------------------------------------------- 1 | _1=http://busybox.net 2 | 3 | echo $_1 4 | echo ${_1}_abc 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var3.right: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | 4 | 5 | 0 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var3.tests: -------------------------------------------------------------------------------- 1 | x=0; f() { local x=1; echo $x; local x; echo $x; unset x; echo $x; local x; echo $x; }; f; echo $x 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var4.right: -------------------------------------------------------------------------------- 1 | bus/usb/1/2 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var4.tests: -------------------------------------------------------------------------------- 1 | X=usbdev1.2 X=${X#usbdev} B=${X%%.*} D=${X#*.}; echo bus/usb/$B/$D 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var5.right: -------------------------------------------------------------------------------- 1 | a=a A=a 2 | a=a A=a 3 | a= A= 4 | a= A= 5 | a=a A=a 6 | a=a A=a 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var6.right: -------------------------------------------------------------------------------- 1 | hush: syntax error: unterminated ${name} 2 | hush: syntax error: unterminated ${name} 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_10.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | One:1 3 | Done:0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_10.tests: -------------------------------------------------------------------------------- 1 | set -- : 2 3 4 5 6 7 8 9 ten eleven 2 | echo Zero$10 3 | echo One$11 4 | echo Done:$? 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_LINENO1.right: -------------------------------------------------------------------------------- 1 | 2:2 2 | 3:3 3 | 4:4 4 | 5:5 5 | 2:2 6 | 3:3 7 | 4:4 8 | 5:5 9 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_LINENO2.right: -------------------------------------------------------------------------------- 1 | Start LINENO=6, calling function 2 | In function: LINENO=4 3 | After function: LINENO=8 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_LINENO3.right: -------------------------------------------------------------------------------- 1 | LINENO starts from 0 in -c 2 | and increments on next line: 1 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_LINENO3.tests: -------------------------------------------------------------------------------- 1 | $THIS_SH -c 'echo "LINENO starts from $LINENO in -c" 2 | echo "and increments on next line: $LINENO"' 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash6.right: -------------------------------------------------------------------------------- 1 | Expected Actual 2 | a*z : a*z 3 | z : z 4 | a1z a2z: a1z a2z 5 | z : z 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash7.right: -------------------------------------------------------------------------------- 1 | B 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash7.tests: -------------------------------------------------------------------------------- 1 | x=AB; echo "${x#$'\x41'}" 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_pattern_starting_with_slash.right: -------------------------------------------------------------------------------- 1 | -dev-ram 2 | /dev-am 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_pattern_starting_with_slash.tests: -------------------------------------------------------------------------------- 1 | v=/dev/ram 2 | echo ${v////-} 3 | echo ${v///r/-} 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_empty_pattern.right: -------------------------------------------------------------------------------- 1 | v 2 | Ok:0 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_empty_pattern.tests: -------------------------------------------------------------------------------- 1 | v=v 2 | echo ${v//} 3 | echo Ok:$? 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_empty_var.right: -------------------------------------------------------------------------------- 1 | 2 | w 3 | Ok:0 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_empty_var.tests: -------------------------------------------------------------------------------- 1 | unset v 2 | echo ${v/*/w} 3 | v='' 4 | echo ${v/*/w} 5 | echo Ok:$? 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_unterminated.right: -------------------------------------------------------------------------------- 1 | b/d 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_bash_repl_unterminated.tests: -------------------------------------------------------------------------------- 1 | a=b-c 2 | echo ${a/-*}/d 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_expand_in_assign.right: -------------------------------------------------------------------------------- 1 | . . 2 | .abc d e. 3 | .abc d e. 4 | .abc d e. 5 | .abc d e. 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_expand_in_redir.right: -------------------------------------------------------------------------------- 1 | TEST1 2 | TEST2 3 | TEST3 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_in_pipes.right: -------------------------------------------------------------------------------- 1 | b=1 2 | b=2 3 | b=3 4 | b=4 5 | b=5 6 | b=6 7 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_leaks.right: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_nested1.right: -------------------------------------------------------------------------------- 1 | Expected:AB Actual:AB 2 | Expected:Ab Actual:Ab 3 | Expected:ab Actual:ab 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_nested2.right: -------------------------------------------------------------------------------- 1 | aB 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_nested2.tests: -------------------------------------------------------------------------------- 1 | # the bug was easier to trigger in one-liner form 2 | a=a; b=b; f() { a=A; b=B; }; a= f; echo $a$b 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_preserved.right: -------------------------------------------------------------------------------- 1 | a=b 2 | a=b 3 | a=b 4 | OK 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_unbackslash1.right: -------------------------------------------------------------------------------- 1 | Ok 2 | Ba d 3 | Ok 4 | Ok 5 | Ok 6 | Forty two:42 7 | Forty two:42 8 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_wordsplit_ifs2.right: -------------------------------------------------------------------------------- 1 | Unquoted:<1> 2 | Unquoted:<3> 3 | Quoted:<123> 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_wordsplit_ifs4.right: -------------------------------------------------------------------------------- 1 | |x| 2 | Ok1:0 3 | |x| 4 | || 5 | Ok2:0 6 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_wordsplit_ifs5.right: -------------------------------------------------------------------------------- 1 | Zero:0 2 | -------------------------------------------------------------------------------- /shell/hush_test/hush-vars/var_wordsplit_ifs5.tests: -------------------------------------------------------------------------------- 1 | IFS= 2 | set -- 3 | set -- $@ $* 4 | echo Zero:$# 5 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_all1.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_all2.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_empty_tick.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_heredoc1.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_var.right: -------------------------------------------------------------------------------- 1 | Measuring memory leak... 2 | Ok 3 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_var2.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/leak_var3.right: -------------------------------------------------------------------------------- 1 | Warm up 2 | Measuring memory leak... 3 | Ok 4 | -------------------------------------------------------------------------------- /shell/hush_test/hush-z_slow/many_ifs.right: -------------------------------------------------------------------------------- 1 | # tests 6856 passed 6856 failed 0 2 | -------------------------------------------------------------------------------- /testsuite/.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt eol=lf 2 | *.bc eol=lf 3 | *.dc eol=lf 4 | -------------------------------------------------------------------------------- /testsuite/awk_t1.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/testsuite/awk_t1.tar.bz2 -------------------------------------------------------------------------------- /testsuite/basename/basename-does-not-remove-identical-extension: -------------------------------------------------------------------------------- 1 | test xfoo = x`busybox basename foo foo` 2 | -------------------------------------------------------------------------------- /testsuite/basename/basename-works: -------------------------------------------------------------------------------- 1 | test x$(basename $(pwd)) = x$(busybox basename $(pwd)) 2 | -------------------------------------------------------------------------------- /testsuite/bc_arrays.bc: -------------------------------------------------------------------------------- 1 | a[0] = 1 2 | a[2-1] = 2 3 | 4 | a[0]+a[0] 5 | 6 | a[2-1]+a[2-1] 7 | 8 | a[5] = 2 9 | a[5.789] 10 | 11 | -------------------------------------------------------------------------------- /testsuite/bc_arrays_results.txt: -------------------------------------------------------------------------------- 1 | 2 2 | 4 3 | 2 4 | -------------------------------------------------------------------------------- /testsuite/bc_misc_results.txt: -------------------------------------------------------------------------------- 1 | -1284597623836.9 2 | -1284597623836.9 3 | -4483684050181.80 4 | -4483684050181.80 5 | -------------------------------------------------------------------------------- /testsuite/bc_pi.bc: -------------------------------------------------------------------------------- 1 | for (i = 0; i <= 100; ++i) { 2 | scale = i 3 | 4 * a(1) 4 | } 5 | -------------------------------------------------------------------------------- /testsuite/bc_strings_results.txt: -------------------------------------------------------------------------------- 1 | stringanother stringyet 2 | another 3 | stringnoescapes\nnewline 4 | stringnewline 5 | \\ 6 | -------------------------------------------------------------------------------- /testsuite/bunzip2/bunzip2-reads-from-standard-input: -------------------------------------------------------------------------------- 1 | echo foo | bzip2 | busybox bunzip2 > output 2 | echo foo | cmp - output 3 | -------------------------------------------------------------------------------- /testsuite/bunzip2/bunzip2-removes-compressed-file: -------------------------------------------------------------------------------- 1 | echo foo | bzip2 >foo.bz2 2 | busybox bunzip2 foo.bz2 3 | test ! -f foo.bz2 4 | -------------------------------------------------------------------------------- /testsuite/bz2_issue_11.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/testsuite/bz2_issue_11.bz2 -------------------------------------------------------------------------------- /testsuite/bz2_issue_12.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/testsuite/bz2_issue_12.bz2 -------------------------------------------------------------------------------- /testsuite/bzcat/bzcat-does-not-remove-compressed-file: -------------------------------------------------------------------------------- 1 | echo foo | bzip2 >foo.bz2 2 | busybox bzcat foo.bz2 3 | test -f foo.bz2 4 | -------------------------------------------------------------------------------- /testsuite/cat/cat-prints-a-file: -------------------------------------------------------------------------------- 1 | echo I WANT > foo 2 | busybox cat foo >bar 3 | cmp foo bar 4 | -------------------------------------------------------------------------------- /testsuite/cp/cp-a-preserves-links: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox cp -a bar baz 4 | test -L baz 5 | test xfoo = x`readlink baz` 6 | -------------------------------------------------------------------------------- /testsuite/cp/cp-copies-empty-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox cp foo bar 3 | cmp foo bar 4 | -------------------------------------------------------------------------------- /testsuite/cp/cp-copies-large-file: -------------------------------------------------------------------------------- 1 | dd if=/dev/zero of=foo seek=10k count=1 2>/dev/null 2 | busybox cp foo bar 3 | cmp foo bar 4 | -------------------------------------------------------------------------------- /testsuite/cp/cp-copies-small-file: -------------------------------------------------------------------------------- 1 | echo I WANT > foo 2 | busybox cp foo bar 3 | cmp foo bar 4 | -------------------------------------------------------------------------------- /testsuite/cp/cp-dev-file: -------------------------------------------------------------------------------- 1 | busybox cp /dev/null foo 2 | test -f foo 3 | -------------------------------------------------------------------------------- /testsuite/cp/cp-dir-create-dir: -------------------------------------------------------------------------------- 1 | mkdir bar 2 | touch bar/baz 3 | busybox cp -R bar foo 4 | test -f foo/baz 5 | -------------------------------------------------------------------------------- /testsuite/cp/cp-dir-existing-dir: -------------------------------------------------------------------------------- 1 | mkdir bar 2 | touch bar/baz 3 | mkdir foo 4 | busybox cp -R bar foo 5 | test -f foo/bar/baz 6 | -------------------------------------------------------------------------------- /testsuite/cp/cp-follows-links: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox cp bar baz 4 | test -f baz 5 | -------------------------------------------------------------------------------- /testsuite/cp/cp-preserves-links: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox cp -d bar baz 4 | test -L baz 5 | test xfoo = x`readlink baz` 6 | -------------------------------------------------------------------------------- /testsuite/cp/cp-preserves-source-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox cp foo bar 3 | test -f foo 4 | -------------------------------------------------------------------------------- /testsuite/cut/cut-cuts-a-character: -------------------------------------------------------------------------------- 1 | test $(echo abcd | busybox cut -c 3) = c 2 | -------------------------------------------------------------------------------- /testsuite/cut/cut-cuts-a-closed-range: -------------------------------------------------------------------------------- 1 | test $(echo abcd | busybox cut -c 1-2) = ab 2 | -------------------------------------------------------------------------------- /testsuite/cut/cut-cuts-a-field: -------------------------------------------------------------------------------- 1 | test $($ECHO -e "f1\tf2\tf3" | busybox cut -f 2) = f2 2 | -------------------------------------------------------------------------------- /testsuite/cut/cut-cuts-an-open-range: -------------------------------------------------------------------------------- 1 | test $(echo abcd | busybox cut -c -3) = abc 2 | -------------------------------------------------------------------------------- /testsuite/cut/cut-cuts-an-unclosed-range: -------------------------------------------------------------------------------- 1 | test $(echo abcd | busybox cut -c 3-) = cd 2 | -------------------------------------------------------------------------------- /testsuite/date/date-u-works: -------------------------------------------------------------------------------- 1 | test x"Sat Jan 1 11:22:33 UTC 2000" = x"`TZ=CET-1CEST-2 busybox date -u -d 2000.01.01-11:22:33`" 2 | -------------------------------------------------------------------------------- /testsuite/dc_misc.dc: -------------------------------------------------------------------------------- 1 | zp198202389.289374pzp[Hello, World!]pzpzpfrfczpfR 2 | -------------------------------------------------------------------------------- /testsuite/dcx_vars_results.txt: -------------------------------------------------------------------------------- 1 | 0 2 | -928076157.3971997652 3 | 0 4 | 928673627.1815402348 5 | 0 6 | 928673627.1815402348 7 | -------------------------------------------------------------------------------- /testsuite/dd/dd-accepts-if: -------------------------------------------------------------------------------- 1 | echo I WANT >foo 2 | test "$(busybox dd if=foo 2>/dev/null)" = "I WANT" 3 | -------------------------------------------------------------------------------- /testsuite/dd/dd-accepts-of: -------------------------------------------------------------------------------- 1 | echo I WANT | busybox dd of=foo 2>/dev/null 2 | echo I WANT | cmp foo - 3 | -------------------------------------------------------------------------------- /testsuite/dd/dd-copies-from-standard-input-to-standard-output: -------------------------------------------------------------------------------- 1 | test "$(echo I WANT | busybox dd 2>/dev/null)" = "I WANT" 2 | -------------------------------------------------------------------------------- /testsuite/dd/dd-prints-count-to-standard-error: -------------------------------------------------------------------------------- 1 | echo I WANT | busybox dd of=foo >/dev/null 2>bar 2 | grep -q records bar 3 | -------------------------------------------------------------------------------- /testsuite/dd/dd-reports-write-errors: -------------------------------------------------------------------------------- 1 | busybox dd if="$0" of=/dev/full 2>/dev/null || status=$? 2 | test $status = 1 3 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-absolute-path: -------------------------------------------------------------------------------- 1 | test $(busybox dirname /foo/bar/baz) = /foo/bar 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-empty-path: -------------------------------------------------------------------------------- 1 | test $(busybox dirname '') = . 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-multiple-slashes: -------------------------------------------------------------------------------- 1 | test $(busybox dirname foo/bar///baz) = foo/bar 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-relative-path: -------------------------------------------------------------------------------- 1 | test $(busybox dirname foo/bar/baz) = foo/bar 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-root: -------------------------------------------------------------------------------- 1 | test $(busybox dirname /) = / 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-handles-single-component: -------------------------------------------------------------------------------- 1 | test $(busybox dirname foo) = . 2 | -------------------------------------------------------------------------------- /testsuite/dirname/dirname-works: -------------------------------------------------------------------------------- 1 | test x$(dirname $(pwd)) = x$(busybox dirname $(pwd)) 2 | -------------------------------------------------------------------------------- /testsuite/echo/echo-does-not-print-newline: -------------------------------------------------------------------------------- 1 | # FEATURE: CONFIG_FEATURE_FANCY_ECHO 2 | 3 | test `busybox echo -n word | wc -c` -eq 4 4 | -------------------------------------------------------------------------------- /testsuite/echo/echo-prints-argument: -------------------------------------------------------------------------------- 1 | test xfubar = x`busybox echo fubar` 2 | -------------------------------------------------------------------------------- /testsuite/echo/echo-prints-arguments: -------------------------------------------------------------------------------- 1 | test "`busybox echo foo bar`" = "foo bar" 2 | -------------------------------------------------------------------------------- /testsuite/echo/echo-prints-dash: -------------------------------------------------------------------------------- 1 | # FEATURE: CONFIG_DESKTOP 2 | test "`busybox echo - | od -t x1 | head -n 1`" = "0000000 2d 0a" 3 | -------------------------------------------------------------------------------- /testsuite/echo/echo-prints-newline: -------------------------------------------------------------------------------- 1 | test `busybox echo word | wc -c` -eq 5 2 | -------------------------------------------------------------------------------- /testsuite/echo/echo-prints-non-opts: -------------------------------------------------------------------------------- 1 | # FEATURE: CONFIG_DESKTOP 2 | test "`busybox echo -neEZ | od -t x1 | head -n 1`" = "0000000 2d 6e 65 45 5a 0a" 3 | -------------------------------------------------------------------------------- /testsuite/false/false-is-silent: -------------------------------------------------------------------------------- 1 | busybox false 2>&1 | cmp - /dev/null 2 | -------------------------------------------------------------------------------- /testsuite/false/false-returns-failure: -------------------------------------------------------------------------------- 1 | ! busybox false 2 | -------------------------------------------------------------------------------- /testsuite/find/find-supports-minus-xdev: -------------------------------------------------------------------------------- 1 | # FEATURE: CONFIG_FEATURE_FIND_XDEV 2 | 3 | busybox find . -xdev >/dev/null 2>&1 4 | -------------------------------------------------------------------------------- /testsuite/gunzip.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . ./bunzip2.tests 4 | -------------------------------------------------------------------------------- /testsuite/gunzip/gunzip-reads-from-standard-input: -------------------------------------------------------------------------------- 1 | echo foo | gzip | busybox gunzip > output 2 | echo foo | cmp - output 3 | -------------------------------------------------------------------------------- /testsuite/gzip/gzip-accepts-multiple-files: -------------------------------------------------------------------------------- 1 | touch foo bar 2 | busybox gzip foo bar 3 | test -f foo.gz -a -f bar.gz 4 | -------------------------------------------------------------------------------- /testsuite/gzip/gzip-accepts-single-minus: -------------------------------------------------------------------------------- 1 | echo foo | busybox gzip - >/dev/null 2 | -------------------------------------------------------------------------------- /testsuite/gzip/gzip-removes-original-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox gzip foo 3 | test ! -f foo 4 | -------------------------------------------------------------------------------- /testsuite/hostname/hostname-d-works: -------------------------------------------------------------------------------- 1 | f=$(busybox hostname -f). 2 | d=$(busybox hostname -d) 3 | test x"${f#*.}" = x"$d${d:+.}" 4 | -------------------------------------------------------------------------------- /testsuite/hostname/hostname-s-works: -------------------------------------------------------------------------------- 1 | test x$(hostname -s) = x$(busybox hostname -s) 2 | -------------------------------------------------------------------------------- /testsuite/hostname/hostname-works: -------------------------------------------------------------------------------- 1 | test x$(hostname) = x$(busybox hostname) 2 | -------------------------------------------------------------------------------- /testsuite/id/id-g-works: -------------------------------------------------------------------------------- 1 | test x$(id -g) = x$(busybox id -g) 2 | -------------------------------------------------------------------------------- /testsuite/id/id-u-works: -------------------------------------------------------------------------------- 1 | test x$(id -u) = x$(busybox id -u) 2 | -------------------------------------------------------------------------------- /testsuite/id/id-un-works: -------------------------------------------------------------------------------- 1 | test x$(id -un) = x$(busybox id -un) 2 | -------------------------------------------------------------------------------- /testsuite/id/id-ur-works: -------------------------------------------------------------------------------- 1 | test x$(id -ur) = x$(busybox id -ur) 2 | -------------------------------------------------------------------------------- /testsuite/ln/ln-creates-hard-links: -------------------------------------------------------------------------------- 1 | echo file number one > file1 2 | busybox ln file1 link1 3 | test -f file1 4 | test -f link1 5 | -------------------------------------------------------------------------------- /testsuite/ln/ln-creates-soft-links: -------------------------------------------------------------------------------- 1 | echo file number one > file1 2 | busybox ln -s file1 link1 3 | test -L link1 4 | test xfile1 = x`readlink link1` 5 | -------------------------------------------------------------------------------- /testsuite/ls.mk_uni_tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/testsuite/ls.mk_uni_tests -------------------------------------------------------------------------------- /testsuite/mkdir/mkdir-makes-a-directory: -------------------------------------------------------------------------------- 1 | busybox mkdir foo 2 | test -d foo 3 | -------------------------------------------------------------------------------- /testsuite/mkdir/mkdir-makes-parent-directories: -------------------------------------------------------------------------------- 1 | busybox mkdir -p foo/bar 2 | test -d foo -a -d foo/bar 3 | -------------------------------------------------------------------------------- /testsuite/mv/mv-follows-links: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox mv bar baz 4 | test -f baz 5 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-empty-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox mv foo bar 3 | test ! -e foo 4 | test -f bar 5 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox mv foo bar 3 | test ! -f foo -a -f bar 4 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-hardlinks: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln foo bar 3 | busybox mv bar baz 4 | test ! -f bar -a -f baz 5 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-large-file: -------------------------------------------------------------------------------- 1 | dd if=/dev/zero of=foo seek=10k count=1 2>/dev/null 2 | busybox mv foo bar 3 | test ! -e foo 4 | test -f bar 5 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-small-file: -------------------------------------------------------------------------------- 1 | echo I WANT > foo 2 | busybox mv foo bar 3 | test ! -e foo 4 | test -f bar 5 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-symlinks: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox mv bar baz 4 | test -f foo 5 | test ! -e bar 6 | test -L baz 7 | -------------------------------------------------------------------------------- /testsuite/mv/mv-moves-unreadable-files: -------------------------------------------------------------------------------- 1 | touch foo 2 | chmod a-r foo 3 | busybox mv foo bar 4 | test ! -e foo 5 | test -f bar 6 | -------------------------------------------------------------------------------- /testsuite/mv/mv-preserves-links: -------------------------------------------------------------------------------- 1 | touch foo 2 | ln -s foo bar 3 | busybox mv bar baz 4 | test -L baz 5 | test xfoo = x`readlink baz` 6 | -------------------------------------------------------------------------------- /testsuite/mv/mv-removes-source-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox mv foo bar 3 | test ! -e foo 4 | test -f bar 5 | -------------------------------------------------------------------------------- /testsuite/rm/rm-removes-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | busybox rm foo 3 | test ! -f foo 4 | -------------------------------------------------------------------------------- /testsuite/rmdir/rmdir-removes-parent-directories: -------------------------------------------------------------------------------- 1 | mkdir -p foo/bar 2 | busybox rmdir -p foo/bar 3 | test ! -d foo 4 | -------------------------------------------------------------------------------- /testsuite/sha1sum.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . ./md5sum.tests sha1sum d41337e834377140ae7f98460d71d908598ef04f 4 | -------------------------------------------------------------------------------- /testsuite/sha256sum.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . ./md5sum.tests sha256sum 8e1d3ed57ebc130f0f72508446559eeae06451ae6d61b1e8ce46370cfb8963c3 4 | -------------------------------------------------------------------------------- /testsuite/sha3sum.tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . ./md5sum.tests sha3sum 11659f09370139f8ef384f4a6260947fafa6e4fcd87a1ef3f35410e9 4 | -------------------------------------------------------------------------------- /testsuite/tar.utf8.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/testsuite/tar.utf8.tar.bz2 -------------------------------------------------------------------------------- /testsuite/tar/tar-complains-about-missing-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | tar cf foo.tar foo 3 | ! busybox tar xf foo.tar bar 4 | -------------------------------------------------------------------------------- /testsuite/tar/tar-demands-at-least-one-ctx: -------------------------------------------------------------------------------- 1 | ! busybox tar v 2 | -------------------------------------------------------------------------------- /testsuite/tar/tar-demands-at-most-one-ctx: -------------------------------------------------------------------------------- 1 | ! busybox tar tx 2 | -------------------------------------------------------------------------------- /testsuite/tar/tar-extracts-file: -------------------------------------------------------------------------------- 1 | touch foo 2 | tar cf foo.tar foo 3 | rm foo 4 | busybox tar xf foo.tar 5 | test -f foo 6 | -------------------------------------------------------------------------------- /testsuite/tar/tar-extracts-from-standard-input: -------------------------------------------------------------------------------- 1 | touch foo 2 | tar cf foo.tar foo 3 | rm foo 4 | cat foo.tar | busybox tar x 5 | test -f foo 6 | -------------------------------------------------------------------------------- /testsuite/tar/tar-extracts-to-standard-output: -------------------------------------------------------------------------------- 1 | echo foo > foo 2 | tar cf foo.tar foo 3 | cat foo.tar | busybox tar Ox | cmp foo - 4 | -------------------------------------------------------------------------------- /testsuite/tee/tee-tees-input: -------------------------------------------------------------------------------- 1 | echo i\'m a little teapot >foo 2 | echo i\'m a little teapot | busybox tee bar >baz 3 | cmp foo bar && cmp foo baz 4 | -------------------------------------------------------------------------------- /testsuite/touch/touch-creates-file: -------------------------------------------------------------------------------- 1 | busybox touch foo 2 | test -f foo 3 | -------------------------------------------------------------------------------- /testsuite/touch/touch-does-not-create-file: -------------------------------------------------------------------------------- 1 | busybox touch -c foo 2 | test ! -f foo 3 | -------------------------------------------------------------------------------- /testsuite/tr/tr-non-gnu: -------------------------------------------------------------------------------- 1 | echo fdhrnzvfu bffvsentr | busybox tr '[a-z]' '[n-z][a-m]' 2 | -------------------------------------------------------------------------------- /testsuite/true/true-is-silent: -------------------------------------------------------------------------------- 1 | busybox true 2>&1 | cmp - /dev/null 2 | -------------------------------------------------------------------------------- /testsuite/true/true-returns-success: -------------------------------------------------------------------------------- 1 | busybox true 2 | -------------------------------------------------------------------------------- /testsuite/uptime/uptime-works: -------------------------------------------------------------------------------- 1 | busybox uptime 2 | -------------------------------------------------------------------------------- /testsuite/wc/wc-counts-characters: -------------------------------------------------------------------------------- 1 | test `echo i\'m a little teapot | busybox wc -c` -eq 20 2 | -------------------------------------------------------------------------------- /testsuite/wc/wc-counts-lines: -------------------------------------------------------------------------------- 1 | test `echo i\'m a little teapot | busybox wc -l` -eq 1 2 | -------------------------------------------------------------------------------- /testsuite/wc/wc-counts-words: -------------------------------------------------------------------------------- 1 | test `echo i\'m a little teapot | busybox wc -w` -eq 4 2 | -------------------------------------------------------------------------------- /testsuite/wc/wc-prints-longest-line-length: -------------------------------------------------------------------------------- 1 | test `echo i\'m a little teapot | busybox wc -L` -eq 19 2 | -------------------------------------------------------------------------------- /testsuite/wget/wget-handles-empty-path: -------------------------------------------------------------------------------- 1 | test x"$SKIP_INTERNET_TESTS" != x"" && exit 2 | 3 | busybox wget http://www.google.com 4 | -------------------------------------------------------------------------------- /testsuite/which/which-uses-default-path: -------------------------------------------------------------------------------- 1 | BUSYBOX=$(command -v busybox) 2 | SAVED_PATH=$PATH 3 | unset PATH 4 | $BUSYBOX which ls 5 | -------------------------------------------------------------------------------- /win32/arpa/inet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/arpa/inet.h -------------------------------------------------------------------------------- /win32/grp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/grp.h -------------------------------------------------------------------------------- /win32/net/if.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/net/if.h -------------------------------------------------------------------------------- /win32/netdb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/netdb.h -------------------------------------------------------------------------------- /win32/netinet/in.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/netinet/in.h -------------------------------------------------------------------------------- /win32/paths.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/paths.h -------------------------------------------------------------------------------- /win32/pwd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/pwd.h -------------------------------------------------------------------------------- /win32/resources/aterm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/resources/aterm.ico -------------------------------------------------------------------------------- /win32/resources/dummy.c: -------------------------------------------------------------------------------- 1 | extern void wibble(void); 2 | void wibble(void) {} 3 | -------------------------------------------------------------------------------- /win32/resources/sterm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/resources/sterm.ico -------------------------------------------------------------------------------- /win32/sched.h: -------------------------------------------------------------------------------- 1 | static inline void sched_yield(void) {} 2 | -------------------------------------------------------------------------------- /win32/sys/inotify.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/inotify.h -------------------------------------------------------------------------------- /win32/sys/ioctl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/ioctl.h -------------------------------------------------------------------------------- /win32/sys/mman.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/mman.h -------------------------------------------------------------------------------- /win32/sys/select.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/select.h -------------------------------------------------------------------------------- /win32/sys/socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/socket.h -------------------------------------------------------------------------------- /win32/sys/statvfs.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define statvfs statfs 4 | -------------------------------------------------------------------------------- /win32/sys/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/syscall.h -------------------------------------------------------------------------------- /win32/sys/sysmacros.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/sysmacros.h -------------------------------------------------------------------------------- /win32/sys/times.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/times.h -------------------------------------------------------------------------------- /win32/sys/un.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/un.h -------------------------------------------------------------------------------- /win32/sys/wait.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/git-for-windows/busybox-w32/f7d20424b53b21fcb9161ab3153d3d89258ddd97/win32/sys/wait.h --------------------------------------------------------------------------------